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>2017-03-12 06:18:37 +0300
committerBenjamin Neff <benjamin@coding4coffee.ch>2017-03-12 06:18:52 +0300
commita9c282d98609b4c09d38aa86fff5d1ab7af4f77f (patch)
tree95b8563eb58f05f0c005ce5bcb14e0c52d499391
parent1702cc1c86be6a52922117ebafb5d0b1521a5ab7 (diff)
parent2c6101fbbdb29a2af217360654ed04b48c7731f5 (diff)
Merge branch 'release/0.6.4.0'v0.6.4.0
-rw-r--r--.rubocop.yml24
-rw-r--r--Changelog.md23
-rw-r--r--Gemfile138
-rw-r--r--Gemfile.lock622
-rw-r--r--app/assets/images/buttons/liberapay-button.svg10
-rw-r--r--app/assets/javascripts/app/helpers/modal_helper.js1
-rw-r--r--app/assets/javascripts/app/helpers/text_formatter.js9
-rw-r--r--app/assets/javascripts/app/views/hovercard_view.js2
-rw-r--r--app/assets/javascripts/jasmine-load-all.js2
-rw-r--r--app/assets/javascripts/main.js2
-rw-r--r--app/assets/javascripts/mobile/mobile.js2
-rw-r--r--app/assets/stylesheets/_mixins.scss4
-rw-r--r--app/assets/stylesheets/base.scss4
-rw-r--r--app/assets/stylesheets/bootstrap-variables.scss4
-rw-r--r--app/assets/stylesheets/color_themes/_color_theme_override.scss13
-rw-r--r--app/assets/stylesheets/color_themes/_color_theme_override_dark.scss4
-rw-r--r--app/assets/stylesheets/comments.scss2
-rw-r--r--app/assets/stylesheets/conversations.scss6
-rw-r--r--app/assets/stylesheets/header.scss4
-rw-r--r--app/assets/stylesheets/hovercard.scss1
-rw-r--r--app/assets/stylesheets/markdown-editor.scss2
-rw-r--r--app/assets/stylesheets/navbar_left.scss9
-rw-r--r--app/assets/stylesheets/opengraph.scss2
-rw-r--r--app/assets/stylesheets/publisher.scss2
-rw-r--r--app/assets/stylesheets/single-post-view.scss8
-rw-r--r--app/assets/stylesheets/stream_element.scss1
-rw-r--r--app/assets/stylesheets/tag.scss8
-rw-r--r--app/assets/templates/stream-element_tpl.jst.hbs2
-rw-r--r--app/controllers/likes_controller.rb57
-rw-r--r--app/controllers/reshares_controller.rb28
-rw-r--r--app/helpers/application_helper.rb6
-rw-r--r--app/helpers/aspect_global_helper.rb14
-rw-r--r--app/helpers/interim_stream_hackiness_helper.rb8
-rw-r--r--app/helpers/publisher_helper.rb36
-rw-r--r--app/helpers/report_helper.rb2
-rw-r--r--app/models/acts_as_taggable_on-tag.rb2
-rw-r--r--app/models/services/twitter.rb2
-rw-r--r--app/services/like_service.rb33
-rw-r--r--app/services/reshare_service.rb24
-rw-r--r--app/views/admins/stats.html.haml10
-rw-r--r--app/views/aspects/_aspect_dropdown.html.haml6
-rw-r--r--app/views/contacts/_sidebar.html.haml26
-rw-r--r--app/views/likes/_likes.haml6
-rw-r--r--app/views/likes/index.html.haml1
-rw-r--r--app/views/publisher/_publisher.html.haml4
-rw-r--r--app/views/shared/_donatepod.html.haml38
-rw-r--r--app/views/streams/main_stream.html.haml4
-rwxr-xr-xbin/spring7
-rw-r--r--config/application.rb3
-rw-r--r--config/database.yml.example4
-rw-r--r--config/defaults.yml3
-rw-r--r--config/diaspora.yml.example4
-rw-r--r--config/locales/devise/devise.oc.yml4
-rw-r--r--config/locales/diaspora/da.yml9
-rw-r--r--config/locales/diaspora/de-CH.yml29
-rw-r--r--config/locales/diaspora/de-moo.yml632
-rw-r--r--config/locales/diaspora/de.yml23
-rw-r--r--config/locales/diaspora/de_formal.yml17
-rw-r--r--config/locales/diaspora/en.yml9
-rw-r--r--config/locales/diaspora/en_1337.yml11
-rw-r--r--config/locales/diaspora/en_pirate.yml31
-rw-r--r--config/locales/diaspora/es-AR.yml3
-rw-r--r--config/locales/diaspora/fr.yml3
-rw-r--r--config/locales/diaspora/it.yml1
-rw-r--r--config/locales/diaspora/ja.yml1
-rw-r--r--config/locales/diaspora/oc.yml71
-rw-r--r--config/locales/diaspora/pt-BR.yml17
-rw-r--r--config/locales/diaspora/ru.yml2
-rw-r--r--config/locales/diaspora/sc.yml4
-rw-r--r--config/locales/diaspora/sk.yml133
-rw-r--r--config/locales/diaspora/sv.yml1
-rw-r--r--config/locales/diaspora/te.yml46
-rw-r--r--config/locales/diaspora/th.yml15
-rw-r--r--config/locales/diaspora/zh-TW.yml2
-rw-r--r--config/locales/javascript/javascript.de-CH.yml4
-rw-r--r--config/locales/javascript/javascript.fr.yml2
-rw-r--r--config/locales/javascript/javascript.oc.yml23
-rw-r--r--config/locales/javascript/javascript.pt-BR.yml4
-rw-r--r--config/locales/javascript/javascript.te.yml16
-rw-r--r--config/locales/javascript/javascript.uk.yml15
-rw-r--r--features/desktop/donations.feature7
-rw-r--r--features/desktop/signs_up.feature5
-rw-r--r--features/step_definitions/custom_web_steps.rb8
-rw-r--r--features/support/webmock.rb2
-rw-r--r--lib/assets/javascripts/posix-bracket-expressions.js1803
-rw-r--r--lib/node_info.rb2
-rw-r--r--lib/tasks/assets.rake27
-rwxr-xr-xscript/server2
-rw-r--r--spec/controllers/admins_controller_spec.rb12
-rw-r--r--spec/controllers/api/openid_connect/clients_controller_spec.rb21
-rw-r--r--spec/controllers/likes_controller_spec.rb233
-rw-r--r--spec/controllers/reshares_controller_spec.rb5
-rw-r--r--spec/helpers/application_helper_spec.rb28
-rw-r--r--spec/helpers/publisher_helper_spec.rb69
-rw-r--r--spec/javascripts/app/helpers/text_formatter_spec.js37
-rw-r--r--spec/javascripts/mobile/mobile_comments_spec.js2
-rw-r--r--spec/lib/diaspora/taggable_spec.rb36
-rw-r--r--spec/services/comment_service_spec.rb2
-rw-r--r--spec/services/like_service_spec.rb121
-rw-r--r--spec/services/reshare_service.rb107
-rw-r--r--spec/shared_behaviors/taggable.rb26
101 files changed, 3527 insertions, 1395 deletions
diff --git a/.rubocop.yml b/.rubocop.yml
index 2ee483e70..fae72b1a6 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -25,6 +25,15 @@ Metrics/ModuleLength:
Metrics/AbcSize:
Max: 20
+# Some blocks are longer.
+Metrics/BlockLength:
+ ExcludedMethods:
+ - "namespace"
+ - "create_table"
+ Exclude:
+ - "config/**/*.rb"
+ - "spec/**/*.rb"
+
# No space makes the method definition shorter and differentiates
# from a regular assignment.
Style/SpaceAroundEqualsInParameterDefault:
@@ -51,7 +60,7 @@ Style/HashSyntax:
EnforcedStyle: ruby19_no_mixed_keys
# has_key? and has_value? are far more readable than key? and value?
-Style/DeprecatedHashMethods:
+Style/PreferredHashMethods:
Enabled: false
# String#% is by far the least verbose and only object oriented variant.
@@ -147,7 +156,20 @@ Style/OpMethod:
Lint/Debugger:
Enabled: false
+# We used comparison everywhere.
+Style/NumericPredicate:
+ EnforcedStyle: comparison
# Reset some HoundCI changes back to Rubocop defaults
Style/DotPosition:
EnforcedStyle: leading
+
+### backward compatibility
+
+# only with ruby >= 2.3
+Style/FrozenStringLiteralComment:
+ Enabled: false
+
+# only with ruby >= 2.4
+Performance/RegexpMatch:
+ Enabled: false
diff --git a/Changelog.md b/Changelog.md
index d01cf0152..b360d79b8 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,26 @@
+# 0.6.4.0
+
+## Refactor
+* Unify link colors [#7318](https://github.com/diaspora/diaspora/pull/7318)
+* Increase time to wait before showing the hovercard [#7319](https://github.com/diaspora/diaspora/pull/7319)
+* Remove some unused color-theme overrides [#7325](https://github.com/diaspora/diaspora/pull/7325)
+* Change color of author-name on hover [#7326](https://github.com/diaspora/diaspora/pull/7326)
+* Add like and reshare services [#7337](https://github.com/diaspora/diaspora/pull/7337)
+
+## Bug fixes
+* Fix path to `bundle` in `script/server` [#7281](https://github.com/diaspora/diaspora/pull/7281)
+* Update comment in database example config [#7282](https://github.com/diaspora/diaspora/pull/7282)
+* Make the \#newhere post public again [#7311](https://github.com/diaspora/diaspora/pull/7311)
+* Remove whitespace from author link [#7330](https://github.com/diaspora/diaspora/pull/7330)
+* Fix autosize in modals [#7339](https://github.com/diaspora/diaspora/pull/7339)
+* Only display invite link on contacts page if invitations are enabled [#7342](https://github.com/diaspora/diaspora/pull/7342)
+* Fix regex for hashtags for some languages [#7350](https://github.com/diaspora/diaspora/pull/7350)
+* Create asterisk.png without digest after precompile [#7322](https://github.com/diaspora/diaspora/pull/7322)
+
+## Features
+* Add support for [Liberapay](https://liberapay.com) donations [#7290](https://github.com/diaspora/diaspora/pull/7290)
+* Added a link to the community guidelines :) [#7298](https://github.com/diaspora/diaspora/pull/7298)
+
# 0.6.3.0
## Refactor
diff --git a/Gemfile b/Gemfile
index 08656edb3..aa5951a1f 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,6 +1,6 @@
source "https://rubygems.org"
-gem "rails", "4.2.7.1"
+gem "rails", "4.2.8"
# Legacy Rails features, remove me!
# responders (class level)
@@ -8,18 +8,18 @@ gem "responders", "2.3.0"
# Appserver
-gem "unicorn", "5.1.0", require: false
+gem "unicorn", "5.2.0", require: false
gem "unicorn-worker-killer", "0.4.4"
# Federation
-gem "diaspora_federation-rails", "0.1.7"
+gem "diaspora_federation-rails", "0.1.8"
# API and JSON
-gem "acts_as_api", "0.4.3"
-gem "json", "1.8.3"
-gem "json-schema", "2.7.0"
+gem "acts_as_api", "1.0.0"
+gem "json", "1.8.6"
+gem "json-schema", "2.8.0"
# Authentication
@@ -28,19 +28,19 @@ gem "devise_lastseenable", "0.0.6"
# Captcha
-gem "simple_captcha2", "0.4.0", require: "simple_captcha"
+gem "simple_captcha2", "0.4.3", require: "simple_captcha"
# Background processing
-gem "sidekiq", "4.2.2"
+gem "sidekiq", "4.2.9"
# Scheduled processing
-gem "sidekiq-cron", "0.4.4"
+gem "sidekiq-cron", "0.4.5"
# Compression
-gem "uglifier", "3.0.2"
+gem "uglifier", "3.1.2"
# Configuration
@@ -48,78 +48,78 @@ gem "configurate", "0.3.1"
# Cross-origin resource sharing
-gem "rack-cors", "0.4.0", require: "rack/cors"
+gem "rack-cors", "0.4.1", require: "rack/cors"
# CSS
-gem "bootstrap-sass", "3.3.7"
-gem "compass-rails", "2.0.5"
-gem "sass-rails", "5.0.6"
-gem "autoprefixer-rails", "6.5.1"
+gem "autoprefixer-rails", "6.7.6"
+gem "bootstrap-sass", "3.3.7"
gem "bootstrap-switch-rails", "3.3.3"
+gem "compass-rails", "2.0.5"
+gem "sass-rails", "5.0.6"
# Database
group :mysql, optional: true do
- gem "mysql2", "0.4.4"
+ gem "mysql2", "0.4.5"
end
group :postgresql, optional: true do
gem "pg", "0.19.0"
end
-gem "activerecord-import", "0.15.0"
+gem "activerecord-import", "0.17.1"
# File uploading
-gem "fog", "1.38.0", require: "fog/aws"
+gem "fog-aws", "1.2.1"
gem "carrierwave", "0.11.2"
-gem "mini_magick", "4.5.1"
+gem "mini_magick", "4.6.1"
# GUID generation
gem "uuid", "2.3.8"
# Icons
-gem "entypo-rails", "3.0.0.pre.rc2"
+gem "entypo-rails", "3.0.0"
# JavaScript
gem "handlebars_assets", "0.23.1"
gem "jquery-rails", "4.2.1"
gem "jquery-ui-rails", "5.0.5"
+gem "js-routes", "1.3.3"
gem "js_image_paths", "0.1.0"
-gem "js-routes", "1.2.9"
source "https://rails-assets.org" do
gem "rails-assets-jquery", "2.2.4" # Should be kept in sync with jquery-rails
- gem "rails-assets-markdown-it", "8.2.2"
+ gem "rails-assets-highlightjs", "9.9.0"
+ gem "rails-assets-markdown-it", "8.3.0"
gem "rails-assets-markdown-it-hashtag", "0.4.0"
- gem "rails-assets-markdown-it-diaspora-mention", "1.1.0"
+ gem "rails-assets-markdown-it-diaspora-mention", "1.1.1"
gem "rails-assets-markdown-it-sanitizer", "0.4.3"
gem "rails-assets-markdown-it--markdown-it-for-inline", "0.1.1"
gem "rails-assets-markdown-it-sub", "1.0.0"
gem "rails-assets-markdown-it-sup", "1.0.0"
- gem "rails-assets-highlightjs", "9.7.0"
gem "rails-assets-backbone", "1.3.3"
gem "rails-assets-bootstrap-markdown", "2.10.0"
- gem "rails-assets-corejs-typeahead", "1.0.1"
- gem "rails-assets-fineuploader-dist", "5.11.0"
+ gem "rails-assets-corejs-typeahead", "1.1.1"
+ gem "rails-assets-fine-uploader", "5.13.0"
# jQuery plugins
- gem "rails-assets-jquery-placeholder", "2.3.1"
- gem "rails-assets-jquery-textchange", "0.2.3"
- gem "rails-assets-perfect-scrollbar", "0.6.12"
- gem "rails-assets-autosize", "3.0.20"
- gem "rails-assets-blueimp-gallery", "2.21.3"
+ gem "rails-assets-autosize", "3.0.20"
+ gem "rails-assets-blueimp-gallery", "2.25.0"
+ gem "rails-assets-jquery-placeholder", "2.3.1"
+ gem "rails-assets-jquery-textchange", "0.2.3"
+ gem "rails-assets-perfect-scrollbar", "0.6.16"
end
# Localization
-gem "http_accept_language", "2.0.5"
+gem "http_accept_language", "2.1.0"
gem "i18n-inflector-rails", "1.0.7"
gem "rails-i18n", "4.0.8"
@@ -132,11 +132,11 @@ gem "leaflet-rails", "0.7.7"
# Parsing
-gem "nokogiri", "1.6.8.1"
-gem "redcarpet", "3.3.4"
-gem "twitter-text", "1.14.0"
+gem "nokogiri", "1.7.0.1"
+gem "open_graph_reader", "0.6.2" # also update User-Agent in features/support/webmock.rb
+gem "redcarpet", "3.4.0"
gem "ruby-oembed", "0.10.1"
-gem "open_graph_reader", "0.6.1"
+gem "twitter-text", "1.14.5"
# RTL support
@@ -144,15 +144,15 @@ gem "string-direction", "1.2.0"
# Security Headers
-gem "secure_headers", "3.5.0"
+gem "secure_headers", "3.6.1"
# Services
-gem "omniauth", "1.3.1"
+gem "omniauth", "1.4.2"
gem "omniauth-facebook", "4.0.0"
gem "omniauth-tumblr", "1.2"
-gem "omniauth-twitter", "1.2.1"
-gem "twitter", "5.16.0"
+gem "omniauth-twitter", "1.4.0"
+gem "twitter", "6.1.0"
gem "omniauth-wordpress", "0.2.2"
# OpenID Connect
@@ -172,16 +172,16 @@ gem "acts-as-taggable-on", "3.5.0"
# URIs and HTTP
-gem "addressable", "2.4.0", require: "addressable/uri"
-gem "faraday", "0.9.2"
-gem "faraday_middleware", "0.10.0"
+gem "addressable", "2.5.0", require: "addressable/uri"
+gem "faraday", "0.11.0" # also update User-Agent in OpenID specs
+gem "faraday_middleware", "0.11.0.1"
gem "faraday-cookie_jar", "0.0.6"
-gem "typhoeus", "1.1.0"
+gem "typhoeus", "1.1.2"
# Views
gem "gon", "6.1.0"
-gem "hamlit", "2.7.5"
+gem "hamlit", "2.8.0"
gem "mobile-fu", "1.3.1"
gem "will_paginate", "3.1.5"
gem "rails-timeago", "2.11.0"
@@ -192,7 +192,7 @@ gem "logging-rails", "0.5.0", require: "logging/rails"
# Reading and writing zip files
-gem "rubyzip", "1.2.0", require: "zip"
+gem "rubyzip", "1.2.1", require: "zip"
# Prevent occasions where minitest is not bundled in
# packaged versions of ruby. See following issues/prs:
@@ -203,6 +203,12 @@ gem "minitest"
gem "versionist", "1.5.0"
+# Prevent accidental upgrades of thor
+# TODO: remove this when either all gems depending on thor have fixed the warnings
+# or thor released a version where they are clearly marked as warnings
+# see: https://github.com/erikhuda/thor/issues/538
+gem "thor", "0.19.1"
+
# Windows and OSX have an execjs compatible runtime built-in, Linux users should
# install Node.js or use "therubyracer".
#
@@ -222,7 +228,7 @@ group :production do # we don"t install these on travis to speed up test runs
# Process management
- gem "eye", "0.8.1"
+ gem "eye", "0.9.1"
# Redirects
@@ -231,30 +237,30 @@ group :production do # we don"t install these on travis to speed up test runs
# Third party asset hosting
- gem "asset_sync", "1.1.0", require: false
+ gem "asset_sync", "2.0.0", require: false
end
group :development do
# Automatic test runs
- gem "guard", "2.14.0", require: false
+ gem "guard", "2.14.1", require: false
gem "guard-cucumber", "2.1.2", require: false
gem "guard-rspec", "4.7.3", require: false
gem "guard-rubocop", "1.2.0", require: false
- gem "rb-fsevent", "0.9.7", require: false
- gem "rb-inotify", "0.9.7", require: false
+ gem "rb-fsevent", "0.9.8", require: false
+ gem "rb-inotify", "0.9.8", require: false
# Linters
- gem "rubocop", "0.40.0"
- gem "haml_lint", "0.18.2"
- gem "pronto", "0.7.1"
- gem "pronto-eslint", "0.7.0"
- gem "pronto-rubocop", "0.7.0"
- gem "pronto-haml", "0.7.0"
- gem "pronto-scss", "0.7.0", require: false
+ gem "haml_lint", "0.21.0"
+ gem "pronto", "0.8.2"
+ gem "pronto-eslint", "0.8.0"
+ gem "pronto-haml", "0.8.0"
+ gem "pronto-rubocop", "0.8.0"
+ gem "pronto-scss", "0.8.0", require: false
+ gem "rubocop", "0.47.1"
# Preloading environment
- gem "spring", "2.0.0"
+ gem "spring", "2.0.1"
gem "spring-commands-rspec", "1.0.4"
gem "spring-commands-cucumber", "1.0.1"
@@ -277,21 +283,21 @@ group :test do
# Cucumber (integration tests)
- gem "capybara", "2.10.1"
+ gem "capybara", "2.12.1"
gem "database_cleaner", "1.5.3"
- gem "poltergeist", "1.11.0"
+ gem "poltergeist", "1.13.0"
gem "cucumber-api-steps", "0.13", require: false
gem "json_spec", "1.1.4"
# General helpers
- gem "factory_girl_rails", "4.7.0"
+ gem "factory_girl_rails", "4.8.0"
gem "timecop", "0.8.1"
- gem "webmock", "2.1.0", require: false
+ gem "webmock", "2.3.2", require: false
gem "shoulda-matchers", "3.1.1"
- gem "diaspora_federation-test", "0.1.7"
+ gem "diaspora_federation-test", "0.1.8"
# Coverage
gem 'coveralls', require: false
@@ -305,9 +311,9 @@ group :development, :test do
gem "cucumber-rails", "1.4.5", require: false
# Jasmine (client side application tests (JS))
- gem "jasmine", "2.5.1"
+ gem "jasmine", "2.5.2"
gem "jasmine-jquery-rails", "2.0.3"
- gem "rails-assets-jasmine-ajax", "3.2.0", source: "https://rails-assets.org"
+ gem "rails-assets-jasmine-ajax", "3.3.1", source: "https://rails-assets.org"
gem "sinon-rails", "1.15.0"
# silence assets
diff --git a/Gemfile.lock b/Gemfile.lock
index ab4a78f3b..562226990 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -2,72 +2,72 @@ GEM
remote: https://rubygems.org/
remote: https://rails-assets.org/
specs:
- CFPropertyList (2.3.2)
- actionmailer (4.2.7.1)
- actionpack (= 4.2.7.1)
- actionview (= 4.2.7.1)
- activejob (= 4.2.7.1)
+ actionmailer (4.2.8)
+ actionpack (= 4.2.8)
+ actionview (= 4.2.8)
+ activejob (= 4.2.8)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.5)
- actionpack (4.2.7.1)
- actionview (= 4.2.7.1)
- activesupport (= 4.2.7.1)
+ actionpack (4.2.8)
+ actionview (= 4.2.8)
+ activesupport (= 4.2.8)
rack (~> 1.6)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (4.2.7.1)
- activesupport (= 4.2.7.1)
+ actionview (4.2.8)
+ activesupport (= 4.2.8)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.5)
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
active_model_serializers (0.9.5)
activemodel (>= 3.2)
- activejob (4.2.7.1)
- activesupport (= 4.2.7.1)
+ activejob (4.2.8)
+ activesupport (= 4.2.8)
globalid (>= 0.3.0)
- activemodel (4.2.7.1)
- activesupport (= 4.2.7.1)
+ activemodel (4.2.8)
+ activesupport (= 4.2.8)
builder (~> 3.1)
- activerecord (4.2.7.1)
- activemodel (= 4.2.7.1)
- activesupport (= 4.2.7.1)
+ activerecord (4.2.8)
+ activemodel (= 4.2.8)
+ activesupport (= 4.2.8)
arel (~> 6.0)
- activerecord-import (0.15.0)
+ activerecord-import (0.17.1)
activerecord (>= 3.2)
- activesupport (4.2.7.1)
+ activesupport (4.2.8)
i18n (~> 0.7)
- json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
acts-as-taggable-on (3.5.0)
activerecord (>= 3.2, < 5)
- acts_as_api (0.4.3)
+ acts_as_api (1.0.0)
activemodel (>= 3.0.0)
activesupport (>= 3.0.0)
rack (>= 1.1.0)
- addressable (2.4.0)
+ addressable (2.5.0)
+ public_suffix (~> 2.0, >= 2.0.2)
arel (6.0.4)
- asset_sync (1.1.0)
+ asset_sync (2.0.0)
activemodel
- fog (>= 1.8.0)
+ fog-core
+ mime-types
unf
ast (2.3.0)
attr_required (1.0.1)
- autoprefixer-rails (6.5.1)
+ autoprefixer-rails (6.7.6)
execjs
bcrypt (3.1.11)
- bindata (2.3.1)
+ bindata (2.3.5)
bootstrap-sass (3.3.7)
autoprefixer-rails (>= 5.2.1)
sass (>= 3.3.4)
bootstrap-switch-rails (3.3.3)
buftok (0.2.0)
- builder (3.2.2)
- byebug (9.0.5)
- capybara (2.10.1)
+ builder (3.2.3)
+ byebug (9.0.6)
+ capybara (2.12.1)
addressable
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
@@ -101,7 +101,7 @@ GEM
timers (>= 4.1.1)
celluloid-supervision (0.20.6)
timers (>= 4.1.1)
- chunky_png (1.3.6)
+ chunky_png (1.3.8)
cliver (0.3.2)
coderay (1.1.1)
coffee-rails (4.2.1)
@@ -110,7 +110,7 @@ GEM
coffee-script (2.4.1)
coffee-script-source
execjs
- coffee-script-source (1.10.0)
+ coffee-script-source (1.12.2)
compass (1.0.3)
chunky_png (~> 1.2)
compass-core (~> 1.0.2)
@@ -127,15 +127,15 @@ GEM
compass (~> 1.0.0)
sass-rails (< 5.1)
sprockets (< 2.13)
- concurrent-ruby (1.0.2)
+ concurrent-ruby (1.0.5)
configurate (0.3.1)
- connection_pool (2.2.0)
- coveralls (0.8.15)
+ connection_pool (2.2.1)
+ coveralls (0.8.19)
json (>= 1.8, < 3)
simplecov (~> 0.12.0)
term-ansicolor (~> 1.3)
thor (~> 0.19.1)
- tins (>= 1.6.0, < 2)
+ tins (~> 1.6)
crack (0.4.3)
safe_yaml (~> 1.0.0)
cucumber (2.4.0)
@@ -170,25 +170,26 @@ GEM
devise
rails (>= 3.0.4)
diaspora-prosody-config (0.0.7)
- diaspora_federation (0.1.7)
- faraday (>= 0.9.0, < 0.11.0)
- faraday_middleware (~> 0.10.0)
+ diaspora_federation (0.1.8)
+ faraday (>= 0.9.0, < 0.12.0)
+ faraday_middleware (>= 0.10.0, < 0.12.0)
nokogiri (~> 1.6, >= 1.6.8)
typhoeus (~> 1.0)
valid (~> 1.0)
- diaspora_federation-rails (0.1.7)
- diaspora_federation (= 0.1.7)
+ diaspora_federation-rails (0.1.8)
+ diaspora_federation (= 0.1.8)
rails (>= 4.2, < 6)
- diaspora_federation-test (0.1.7)
- diaspora_federation (= 0.1.7)
+ diaspora_federation-test (0.1.8)
+ diaspora_federation (= 0.1.8)
factory_girl (~> 4.7)
- diff-lcs (1.2.5)
+ uuid (~> 2.3.8)
+ diff-lcs (1.3)
docile (1.1.5)
- domain_name (0.5.20160615)
+ domain_name (0.5.20170223)
unf (>= 0.0.5, < 1.0.0)
- entypo-rails (3.0.0.pre.rc2)
- railties (>= 4.1, <= 5)
- equalizer (0.0.10)
+ entypo-rails (3.0.0)
+ railties (>= 4.1, < 6)
+ equalizer (0.0.11)
erubis (2.7.0)
eslintrb (2.1.0)
execjs
@@ -196,160 +197,46 @@ GEM
rake
ethon (0.10.1)
ffi (>= 1.3.0)
- excon (0.49.0)
+ excon (0.55.0)
execjs (2.7.0)
- eye (0.8.1)
+ eye (0.9.1)
celluloid (~> 0.17.3)
celluloid-io (~> 0.17.0)
sigar (~> 0.7.3)
- state_machine
+ state_machines
thor
- factory_girl (4.7.0)
+ factory_girl (4.8.0)
activesupport (>= 3.0.0)
- factory_girl_rails (4.7.0)
- factory_girl (~> 4.7.0)
+ factory_girl_rails (4.8.0)
+ factory_girl (~> 4.8.0)
railties (>= 3.0.0)
- faraday (0.9.2)
+ faraday (0.11.0)
multipart-post (>= 1.2, < 3)
faraday-cookie_jar (0.0.6)
faraday (>= 0.7.4)
http-cookie (~> 1.0.0)
- faraday_middleware (0.10.0)
- faraday (>= 0.7.4, < 0.10)
- ffi (1.9.14)
- fission (0.5.0)
- CFPropertyList (~> 2.2)
+ faraday_middleware (0.11.0.1)
+ faraday (>= 0.7.4, < 1.0)
+ ffi (1.9.17)
fixture_builder (0.4.1)
activerecord (>= 2)
activesupport (>= 2)
- fog (1.38.0)
- fog-aliyun (>= 0.1.0)
- fog-atmos
- fog-aws (>= 0.6.0)
- fog-brightbox (~> 0.4)
- fog-cloudatcost (~> 0.1.0)
- fog-core (~> 1.32)
- fog-dynect (~> 0.0.2)
- fog-ecloud (~> 0.1)
- fog-google (<= 0.1.0)
- fog-json
- fog-local
- fog-openstack
- fog-powerdns (>= 0.1.1)
- fog-profitbricks
- fog-rackspace
- fog-radosgw (>= 0.0.2)
- fog-riakcs
- fog-sakuracloud (>= 0.0.4)
- fog-serverlove
- fog-softlayer
- fog-storm_on_demand
- fog-terremark
- fog-vmfusion
- fog-voxel
- fog-vsphere (>= 0.4.0)
- fog-xenserver
- fog-xml (~> 0.1.1)
- ipaddress (~> 0.5)
- fog-aliyun (0.1.0)
- fog-core (~> 1.27)
- fog-json (~> 1.0)
- ipaddress (~> 0.8)
- xml-simple (~> 1.1)
- fog-atmos (0.1.0)
- fog-core
- fog-xml
- fog-aws (0.9.2)
- fog-core (~> 1.27)
- fog-json (~> 1.0)
- fog-xml (~> 0.1)
- ipaddress (~> 0.8)
- fog-brightbox (0.10.1)
- fog-core (~> 1.22)
- fog-json
- inflecto (~> 0.0.2)
- fog-cloudatcost (0.1.2)
- fog-core (~> 1.36)
+ fog-aws (1.2.1)
+ fog-core (~> 1.38)
fog-json (~> 1.0)
fog-xml (~> 0.1)
ipaddress (~> 0.8)
- fog-core (1.40.0)
+ fog-core (1.43.0)
builder
excon (~> 0.49)
formatador (~> 0.2)
- fog-dynect (0.0.3)
- fog-core
- fog-json
- fog-xml
- fog-ecloud (0.3.0)
- fog-core
- fog-xml
- fog-google (0.1.0)
- fog-core
- fog-json
- fog-xml
fog-json (1.0.2)
fog-core (~> 1.0)
multi_json (~> 1.10)
- fog-local (0.3.0)
- fog-core (~> 1.27)
- fog-openstack (0.1.5)
- fog-core (>= 1.38)
- fog-json (>= 1.0)
- fog-xml (>= 0.1)
- ipaddress (>= 0.8)
- fog-powerdns (0.1.1)
- fog-core (~> 1.27)
- fog-json (~> 1.0)
- fog-xml (~> 0.1)
- fog-profitbricks (0.0.5)
- fog-core
- fog-xml
- nokogiri
- fog-rackspace (0.1.1)
- fog-core (>= 1.35)
- fog-json (>= 1.0)
- fog-xml (>= 0.1)
- ipaddress (>= 0.8)
- fog-radosgw (0.0.5)
- fog-core (>= 1.21.0)
- fog-json
- fog-xml (>= 0.0.1)
- fog-riakcs (0.1.0)
- fog-core
- fog-json
- fog-xml
- fog-sakuracloud (1.7.5)
- fog-core
- fog-json
- fog-serverlove (0.1.2)
- fog-core
- fog-json
- fog-softlayer (1.1.1)
- fog-core
- fog-json
- fog-storm_on_demand (0.1.1)
- fog-core
- fog-json
- fog-terremark (0.1.0)
- fog-core
- fog-xml
- fog-vmfusion (0.1.0)
- fission
- fog-core
- fog-voxel (0.1.0)
- fog-core
- fog-xml
- fog-vsphere (0.6.4)
- fog-core
- rbvmomi (~> 1.8)
- fog-xenserver (0.2.3)
- fog-core
- fog-xml
fog-xml (0.1.2)
fog-core
nokogiri (~> 1.5, >= 1.5.11)
- font-awesome-rails (4.6.3.1)
+ font-awesome-rails (4.7.0.1)
railties (>= 3.2, < 5.1)
formatador (0.2.5)
fuubar (2.2.0)
@@ -367,7 +254,7 @@ GEM
json
multi_json
request_store (>= 1.0)
- guard (2.14.0)
+ guard (2.14.1)
formatador (>= 0.2.4)
listen (>= 2.7, < 4.0)
lumberjack (~> 1.0)
@@ -390,13 +277,13 @@ GEM
rubocop (~> 0.20)
haml (4.0.7)
tilt
- haml_lint (0.18.2)
+ haml_lint (0.21.0)
haml (~> 4.0)
- rake (>= 10, < 12)
- rubocop (>= 0.36.0)
+ rake (>= 10, < 13)
+ rubocop (>= 0.47.0)
sysexits (~> 1.1)
- hamlit (2.7.5)
- temple (~> 0.7.6)
+ hamlit (2.8.0)
+ temple (>= 0.8.0)
thor
tilt
handlebars_assets (0.23.1)
@@ -404,34 +291,33 @@ GEM
multi_json (~> 1.0)
sprockets (>= 2.0.0)
tilt (>= 1.2)
- hashdiff (0.3.0)
- hashie (3.4.4)
+ hashdiff (0.3.2)
+ hashie (3.5.5)
hike (1.2.3)
hitimes (1.2.4)
- http (1.0.4)
+ http (2.2.1)
addressable (~> 2.3)
http-cookie (~> 1.0)
http-form_data (~> 1.0.1)
http_parser.rb (~> 0.6.0)
- http-cookie (1.0.2)
+ http-cookie (1.0.3)
domain_name (~> 0.5)
http-form_data (1.0.1)
- http_accept_language (2.0.5)
+ http_accept_language (2.1.0)
http_parser.rb (0.6.0)
httparty (0.13.7)
json (~> 1.8)
multi_xml (>= 0.5.2)
- httpclient (2.8.1)
- i18n (0.7.0)
+ httpclient (2.8.3)
+ i18n (0.8.1)
i18n-inflector (2.6.7)
i18n (>= 0.4.1)
i18n-inflector-rails (1.0.7)
actionpack (>= 3.0.0)
i18n-inflector (~> 2.6)
railties (>= 3.0.0)
- inflecto (0.0.2)
ipaddress (0.8.3)
- jasmine (2.5.1)
+ jasmine (2.5.2)
jasmine-core (>= 2.5.1, < 3.0.0)
phantomjs
rack (>= 1.2.1)
@@ -444,30 +330,30 @@ GEM
thor (>= 0.14, < 2.0)
jquery-ui-rails (5.0.5)
railties (>= 3.2.16)
- js-routes (1.2.9)
+ js-routes (1.3.3)
railties (>= 3.2)
sprockets-rails
js_image_paths (0.1.0)
rails (~> 4.0)
- json (1.8.3)
- json-jwt (1.6.3)
+ json (1.8.6)
+ json-jwt (1.7.1)
activesupport
bindata
multi_json (>= 1.3)
securecompare
url_safe_base64
- json-schema (2.7.0)
+ json-schema (2.8.0)
addressable (>= 2.4)
json_spec (1.1.4)
multi_json (~> 1.0)
rspec (>= 2.0, < 4.0)
jsonpath (0.5.8)
multi_json
- jwt (1.5.4)
- kaminari (0.16.3)
+ jwt (1.5.6)
+ kaminari (0.17.0)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
- kgio (2.10.0)
+ kgio (2.11.0)
leaflet-rails (0.7.7)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
@@ -481,7 +367,7 @@ GEM
logging (>= 1.8)
loofah (2.0.3)
nokogiri (>= 1.5.9)
- lumberjack (1.0.10)
+ lumberjack (1.0.11)
macaddr (1.7.1)
systemu (~> 2.6.2)
mail (2.6.4)
@@ -493,8 +379,8 @@ GEM
mime-types (3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
- mimemagic (0.3.1)
- mini_magick (4.5.1)
+ mimemagic (0.3.2)
+ mini_magick (4.6.1)
mini_portile2 (2.1.0)
minitest (5.10.1)
mobile-fu (1.3.1)
@@ -502,28 +388,28 @@ GEM
rails
multi_json (1.12.1)
multi_test (0.1.2)
- multi_xml (0.5.5)
+ multi_xml (0.6.0)
multipart-post (2.0.0)
- mysql2 (0.4.4)
+ mysql2 (0.4.5)
naught (1.1.0)
nenv (0.3.0)
nested_form (0.3.2)
- nio4r (1.2.1)
- nokogiri (1.6.8.1)
+ nio4r (2.0.0)
+ nokogiri (1.7.0.1)
mini_portile2 (~> 2.1.0)
notiffany (0.1.1)
nenv (~> 0.1)
shellany (~> 0.0)
oauth (0.5.1)
- oauth2 (1.2.0)
- faraday (>= 0.8, < 0.10)
+ oauth2 (1.3.1)
+ faraday (>= 0.8, < 0.12)
jwt (~> 1.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
- octokit (4.3.0)
- sawyer (~> 0.7.0, >= 0.5.3)
- omniauth (1.3.1)
+ octokit (4.6.2)
+ sawyer (~> 0.8.0, >= 0.5.3)
+ omniauth (1.4.2)
hashie (>= 1.2, < 4)
rack (>= 1.0, < 3)
omniauth-facebook (4.0.0)
@@ -537,13 +423,13 @@ GEM
omniauth-tumblr (1.2)
multi_json
omniauth-oauth (~> 1.0)
- omniauth-twitter (1.2.1)
- json (~> 1.3)
+ omniauth-twitter (1.4.0)
omniauth-oauth (~> 1.1)
+ rack
omniauth-wordpress (0.2.2)
omniauth-oauth2 (>= 1.1.0)
- open_graph_reader (0.6.1)
- faraday (~> 0.9.0)
+ open_graph_reader (0.6.2)
+ faraday (>= 0.9.0)
nokogiri (~> 1.6)
openid_connect (0.12.0)
activemodel
@@ -557,51 +443,52 @@ GEM
validate_url
webfinger (>= 1.0.1)
orm_adapter (0.5.0)
- parser (2.3.1.4)
+ parser (2.4.0.0)
ast (~> 2.2)
pg (0.19.0)
phantomjs (2.1.1.0)
- poltergeist (1.11.0)
+ poltergeist (1.13.0)
capybara (~> 2.1)
cliver (~> 0.3.1)
websocket-driver (>= 0.2.0)
powerpack (0.1.1)
- pronto (0.7.1)
+ pronto (0.8.2)
gitlab (~> 3.6, >= 3.4.0)
- httparty (~> 0.13.7)
+ httparty (>= 0.13.7, < 0.15)
octokit (~> 4.3, >= 4.1.0)
rainbow (~> 2.1)
rugged (~> 0.24, >= 0.23.0)
thor (~> 0.19.0)
- pronto-eslint (0.7.0)
+ pronto-eslint (0.8.0)
eslintrb (~> 2.0, >= 2.0.0)
- pronto (~> 0.7.0)
- pronto-haml (0.7.0)
+ pronto (~> 0.8.0)
+ pronto-haml (0.8.0)
haml_lint (~> 0.16, >= 0.15.0)
- pronto (~> 0.7.0)
- pronto-rubocop (0.7.0)
- pronto (~> 0.7.0)
+ pronto (~> 0.8.0)
+ pronto-rubocop (0.8.0)
+ pronto (~> 0.8.0)
rubocop (~> 0.38, >= 0.35.0)
- pronto-scss (0.7.0)
- pronto (~> 0.7.0)
+ pronto-scss (0.8.0)
+ pronto (~> 0.8.0)
scss_lint (~> 0.43, >= 0.43.0)
pry (0.10.4)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
- pry-byebug (3.4.0)
+ pry-byebug (3.4.2)
byebug (~> 9.0)
pry (~> 0.10)
+ public_suffix (2.0.5)
quiet_assets (1.1.0)
railties (>= 3.1, < 5.0)
rack (1.6.5)
- rack-cors (0.4.0)
+ rack-cors (0.4.1)
rack-google-analytics (1.2.0)
actionpack
activesupport
rack-mobile-detect (0.4.0)
rack
- rack-oauth2 (1.4.0)
+ rack-oauth2 (1.5.1)
activesupport (>= 2.3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
@@ -618,27 +505,27 @@ GEM
rack
rack-test (0.6.3)
rack (>= 1.0)
- rails (4.2.7.1)
- actionmailer (= 4.2.7.1)
- actionpack (= 4.2.7.1)
- actionview (= 4.2.7.1)
- activejob (= 4.2.7.1)
- activemodel (= 4.2.7.1)
- activerecord (= 4.2.7.1)
- activesupport (= 4.2.7.1)
+ rails (4.2.8)
+ actionmailer (= 4.2.8)
+ actionpack (= 4.2.8)
+ actionview (= 4.2.8)
+ activejob (= 4.2.8)
+ activemodel (= 4.2.8)
+ activerecord (= 4.2.8)
+ activesupport (= 4.2.8)
bundler (>= 1.3.0, < 2.0)
- railties (= 4.2.7.1)
+ railties (= 4.2.8)
sprockets-rails
rails-assets-autosize (3.0.20)
rails-assets-backbone (1.3.3)
rails-assets-underscore (>= 1.8.3)
- rails-assets-blueimp-gallery (2.21.3)
+ rails-assets-blueimp-gallery (2.25.0)
rails-assets-bootstrap (3.3.7)
rails-assets-jquery (>= 1.9.1, < 4)
rails-assets-bootstrap-markdown (2.10.0)
rails-assets-bootstrap (~> 3)
- rails-assets-corejs-typeahead (1.0.1)
- rails-assets-jquery (>= 1.7)
+ rails-assets-corejs-typeahead (1.1.1)
+ rails-assets-jquery (>= 1.11)
rails-assets-diaspora_jsxc (0.1.5.develop.7)
rails-assets-emojione (~> 2.0.1)
rails-assets-favico.js (>= 0.3.10, < 0.4)
@@ -648,10 +535,10 @@ GEM
rails-assets-jquery.ui (~> 1.11.4)
rails-assets-emojione (2.0.1)
rails-assets-favico.js (0.3.10)
- rails-assets-fineuploader-dist (5.11.0)
- rails-assets-highlightjs (9.7.0)
- rails-assets-jasmine (2.4.1)
- rails-assets-jasmine-ajax (3.2.0)
+ rails-assets-fine-uploader (5.13.0)
+ rails-assets-highlightjs (9.9.0)
+ rails-assets-jasmine (2.5.2)
+ rails-assets-jasmine-ajax (3.3.1)
rails-assets-jasmine (~> 2)
rails-assets-jquery (2.2.4)
rails-assets-jquery-colorbox (1.6.4)
@@ -665,13 +552,13 @@ GEM
rails-assets-jquery.ui (1.11.4)
rails-assets-jquery (>= 1.6)
rails-assets-markdown-it--markdown-it-for-inline (0.1.1)
- rails-assets-markdown-it (8.2.2)
- rails-assets-markdown-it-diaspora-mention (1.1.0)
+ rails-assets-markdown-it (8.3.0)
+ rails-assets-markdown-it-diaspora-mention (1.1.1)
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-perfect-scrollbar (0.6.12)
+ rails-assets-perfect-scrollbar (0.6.16)
rails-assets-underscore (1.8.3)
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
@@ -701,27 +588,23 @@ GEM
remotipart (~> 1.0)
safe_yaml (~> 1.0)
sass-rails (>= 4.0, < 6)
- railties (4.2.7.1)
- actionpack (= 4.2.7.1)
- activesupport (= 4.2.7.1)
+ railties (4.2.8)
+ actionpack (= 4.2.8)
+ activesupport (= 4.2.8)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
- rainbow (2.1.0)
- raindrops (0.16.0)
- rake (11.3.0)
- rb-fsevent (0.9.7)
- rb-inotify (0.9.7)
+ rainbow (2.2.1)
+ raindrops (0.17.0)
+ rake (12.0.0)
+ rb-fsevent (0.9.8)
+ rb-inotify (0.9.8)
ffi (>= 0.5.0)
- rbvmomi (1.8.2)
- builder
- nokogiri (>= 1.4.1)
- trollop
- redcarpet (3.3.4)
- redis (3.3.1)
- redis-namespace (1.5.2)
+ redcarpet (3.4.0)
+ redis (3.3.3)
+ redis-namespace (1.5.3)
redis (~> 3.0, >= 3.0.4)
- remotipart (1.2.1)
- request_store (1.3.1)
+ remotipart (1.3.1)
+ request_store (1.3.2)
responders (2.3.0)
railties (>= 4.2.0, < 5.1)
rspec (3.5.0)
@@ -745,49 +628,50 @@ GEM
rspec-mocks (~> 3.5.0)
rspec-support (~> 3.5.0)
rspec-support (3.5.0)
- rubocop (0.40.0)
- parser (>= 2.3.1.0, < 3.0)
+ rubocop (0.47.1)
+ parser (>= 2.3.3.1, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-oembed (0.10.1)
ruby-progressbar (1.8.1)
- ruby_dep (1.3.1)
- rubyzip (1.2.0)
- rufus-scheduler (3.2.2)
- rugged (0.24.0)
+ ruby_dep (1.5.0)
+ rubyzip (1.2.1)
+ rufus-scheduler (3.3.4)
+ tzinfo
+ rugged (0.25.1.1)
safe_yaml (1.0.4)
- sass (3.4.22)
+ sass (3.4.23)
sass-rails (5.0.6)
railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
- sawyer (0.7.0)
- addressable (>= 2.3.5, < 2.5)
- faraday (~> 0.8, < 0.10)
- scss_lint (0.49.0)
- rake (>= 0.9, < 12)
+ sawyer (0.8.1)
+ addressable (>= 2.3.5, < 2.6)
+ faraday (~> 0.8, < 1.0)
+ scss_lint (0.52.0)
+ rake (>= 0.9, < 13)
sass (~> 3.4.20)
- secure_headers (3.5.0)
+ secure_headers (3.6.1)
useragent
securecompare (1.0.0)
shellany (0.0.1)
shoulda-matchers (3.1.1)
activesupport (>= 4.0.0)
- sidekiq (4.2.2)
+ sidekiq (4.2.9)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
- rack-protection (~> 1.5)
+ rack-protection (>= 1.5.0)
redis (~> 3.2, >= 3.2.1)
- sidekiq-cron (0.4.4)
+ sidekiq-cron (0.4.5)
redis-namespace (>= 1.5.2)
rufus-scheduler (>= 2.0.24)
sidekiq (>= 4.2.1)
sigar (0.7.3)
- simple_captcha2 (0.4.0)
+ simple_captcha2 (0.4.3)
rails (>= 4.1)
simple_oauth (0.3.1)
simplecov (0.12.0)
@@ -798,7 +682,7 @@ GEM
sinon-rails (1.15.0)
railties (>= 3.1)
slop (3.6.0)
- spring (2.0.0)
+ spring (2.0.1)
activesupport (>= 4.2)
spring-commands-cucumber (1.0.1)
spring (>= 0.9.1)
@@ -813,7 +697,7 @@ GEM
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
- state_machine (1.2.0)
+ state_machines (0.4.0)
string-direction (1.2.0)
yard (~> 0.8)
swd (1.0.1)
@@ -824,46 +708,44 @@ GEM
json (>= 1.4.3)
sysexits (1.2.0)
systemu (2.6.5)
- temple (0.7.7)
- term-ansicolor (1.3.2)
+ temple (0.8.0)
+ term-ansicolor (1.4.0)
tins (~> 1.0)
terminal-table (1.7.3)
unicode-display_width (~> 1.1.1)
test_after_commit (1.1.0)
activerecord (>= 3.2)
thor (0.19.1)
- thread_safe (0.3.5)
+ thread_safe (0.3.6)
tilt (1.4.1)
timecop (0.8.1)
- timers (4.1.1)
+ timers (4.1.2)
hitimes
- tins (1.12.0)
- trollop (2.1.2)
+ tins (1.13.2)
turbo_dev_assets (0.0.2)
- twitter (5.16.0)
- addressable (~> 2.3)
+ twitter (6.1.0)
+ addressable (~> 2.5)
buftok (~> 0.2.0)
- equalizer (= 0.0.10)
- faraday (~> 0.9.0)
- http (~> 1.0)
+ equalizer (= 0.0.11)
+ faraday (~> 0.11.0)
+ http (~> 2.1)
http_parser.rb (~> 0.6.0)
- json (~> 1.8)
- memoizable (~> 0.4.0)
- naught (~> 1.0)
- simple_oauth (~> 0.3.0)
- twitter-text (1.14.0)
+ memoizable (~> 0.4.2)
+ naught (~> 1.1)
+ simple_oauth (~> 0.3.1)
+ twitter-text (1.14.5)
unf (~> 0.1.0)
- typhoeus (1.1.0)
+ typhoeus (1.1.2)
ethon (>= 0.9.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
- uglifier (3.0.2)
+ uglifier (3.1.2)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.2)
- unicode-display_width (1.1.1)
- unicorn (5.1.0)
+ unicode-display_width (1.1.3)
+ unicorn (5.2.0)
kgio (~> 2.6)
raindrops (~> 0.7)
unicorn-worker-killer (0.4.4)
@@ -884,39 +766,38 @@ GEM
activesupport (>= 3)
railties (>= 3)
yard (~> 0.7)
- warden (1.2.6)
+ warden (1.2.7)
rack (>= 1.0)
webfinger (1.0.2)
activesupport
httpclient (>= 2.4)
multi_json
- webmock (2.1.0)
+ webmock (2.3.2)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
- websocket-driver (0.6.4)
+ websocket-driver (0.6.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
will_paginate (3.1.5)
- xml-simple (1.1.5)
xpath (2.0.0)
nokogiri (~> 1.3)
- yard (0.8.7.6)
+ yard (0.9.8)
PLATFORMS
ruby
DEPENDENCIES
active_model_serializers (= 0.9.5)
- activerecord-import (= 0.15.0)
+ activerecord-import (= 0.17.1)
acts-as-taggable-on (= 3.5.0)
- acts_as_api (= 0.4.3)
- addressable (= 2.4.0)
- asset_sync (= 1.1.0)
- autoprefixer-rails (= 6.5.1)
+ acts_as_api (= 1.0.0)
+ addressable (= 2.5.0)
+ asset_sync (= 2.0.0)
+ autoprefixer-rails (= 6.7.6)
bootstrap-sass (= 3.3.7)
bootstrap-switch-rails (= 3.3.3)
- capybara (= 2.10.1)
+ capybara (= 2.12.1)
carrierwave (= 0.11.2)
compass-rails (= 2.0.5)
configurate (= 0.3.1)
@@ -927,123 +808,124 @@ DEPENDENCIES
devise (= 4.2.0)
devise_lastseenable (= 0.0.6)
diaspora-prosody-config (= 0.0.7)
- diaspora_federation-rails (= 0.1.7)
- diaspora_federation-test (= 0.1.7)
- entypo-rails (= 3.0.0.pre.rc2)
- eye (= 0.8.1)
- factory_girl_rails (= 4.7.0)
- faraday (= 0.9.2)
+ diaspora_federation-rails (= 0.1.8)
+ diaspora_federation-test (= 0.1.8)
+ entypo-rails (= 3.0.0)
+ eye (= 0.9.1)
+ factory_girl_rails (= 4.8.0)
+ faraday (= 0.11.0)
faraday-cookie_jar (= 0.0.6)
- faraday_middleware (= 0.10.0)
+ faraday_middleware (= 0.11.0.1)
fixture_builder (= 0.4.1)
- fog (= 1.38.0)
+ fog-aws (= 1.2.1)
fuubar (= 2.2.0)
gon (= 6.1.0)
- guard (= 2.14.0)
+ guard (= 2.14.1)
guard-cucumber (= 2.1.2)
guard-rspec (= 4.7.3)
guard-rubocop (= 1.2.0)
- haml_lint (= 0.18.2)
- hamlit (= 2.7.5)
+ haml_lint (= 0.21.0)
+ hamlit (= 2.8.0)
handlebars_assets (= 0.23.1)
- http_accept_language (= 2.0.5)
+ http_accept_language (= 2.1.0)
i18n-inflector-rails (= 1.0.7)
- jasmine (= 2.5.1)
+ jasmine (= 2.5.2)
jasmine-jquery-rails (= 2.0.3)
jquery-rails (= 4.2.1)
jquery-ui-rails (= 5.0.5)
- js-routes (= 1.2.9)
+ js-routes (= 1.3.3)
js_image_paths (= 0.1.0)
- json (= 1.8.3)
- json-schema (= 2.7.0)
+ json (= 1.8.6)
+ json-schema (= 2.8.0)
json_spec (= 1.1.4)
leaflet-rails (= 0.7.7)
logging-rails (= 0.5.0)
markerb (= 1.1.0)
- mini_magick (= 4.5.1)
+ mini_magick (= 4.6.1)
minitest
mobile-fu (= 1.3.1)
- mysql2 (= 0.4.4)
- nokogiri (= 1.6.8.1)
- omniauth (= 1.3.1)
+ mysql2 (= 0.4.5)
+ nokogiri (= 1.7.0.1)
+ omniauth (= 1.4.2)
omniauth-facebook (= 4.0.0)
omniauth-tumblr (= 1.2)
- omniauth-twitter (= 1.2.1)
+ omniauth-twitter (= 1.4.0)
omniauth-wordpress (= 0.2.2)
- open_graph_reader (= 0.6.1)
+ open_graph_reader (= 0.6.2)
openid_connect (= 0.12.0)
pg (= 0.19.0)
- poltergeist (= 1.11.0)
- pronto (= 0.7.1)
- pronto-eslint (= 0.7.0)
- pronto-haml (= 0.7.0)
- pronto-rubocop (= 0.7.0)
- pronto-scss (= 0.7.0)
+ poltergeist (= 1.13.0)
+ pronto (= 0.8.2)
+ pronto-eslint (= 0.8.0)
+ pronto-haml (= 0.8.0)
+ pronto-rubocop (= 0.8.0)
+ pronto-scss (= 0.8.0)
pry
pry-byebug
quiet_assets (= 1.1.0)
- rack-cors (= 0.4.0)
+ rack-cors (= 0.4.1)
rack-google-analytics (= 1.2.0)
rack-piwik (= 0.3.0)
rack-rewrite (= 1.5.1)
rack-ssl (= 1.4.1)
- rails (= 4.2.7.1)
+ rails (= 4.2.8)
rails-assets-autosize (= 3.0.20)!
rails-assets-backbone (= 1.3.3)!
- rails-assets-blueimp-gallery (= 2.21.3)!
+ rails-assets-blueimp-gallery (= 2.25.0)!
rails-assets-bootstrap-markdown (= 2.10.0)!
- rails-assets-corejs-typeahead (= 1.0.1)!
+ rails-assets-corejs-typeahead (= 1.1.1)!
rails-assets-diaspora_jsxc (= 0.1.5.develop.7)!
- rails-assets-fineuploader-dist (= 5.11.0)!
- rails-assets-highlightjs (= 9.7.0)!
- rails-assets-jasmine-ajax (= 3.2.0)!
+ rails-assets-fine-uploader (= 5.13.0)!
+ rails-assets-highlightjs (= 9.9.0)!
+ rails-assets-jasmine-ajax (= 3.3.1)!
rails-assets-jquery (= 2.2.4)!
rails-assets-jquery-placeholder (= 2.3.1)!
rails-assets-jquery-textchange (= 0.2.3)!
- rails-assets-markdown-it (= 8.2.2)!
+ rails-assets-markdown-it (= 8.3.0)!
rails-assets-markdown-it--markdown-it-for-inline (= 0.1.1)!
- rails-assets-markdown-it-diaspora-mention (= 1.1.0)!
+ rails-assets-markdown-it-diaspora-mention (= 1.1.1)!
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-perfect-scrollbar (= 0.6.12)!
+ rails-assets-perfect-scrollbar (= 0.6.16)!
rails-i18n (= 4.0.8)
rails-timeago (= 2.11.0)
rails_admin (= 0.8.1)
- rb-fsevent (= 0.9.7)
- rb-inotify (= 0.9.7)
- redcarpet (= 3.3.4)
+ rb-fsevent (= 0.9.8)
+ rb-inotify (= 0.9.8)
+ redcarpet (= 3.4.0)
responders (= 2.3.0)
rspec-rails (= 3.5.2)
- rubocop (= 0.40.0)
+ rubocop (= 0.47.1)
ruby-oembed (= 0.10.1)
- rubyzip (= 1.2.0)
+ rubyzip (= 1.2.1)
sass-rails (= 5.0.6)
- secure_headers (= 3.5.0)
+ secure_headers (= 3.6.1)
shoulda-matchers (= 3.1.1)
- sidekiq (= 4.2.2)
- sidekiq-cron (= 0.4.4)
- simple_captcha2 (= 0.4.0)
+ sidekiq (= 4.2.9)
+ sidekiq-cron (= 0.4.5)
+ simple_captcha2 (= 0.4.3)
simplecov (= 0.12.0)
sinon-rails (= 1.15.0)
- spring (= 2.0.0)
+ spring (= 2.0.1)
spring-commands-cucumber (= 1.0.1)
spring-commands-rspec (= 1.0.4)
string-direction (= 1.2.0)
test_after_commit (= 1.1.0)
+ thor (= 0.19.1)
timecop (= 0.8.1)
turbo_dev_assets (= 0.0.2)
- twitter (= 5.16.0)
- twitter-text (= 1.14.0)
- typhoeus (= 1.1.0)
- uglifier (= 3.0.2)
- unicorn (= 5.1.0)
+ twitter (= 6.1.0)
+ twitter-text (= 1.14.5)
+ typhoeus (= 1.1.2)
+ uglifier (= 3.1.2)
+ unicorn (= 5.2.0)
unicorn-worker-killer (= 0.4.4)
uuid (= 2.3.8)
versionist (= 1.5.0)
- webmock (= 2.1.0)
+ webmock (= 2.3.2)
will_paginate (= 3.1.5)
BUNDLED WITH
- 1.13.7
+ 1.14.5
diff --git a/app/assets/images/buttons/liberapay-button.svg b/app/assets/images/buttons/liberapay-button.svg
new file mode 100644
index 000000000..995dd029c
--- /dev/null
+++ b/app/assets/images/buttons/liberapay-button.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="83" height="30">
+ <rect id="back" fill="#f6c915" x="1" y=".5" width="82" height="29" rx="4"/>
+ <svg viewBox="0 0 80 80" height="16" width="16" x="7" y="7">
+ <g transform="translate(-78.37-208.06)" fill="#1a171b">
+ <path d="m104.28 271.1c-3.571 0-6.373-.466-8.41-1.396-2.037-.93-3.495-2.199-4.375-3.809-.88-1.609-1.308-3.457-1.282-5.544.025-2.086.313-4.311.868-6.675l9.579-40.05 11.69-1.81-10.484 43.44c-.202.905-.314 1.735-.339 2.489-.026.754.113 1.421.415 1.999.302.579.817 1.044 1.546 1.395.729.353 1.747.579 3.055.679l-2.263 9.278"/>
+ <path d="m146.52 246.14c0 3.671-.604 7.03-1.811 10.07-1.207 3.043-2.879 5.669-5.01 7.881-2.138 2.213-4.702 3.935-7.693 5.167-2.992 1.231-6.248 1.848-9.767 1.848-1.71 0-3.42-.151-5.129-.453l-3.394 13.651h-11.162l12.52-52.19c2.01-.603 4.311-1.143 6.901-1.622 2.589-.477 5.393-.716 8.41-.716 2.815 0 5.242.428 7.278 1.282 2.037.855 3.708 2.024 5.02 3.507 1.307 1.484 2.274 3.219 2.904 5.205.627 1.987.942 4.11.942 6.373m-27.378 15.461c.854.202 1.91.302 3.167.302 1.961 0 3.746-.364 5.355-1.094 1.609-.728 2.979-1.747 4.111-3.055 1.131-1.307 2.01-2.877 2.64-4.714.628-1.835.943-3.858.943-6.071 0-2.161-.479-3.998-1.433-5.506-.956-1.508-2.615-2.263-4.978-2.263-1.61 0-3.118.151-4.525.453l-5.28 21.948"/>
+ </g>
+ </svg>
+ <text fill="#1a171b" text-anchor="middle" font-family="Helvetica Neue,Helvetica,Arial,sans-serif" font-weight="700" font-size="14" x="50" y="20">Donate</text>
+</svg>
diff --git a/app/assets/javascripts/app/helpers/modal_helper.js b/app/assets/javascripts/app/helpers/modal_helper.js
index 01aaac4b7..8e4db1efd 100644
--- a/app/assets/javascripts/app/helpers/modal_helper.js
+++ b/app/assets/javascripts/app/helpers/modal_helper.js
@@ -7,6 +7,7 @@
modalBody.load(url, function(){
$(id).find("#modalWaiter").remove();
+ autosize($("textarea", modalBody));
$(id).trigger("modal:loaded");
});
};
diff --git a/app/assets/javascripts/app/helpers/text_formatter.js b/app/assets/javascripts/app/helpers/text_formatter.js
index ea237832c..a9ea53d3a 100644
--- a/app/assets/javascripts/app/helpers/text_formatter.js
+++ b/app/assets/javascripts/app/helpers/text_formatter.js
@@ -37,7 +37,14 @@
var hashtagPlugin = window.markdownitHashtag;
md.use(hashtagPlugin, {
// compare tag_text_regexp in app/models/acts_as_taggable_on-tag.rb
- hashtagRegExp: "[" + PosixBracketExpressions.alnum + "_\\-]+|<3",
+ hashtagRegExp: "[" + PosixBracketExpressions.word +
+ "\\u055b" + // Armenian emphasis mark
+ "\\u055c" + // Armenian exclamation mark
+ "\\u055e" + // Armenian question mark
+ "\\u058a" + // Armenian hyphen
+ "_" +
+ "\\-" +
+ "]+|<3",
// compare tag_strings in lib/diaspora/taggabe.rb
preceding: "^|\\s"
});
diff --git a/app/assets/javascripts/app/views/hovercard_view.js b/app/assets/javascripts/app/views/hovercard_view.js
index 1013225ba..72ebe121a 100644
--- a/app/assets/javascripts/app/views/hovercard_view.js
+++ b/app/assets/javascripts/app/views/hovercard_view.js
@@ -91,7 +91,7 @@ app.views.Hovercard = app.views.Base.extend({
this.parent = el;
this._positionHovercard();
this._populateHovercard();
- }, 700),
+ }, 1000),
_populateHovercard: function() {
var href = this.href();
diff --git a/app/assets/javascripts/jasmine-load-all.js b/app/assets/javascripts/jasmine-load-all.js
index 756f84ce7..be83acdec 100644
--- a/app/assets/javascripts/jasmine-load-all.js
+++ b/app/assets/javascripts/jasmine-load-all.js
@@ -2,7 +2,7 @@
//= require handlebars.runtime
//= require templates
//= require main
-//= require fineuploader-dist/dist/fine-uploader.core
+//= require fine-uploader/fine-uploader.core
//= require mobile/mobile
//= require jquery.autoSuggest.custom
//= require contact-list
diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js
index 96acc6b46..87f9d1cba 100644
--- a/app/assets/javascripts/main.js
+++ b/app/assets/javascripts/main.js
@@ -18,7 +18,7 @@
//= require jquery-ui/sortable
//= require keycodes
//= require jquery.autoSuggest.custom
-//= require fineuploader-dist/dist/fine-uploader.core
+//= require fine-uploader/fine-uploader.core
//= require handlebars.runtime
//= require posix-bracket-expressions
//= require markdown-it
diff --git a/app/assets/javascripts/mobile/mobile.js b/app/assets/javascripts/mobile/mobile.js
index 70f55e694..c7259edda 100644
--- a/app/assets/javascripts/mobile/mobile.js
+++ b/app/assets/javascripts/mobile/mobile.js
@@ -10,7 +10,7 @@
//= require autosize
//= require keycodes
//= require jquery.autoSuggest.custom
-//= require fineuploader-dist/dist/fine-uploader.core
+//= require fine-uploader/fine-uploader.core
//= require rails-timeago
//= require underscore
//= require bootstrap
diff --git a/app/assets/stylesheets/_mixins.scss b/app/assets/stylesheets/_mixins.scss
index 2b4c02f90..17523f226 100644
--- a/app/assets/stylesheets/_mixins.scss
+++ b/app/assets/stylesheets/_mixins.scss
@@ -107,10 +107,10 @@ $default-border-radius: 3px;
opacity: 0.9;
a {
- color: lighten($blue, 25%);
+ color: lighten($link-color, 25%);
}
a:visited {
- color: $blue;
+ color: $link-color;
}
}
.desc {
diff --git a/app/assets/stylesheets/base.scss b/app/assets/stylesheets/base.scss
index e9a7762e9..13293c941 100644
--- a/app/assets/stylesheets/base.scss
+++ b/app/assets/stylesheets/base.scss
@@ -60,10 +60,6 @@ pre { word-wrap: break-word; }
}
}
-.author-name {
- color: inherit;
-}
-
.back-to-top {
background-color: $border-dark-grey;
border-radius: 4px;
diff --git a/app/assets/stylesheets/bootstrap-variables.scss b/app/assets/stylesheets/bootstrap-variables.scss
index c8d8f634c..56b81647e 100644
--- a/app/assets/stylesheets/bootstrap-variables.scss
+++ b/app/assets/stylesheets/bootstrap-variables.scss
@@ -33,7 +33,7 @@ $brand-success: #8EDE3D !default;
// $text-color: $gray-dark
//** Global textual link color.
-$link-color: rgb(42,156,235) !default;
+$link-color: $blue !default;
//** Link hover color set via `darken()` function.
// $link-hover-color: darken($link-color, 15%)
//** Link hover decoration.
@@ -676,7 +676,7 @@ $list-group-border: transparent;
$list-group-border-radius: 0;
//** Background color of single list items on hover
-$list-group-hover-bg: $blue;
+$list-group-hover-bg: $brand-primary;
//** Text color of active list items
$list-group-active-color: $white;
//** Background color of active list items
diff --git a/app/assets/stylesheets/color_themes/_color_theme_override.scss b/app/assets/stylesheets/color_themes/_color_theme_override.scss
index 2be21f1e1..7655d08f9 100644
--- a/app/assets/stylesheets/color_themes/_color_theme_override.scss
+++ b/app/assets/stylesheets/color_themes/_color_theme_override.scss
@@ -1,18 +1,5 @@
/* Raw CSS */
body {
- a,
- a.tag,
- .btn-link,
- #main_stream .stream-element > .media a.author-name,
- #hovercard h4 a,
- .stream-element .from a.self {
- color: $link-color;
-
- &:hover, &:focus {
- color: darken($link-color, 10%);
- }
- }
-
#publisher_textarea_wrapper > #button_container > span.markdownIndications > a {
color: fade-out($link-color, 0.4);
}
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 1719460f9..74c305068 100644
--- a/app/assets/stylesheets/color_themes/_color_theme_override_dark.scss
+++ b/app/assets/stylesheets/color_themes/_color_theme_override_dark.scss
@@ -50,13 +50,13 @@ body {
@import 'highlightjs/darcula';
#single-post-content .head {
- #post-info .author { color: lighten($gray-lighter, 27%); }
+ .author-name { color: lighten($gray-lighter, 27%); }
#single-post-actions i.entypo-heart.red:hover { color: $red; }
}
.opengraph a { color: lighten($gray-lighter, 27%); }
- .tag:hover { background-color: desaturate(darken($blue, 35%), 20%); }
+ .tag:hover { background-color: desaturate(darken($link-color, 35%), 20%); }
#profile_container .profile_header {
#author_info #sharing_message.entypo-check { color: lighten($green, 10%); }
diff --git a/app/assets/stylesheets/comments.scss b/app/assets/stylesheets/comments.scss
index 7b6d76757..533c9cffb 100644
--- a/app/assets/stylesheets/comments.scss
+++ b/app/assets/stylesheets/comments.scss
@@ -39,7 +39,7 @@
}
>.highlighted {
- border-left: 3px solid $blue;
+ border-left: 3px solid $link-color;
padding-left: 3px;
}
}
diff --git a/app/assets/stylesheets/conversations.scss b/app/assets/stylesheets/conversations.scss
index 8c1216cd5..2c5b7b7e7 100644
--- a/app/assets/stylesheets/conversations.scss
+++ b/app/assets/stylesheets/conversations.scss
@@ -73,7 +73,7 @@
}
&:hover, &.unread:hover, &.selected:hover {
- background-color: lighten($blue,5%);
+ background-color: lighten($brand-primary, 5%);
cursor: pointer;
.participants {
border-color: rgba($border-grey, 1);
@@ -84,7 +84,7 @@
}
&.unread { background-color: $background-grey; }
- &.selected { background-color: $blue; }
+ &.selected { background-color: $brand-primary; }
.last_author, .last_message {
font-size: 12px;
@@ -144,7 +144,7 @@
float: right;
line-height: normal;
font-weight: normal;
- color: $blue;
+ color: $link-color;
}
}
diff --git a/app/assets/stylesheets/header.scss b/app/assets/stylesheets/header.scss
index 668cef21c..4e883094e 100644
--- a/app/assets/stylesheets/header.scss
+++ b/app/assets/stylesheets/header.scss
@@ -53,7 +53,7 @@
color: $gray-light;
padding-left: 55px;
&:hover {
- background-color: $link-color;
+ background-color: $brand-primary;
color: $gray-lighter;
}
}
@@ -105,7 +105,7 @@
}
}
.view_all {
- background-color: $link-color;
+ background-color: $brand-primary;
border-top: 3px solid $dropdown-bg;
text-align: center;
a {
diff --git a/app/assets/stylesheets/hovercard.scss b/app/assets/stylesheets/hovercard.scss
index ffe8e3cb8..50867da4b 100644
--- a/app/assets/stylesheets/hovercard.scss
+++ b/app/assets/stylesheets/hovercard.scss
@@ -53,7 +53,6 @@
padding-bottom: 0px;
font-size: 16px;
a {
- color: $blue;
font-weight: bold !important;
}
}
diff --git a/app/assets/stylesheets/markdown-editor.scss b/app/assets/stylesheets/markdown-editor.scss
index e6a679258..b077a7b44 100644
--- a/app/assets/stylesheets/markdown-editor.scss
+++ b/app/assets/stylesheets/markdown-editor.scss
@@ -115,7 +115,7 @@
> li {
> a { padding: 7px 15px; }
- &:not(.active) * { color: $brand-primary; }
+ &:not(.active) * { color: $link-color; }
&.active * { color: $black; }
}
diff --git a/app/assets/stylesheets/navbar_left.scss b/app/assets/stylesheets/navbar_left.scss
index 5a7a585bf..56134c3bf 100644
--- a/app/assets/stylesheets/navbar_left.scss
+++ b/app/assets/stylesheets/navbar_left.scss
@@ -24,8 +24,8 @@
}
&:hover, &:hover a, &:hover [class^="entypo"] {
- background-color: $blue;
- border-color: $blue;
+ background-color: $brand-primary;
+ border-color: $brand-primary;
color: $white;
}
}
@@ -117,6 +117,11 @@
.content {
font-size: $font-size-base;
}
+
+ a,
+ a:hover {
+ color: $link-grey;
+ }
}
.section {
diff --git a/app/assets/stylesheets/opengraph.scss b/app/assets/stylesheets/opengraph.scss
index 3e7bd5c02..25b9d9a1e 100644
--- a/app/assets/stylesheets/opengraph.scss
+++ b/app/assets/stylesheets/opengraph.scss
@@ -15,7 +15,7 @@
}
}
a:hover {
- color: $blue;
+ color: $link-color;
}
.thumb {
diff --git a/app/assets/stylesheets/publisher.scss b/app/assets/stylesheets/publisher.scss
index 51c4a494f..0ce5b462c 100644
--- a/app/assets/stylesheets/publisher.scss
+++ b/app/assets/stylesheets/publisher.scss
@@ -102,7 +102,7 @@
padding-left: 10px;
margin-bottom: 0;
color: lighten($text-grey,20%);
- a { color: lighten($blue,20%); }
+ a { color: lighten($link-color, 20%); }
}
&.with_attachments #photodropzone_container {
diff --git a/app/assets/stylesheets/single-post-view.scss b/app/assets/stylesheets/single-post-view.scss
index 9aee28749..15fdbcbde 100644
--- a/app/assets/stylesheets/single-post-view.scss
+++ b/app/assets/stylesheets/single-post-view.scss
@@ -7,7 +7,6 @@
border-bottom: 1px solid $border-grey;
padding: 10px 0;
#post-info {
- .author{ color: $grey; }
.info {
color: lighten($text-grey,10%);
font-size: 12px;
@@ -22,6 +21,9 @@
padding-left: 10px;
}
}
+
+ .author-name { color: $grey; }
+
.near-from {
color: $text-grey;
font-size: 12px;
@@ -83,7 +85,7 @@
color: #f55f5a;
}
i.entypo-reshare:hover {
- color: #3f8fba;
+ color: $blue;
}
time {
float: right;
@@ -115,7 +117,7 @@
.no-comments { text-align: center; }
a {
- color: $blue;
+ color: $link-color;
}
.count {
float: left;
diff --git a/app/assets/stylesheets/stream_element.scss b/app/assets/stylesheets/stream_element.scss
index 46352526c..0cf1c6067 100644
--- a/app/assets/stylesheets/stream_element.scss
+++ b/app/assets/stylesheets/stream_element.scss
@@ -90,7 +90,6 @@
font-weight: bold;
margin-bottom: 4px;
}
- a.author-name { color: $blue; }
.feedback {
margin-top: 5px;
font-size: $font-size-small;
diff --git a/app/assets/stylesheets/tag.scss b/app/assets/stylesheets/tag.scss
index a167fafe8..08a9c1ff4 100644
--- a/app/assets/stylesheets/tag.scss
+++ b/app/assets/stylesheets/tag.scss
@@ -3,15 +3,15 @@
font-weight: bold;
&:hover {
text-decoration: underline;
- background-color: lighten($blue, 47%);
+ background-color: lighten($link-color, 47%);
}
}
-a.tag { color: $blue; }
+a.tag { color: $link-color; }
h1.tag {
- border-bottom: 2px dotted $blue;
- &:hover { border-bottom: 2px dotted $blue; }
+ border-bottom: 2px dotted $link-color;
+ &:hover { border-bottom: 2px dotted $link-color; }
}
.info {
diff --git a/app/assets/templates/stream-element_tpl.jst.hbs b/app/assets/templates/stream-element_tpl.jst.hbs
index 2c65c427a..6347b73fc 100644
--- a/app/assets/templates/stream-element_tpl.jst.hbs
+++ b/app/assets/templates/stream-element_tpl.jst.hbs
@@ -12,7 +12,7 @@
<div>
{{#linkToAuthor author}}
- {{name}}
+ {{~name~}}
{{/linkToAuthor}}
<span class="details gray">
diff --git a/app/controllers/likes_controller.rb b/app/controllers/likes_controller.rb
index 8f9197c3c..20fe1dd69 100644
--- a/app/controllers/likes_controller.rb
+++ b/app/controllers/likes_controller.rb
@@ -11,59 +11,34 @@ class LikesController < ApplicationController
:json
def create
- begin
- @like = if target
- current_user.like!(target)
- end
- rescue ActiveRecord::RecordNotFound, ActiveRecord::RecordInvalid => e
- # do nothing
- end
-
- if @like
- respond_to do |format|
- format.html { render :nothing => true, :status => 201 }
- format.mobile { redirect_to post_path(@like.post_id) }
- format.json { render :json => @like.as_api_response(:backbone), :status => 201 }
- end
- else
- render text: I18n.t("likes.create.error"), status: 422
+ like = like_service.create(params[:post_id])
+ rescue ActiveRecord::RecordNotFound, ActiveRecord::RecordInvalid
+ render text: I18n.t("likes.create.error"), status: 422
+ else
+ respond_to do |format|
+ format.html { render nothing: true, status: 201 }
+ format.mobile { redirect_to post_path(like.post_id) }
+ format.json { render json: like.as_api_response(:backbone), status: 201 }
end
end
def destroy
- begin
- @like = Like.find_by_id_and_author_id!(params[:id], current_user.person.id)
- rescue ActiveRecord::RecordNotFound
+ if like_service.destroy(params[:id])
+ render nothing: true, status: 204
+ else
render text: I18n.t("likes.destroy.error"), status: 404
- return
- end
-
- current_user.retract(@like)
- respond_to do |format|
- format.json { render :nothing => true, :status => 204 }
end
end
- #I can go when the old stream goes.
def index
- @likes = target.likes.includes(:author => :profile)
- @people = @likes.map(&:author)
-
- respond_to do |format|
- format.all { render :layout => false }
- format.json { render :json => @likes.as_api_response(:backbone) }
- end
+ render json: like_service.find_for_post(params[:post_id])
+ .includes(author: :profile)
+ .as_api_response(:backbone)
end
private
- def target
- @target ||= if params[:post_id]
- current_user.find_visible_shareable_by_id(Post, params[:post_id]) || raise(ActiveRecord::RecordNotFound.new)
- else
- Comment.find(params[:comment_id]).tap do |comment|
- raise(ActiveRecord::RecordNotFound.new) unless current_user.find_visible_shareable_by_id(Post, comment.commentable_id)
- end
- end
+ def like_service
+ @like_service ||= LikeService.new(current_user)
end
end
diff --git a/app/controllers/reshares_controller.rb b/app/controllers/reshares_controller.rb
index 7345e6343..4add93174 100644
--- a/app/controllers/reshares_controller.rb
+++ b/app/controllers/reshares_controller.rb
@@ -3,30 +3,22 @@ class ResharesController < ApplicationController
respond_to :json
def create
- post = Post.where(:guid => params[:root_guid]).first
- if post.is_a? Reshare
- @reshare = current_user.build_post(:reshare, :root_guid => post.absolute_root.guid)
- else
- @reshare = current_user.build_post(:reshare, :root_guid => params[:root_guid])
- end
-
- if @reshare.save
- current_user.dispatch_post(@reshare)
- render :json => ExtremePostPresenter.new(@reshare, current_user), :status => 201
- else
- render text: I18n.t("reshares.create.error"), status: 422
- end
+ reshare = reshare_service.create(params[:root_guid])
+ rescue ActiveRecord::RecordNotFound, ActiveRecord::RecordInvalid
+ render text: I18n.t("reshares.create.error"), status: 422
+ else
+ render json: ExtremePostPresenter.new(reshare, current_user), status: 201
end
def index
- @reshares = target.reshares.includes(author: :profile)
- render json: @reshares.as_api_response(:backbone)
+ render json: reshare_service.find_for_post(params[:post_id])
+ .includes(author: :profile)
+ .as_api_response(:backbone)
end
private
- def target
- @target ||= current_user.find_visible_shareable_by_id(Post, params[:post_id]) ||
- raise(ActiveRecord::RecordNotFound.new)
+ def reshare_service
+ @reshare_service ||= ReshareService.new(current_user)
end
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 6fed2b8b6..3a89c597d 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -23,6 +23,12 @@ module ApplicationHelper
AppConfig.settings.source_url.presence || "#{root_path.chomp('/')}/source.tar.gz"
end
+ def donations_enabled?
+ AppConfig.settings.paypal_donations.enable? ||
+ AppConfig.settings.liberapay_username.present? ||
+ AppConfig.bitcoin_donation_address.present?
+ end
+
def timeago(time, options={})
timeago_tag(time, options.merge(:class => 'timeago', :title => time.iso8601, :force => true)) if time
end
diff --git a/app/helpers/aspect_global_helper.rb b/app/helpers/aspect_global_helper.rb
index d495072d9..aa8e052c8 100644
--- a/app/helpers/aspect_global_helper.rb
+++ b/app/helpers/aspect_global_helper.rb
@@ -11,7 +11,7 @@ module AspectGlobalHelper
options
end
- def publisher_aspects_for(stream=nil)
+ def publisher_aspects_for(stream)
if stream
aspects = stream.aspects
aspect = stream.aspect
@@ -25,16 +25,4 @@ module AspectGlobalHelper
end
{selected_aspects: aspects, aspect: aspect, aspect_ids: aspect_ids}
end
-
- def public_selected?(selected_aspects)
- "public" == selected_aspects.try(:first)
- end
-
- def all_aspects_selected?(aspects, selected_aspects)
- !aspects.empty? && aspects.size == selected_aspects.size && !public_selected?(selected_aspects)
- end
-
- def aspect_selected?(aspect, aspects, selected_aspects)
- selected_aspects.include?(aspect) && !all_aspects_selected?(aspects, selected_aspects)
- end
end
diff --git a/app/helpers/interim_stream_hackiness_helper.rb b/app/helpers/interim_stream_hackiness_helper.rb
index 78a893143..b531871f2 100644
--- a/app/helpers/interim_stream_hackiness_helper.rb
+++ b/app/helpers/interim_stream_hackiness_helper.rb
@@ -38,12 +38,4 @@ module InterimStreamHackinessHelper
[]
end
end
-
- def publisher_method(method)
- @stream.try(:publisher).try(method) == true
- end
-
- def publisher_open
- publisher_method(:open)
- end
end
diff --git a/app/helpers/publisher_helper.rb b/app/helpers/publisher_helper.rb
index ba4bc1d37..472f29685 100644
--- a/app/helpers/publisher_helper.rb
+++ b/app/helpers/publisher_helper.rb
@@ -3,25 +3,41 @@
# the COPYRIGHT file.
module PublisherHelper
- def remote?
- params[:controller] != "tags"
- end
-
def service_button(service)
- provider_title = I18n.t(
- "services.index.share_to",
- provider: service.provider.titleize)
+ provider_title = I18n.t("services.index.share_to", provider: service.provider.titleize)
content_tag :div,
class: "btn btn-link service_icon dim",
title: "#{provider_title} (#{service.nickname})",
- id: "#{service.provider}",
- maxchar: "#{service.class::MAX_CHARACTERS}",
+ id: service.provider,
+ maxchar: service.class::MAX_CHARACTERS,
data: {toggle: "tooltip", placement: "bottom"} do
if service.provider == "wordpress"
content_tag(:span, "", class: "social-media-logos-wordpress-16x16")
else
- content_tag(:i, "", class: "entypo-social-#{ service.provider } small")
+ content_tag(:i, "", class: "entypo-social-#{service.provider} small")
end
end
end
+
+ def public_selected?(selected_aspects)
+ "public" == selected_aspects.try(:first) || publisher_boolean?(:public)
+ end
+
+ def all_aspects_selected?(selected_aspects)
+ !all_aspects.empty? && all_aspects.size == selected_aspects.size && !public_selected?(selected_aspects)
+ end
+
+ def aspect_selected?(aspect, selected_aspects)
+ selected_aspects.include?(aspect) && !all_aspects_selected?(selected_aspects) && !public_selected?(selected_aspects)
+ end
+
+ def publisher_open?
+ publisher_boolean?(:open)
+ end
+
+ private
+
+ def publisher_boolean?(option)
+ @stream.try(:publisher).try(option) == true
+ end
end
diff --git a/app/helpers/report_helper.rb b/app/helpers/report_helper.rb
index 67b5ba6ad..248587d94 100644
--- a/app/helpers/report_helper.rb
+++ b/app/helpers/report_helper.rb
@@ -13,7 +13,7 @@ module ReportHelper
post_path(item.post.id, anchor: item.guid)
))
else
- raw t("report.not_found")
+ t("report.not_found")
end
end
diff --git a/app/models/acts_as_taggable_on-tag.rb b/app/models/acts_as_taggable_on-tag.rb
index ca38de751..669a3f618 100644
--- a/app/models/acts_as_taggable_on-tag.rb
+++ b/app/models/acts_as_taggable_on-tag.rb
@@ -4,7 +4,7 @@ module ActsAsTaggableOn
self.include_root_in_json = false
def self.tag_text_regexp
- @@tag_text_regexp ||= "[[:alnum:]]_-"
+ @tag_text_regexp ||= "[[:word:]]\u055b\u055c\u055e\u058a_-"
end
def self.autocomplete(name)
diff --git a/app/models/services/twitter.rb b/app/models/services/twitter.rb
index d973a7268..9e9b10863 100644
--- a/app/models/services/twitter.rb
+++ b/app/models/services/twitter.rb
@@ -106,6 +106,6 @@ class Services::Twitter < Service
end
def delete_from_twitter service_post_id
- client.status_destroy service_post_id
+ client.destroy_status service_post_id
end
end
diff --git a/app/services/like_service.rb b/app/services/like_service.rb
new file mode 100644
index 000000000..411440475
--- /dev/null
+++ b/app/services/like_service.rb
@@ -0,0 +1,33 @@
+class LikeService
+ def initialize(user=nil)
+ @user = user
+ end
+
+ def create(post_id)
+ post = post_service.find!(post_id)
+ user.like!(post)
+ end
+
+ def destroy(like_id)
+ like = Like.find(like_id)
+ if user.owns?(like)
+ user.retract(like)
+ true
+ else
+ false
+ end
+ end
+
+ def find_for_post(post_id)
+ likes = post_service.find!(post_id).likes
+ user ? likes.order("author_id = #{user.person.id} DESC") : likes
+ end
+
+ private
+
+ attr_reader :user
+
+ def post_service
+ @post_service ||= PostService.new(user)
+ end
+end
diff --git a/app/services/reshare_service.rb b/app/services/reshare_service.rb
new file mode 100644
index 000000000..01d725647
--- /dev/null
+++ b/app/services/reshare_service.rb
@@ -0,0 +1,24 @@
+class ReshareService
+ def initialize(user=nil)
+ @user = user
+ end
+
+ def create(post_id)
+ post = post_service.find!(post_id)
+ post = post.absolute_root if post.is_a? Reshare
+ user.reshare!(post)
+ end
+
+ def find_for_post(post_id)
+ reshares = post_service.find!(post_id).reshares
+ user ? reshares.order("author_id = #{user.person.id} DESC") : reshares
+ end
+
+ private
+
+ attr_reader :user
+
+ def post_service
+ @post_service ||= PostService.new(user)
+ end
+end
diff --git a/app/views/admins/stats.html.haml b/app/views/admins/stats.html.haml
index 8f9082ef6..d2d5fcc5e 100644
--- a/app/views/admins/stats.html.haml
+++ b/app/views/admins/stats.html.haml
@@ -20,7 +20,7 @@
= submit_tag t('.go'), class: 'btn btn-primary'
%h3
- != t('.display_results', :segment => @segment)
+ != t("admins.stats.display_results", segment: content_tag(:strong, @segment))
.row
- [:posts, :comments, :aspect_memberships, :users].each do |name|
@@ -45,7 +45,9 @@
.row
.col-md-12
%p.alert.alert-info.text-center{role: "alert"}
- != t('.current_segment', :post_yest => @posts[:yesterday]/@user_count.to_f, :post_day => @posts[:day_before]/@user_count.to_f)
+ != t("admins.stats.current_segment",
+ post_yest: content_tag(:strong, @posts[:yesterday] / @user_count.to_f),
+ post_day: content_tag(:strong, @posts[:day_before] / @user_count.to_f))
.row
.col-md-12
@@ -53,4 +55,6 @@
%ul
- @popular_tags.each do |name,count|
%li
- != t('.tag_name', :name_tag => name, :count_tag => count)
+ != t("admins.stats.tag_name",
+ name_tag: content_tag(:strong, name),
+ count_tag: content_tag(:strong, count))
diff --git a/app/views/aspects/_aspect_dropdown.html.haml b/app/views/aspects/_aspect_dropdown.html.haml
index 6199d4b1e..226bbc068 100644
--- a/app/views/aspects/_aspect_dropdown.html.haml
+++ b/app/views/aspects/_aspect_dropdown.html.haml
@@ -15,7 +15,7 @@
- else
%i.entypo-lock.small#visibility-icon
%span.text
- - if all_aspects_selected?(all_aspects, selected_aspects)
+ - if all_aspects_selected?(selected_aspects)
= t("all_aspects")
- elsif selected_aspects.size == 1
= selected_aspects.first.name
@@ -31,7 +31,7 @@
%span.text
= t("public")
%li.all_aspects.radio{"data-aspect_id" => "all_aspects",
- :class => ("selected" if all_aspects_selected?(all_aspects, selected_aspects))}
+ :class => ("selected" if all_aspects_selected?(selected_aspects))}
%a
%span.status_indicator
%i.glyphicon.glyphicon-ok
@@ -40,7 +40,7 @@
%li.divider
- all_aspects.each do |aspect|
%li.aspect_selector{"data-aspect_id" => aspect.id,
- :class => ("selected" if aspect_selected?(aspect, all_aspects, selected_aspects))}
+ :class => ("selected" if aspect_selected?(aspect, selected_aspects))}
%a
%span.status_indicator
%i.glyphicon.glyphicon-ok
diff --git a/app/views/contacts/_sidebar.html.haml b/app/views/contacts/_sidebar.html.haml
index 8ed81bd57..111097bab 100644
--- a/app/views/contacts/_sidebar.html.haml
+++ b/app/views/contacts/_sidebar.html.haml
@@ -2,14 +2,18 @@
%h3
= t("contacts.index.title")
= render "contacts/aspect_listings"
-%hr
-- if AppConfig.settings.community_spotlight.enable?
- .text-center.spotlight
- = link_to t("contacts.spotlight.community_spotlight"), community_spotlight_path, class: "btn btn-link"
-.text-center
- #invitations-button.btn.btn-link{ "data-toggle" => "modal" }
- = t("invitations.new.invite_someone_to_join")
- = render "shared/modal",
- path: new_user_invitation_path,
- id: "invitationsModal",
- title: t("invitations.new.invite_someone_to_join")
+- if AppConfig.settings.community_spotlight.enable? || AppConfig.settings.invitations.open?
+ %hr
+ - if AppConfig.settings.community_spotlight.enable?
+ .text-center.spotlight
+ = link_to t("contacts.spotlight.community_spotlight"),
+ community_spotlight_path,
+ class: "btn btn-link"
+ - if AppConfig.settings.invitations.open?
+ .text-center
+ .btn.btn-link#invitations-button{"data-toggle" => "modal"}
+ = t("invitations.new.invite_someone_to_join")
+ = render "shared/modal",
+ path: new_user_invitation_path,
+ id: "invitationsModal",
+ title: t("invitations.new.invite_someone_to_join")
diff --git a/app/views/likes/_likes.haml b/app/views/likes/_likes.haml
deleted file mode 100644
index a960df447..000000000
--- a/app/views/likes/_likes.haml
+++ /dev/null
@@ -1,6 +0,0 @@
--# Copyright (c) 2010-2011, Diaspora Inc. This file is
--# licensed under the Affero General Public License version 3 or later. See
--# the COPYRIGHT file.
-
-- @people[0..17].each do |person|
- = person_image_link(person, size: :thumb_small)
diff --git a/app/views/likes/index.html.haml b/app/views/likes/index.html.haml
deleted file mode 100644
index 3fe13daaa..000000000
--- a/app/views/likes/index.html.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render 'likes', :likes => @likes
diff --git a/app/views/publisher/_publisher.html.haml b/app/views/publisher/_publisher.html.haml
index d71b1e27f..1304283a4 100644
--- a/app/views/publisher/_publisher.html.haml
+++ b/app/views/publisher/_publisher.html.haml
@@ -1,4 +1,4 @@
-.row.publisher#publisher{class: ((aspect == :profile || publisher_open) ? "mention_popup" : "closed")}
+.row.publisher#publisher{class: ((aspect == :profile || publisher_open?) ? "mention_popup" : "closed")}
.content_creation
= form_for(StatusMessage.new) do |status|
= status.error_messages
@@ -42,7 +42,7 @@
- if public_selected?(selected_aspects)
= hidden_field_tag "aspect_ids[]", "public"
- - elsif all_aspects_selected?(all_aspects, selected_aspects)
+ - elsif all_aspects_selected?(selected_aspects)
= hidden_field_tag "aspect_ids[]", "all_aspects"
- else
- for aspect_id in aspect_ids
diff --git a/app/views/shared/_donatepod.html.haml b/app/views/shared/_donatepod.html.haml
index 430525e6f..c2d860f92 100644
--- a/app/views/shared/_donatepod.html.haml
+++ b/app/views/shared/_donatepod.html.haml
@@ -1,15 +1,29 @@
- if AppConfig.settings.paypal_donations.enable?
- PayPal:
- %form{action: "https://www.paypal.com/cgi-bin/webscr", method: "post", target: "_blank"}
- %input{name: "cmd", type: "hidden", value: "_s-xclick"}
- - if AppConfig.settings.paypal_donations.paypal_hosted_button_id.present?
- %input{name: "hosted_button_id", type: "hidden", value: AppConfig.settings.paypal_donations.paypal_hosted_button_id}
- -if AppConfig.settings.paypal_donations.paypal_unhosted_button_encrypted.present?
- %input{name: "encrypted", type: "hidden", value: AppConfig.settings.paypal_donations.paypal_unhosted_button_encrypted}
- %input{name: "currency_code", type: "hidden", value: AppConfig.settings.paypal_donations.currency}
- %input{name: "submit", type: "submit", value: t("aspects.index.donate"), class: "btn btn-default"}
+ %p
+ PayPal:
+ %br
+ %form{action: "https://www.paypal.com/cgi-bin/webscr", method: "post", target: "_blank"}
+ %input{name: "cmd", type: "hidden", value: "_s-xclick"}
+ - if AppConfig.settings.paypal_donations.paypal_hosted_button_id.present?
+ %input{name: "hosted_button_id", type: "hidden",
+ value: AppConfig.settings.paypal_donations.paypal_hosted_button_id}
+ - if AppConfig.settings.paypal_donations.paypal_unhosted_button_encrypted.present?
+ %input{name: "encrypted", type: "hidden",
+ value: AppConfig.settings.paypal_donations.paypal_unhosted_button_encrypted}
+ %input{name: "currency_code", type: "hidden", value: AppConfig.settings.paypal_donations.currency}
+ %input.btn.btn-default{name: "submit", type: "submit", value: t("aspects.index.donate")}
-- if AppConfig.bitcoin_donation_address
- Bitcoin:
- %input{type: "text", id: "bitcoin_address", value: AppConfig.bitcoin_donation_address, readonly: true}
+- if AppConfig.settings.liberapay_username.present?
+ %p
+ Liberapay:
+ %br
+ %a{id: "liberapay-button", href: "https://liberapay.com/#{AppConfig.settings.liberapay_username}/donate"}
+ = image_tag "buttons/liberapay-button.svg",
+ alt: t("aspects.index.donate"),
+ title: t("aspects.index.donate_liberapay")
+- if AppConfig.bitcoin_donation_address
+ %p
+ Bitcoin:
+ %br
+ %input{type: "text", id: "bitcoin_address", value: AppConfig.bitcoin_donation_address, readonly: true}
diff --git a/app/views/streams/main_stream.html.haml b/app/views/streams/main_stream.html.haml
index ed210d185..8fe84aefe 100644
--- a/app/views/streams/main_stream.html.haml
+++ b/app/views/streams/main_stream.html.haml
@@ -124,7 +124,7 @@
.content
!= t("bookmarklet.explanation", link: link_to(t("bookmarklet.post_something"), bookmarklet_code))
- - if AppConfig.settings.paypal_donations.enable? || AppConfig.bitcoin_donation_address
+ - if donations_enabled?
.section.collapsed
.title
%h5.title-header
@@ -152,7 +152,7 @@
.excellence-box
.content
%p
- = t("layouts.application.be_excellent")
+ = link_to t("layouts.application.be_excellent"), "https://diasporafoundation.org/community_guidelines"
.info-links
.content
diff --git a/bin/spring b/bin/spring
index 62ec28f8c..9bc076b9e 100755
--- a/bin/spring
+++ b/bin/spring
@@ -7,9 +7,10 @@ unless defined?(Spring)
require 'rubygems'
require 'bundler'
- if (match = Bundler.default_lockfile.read.match(/^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m))
- Gem.paths = { 'GEM_PATH' => [Bundler.bundle_path.to_s, *Gem.path].uniq }
- gem 'spring', match[1]
+ lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
+ if spring = lockfile.specs.detect { |spec| spec.name == "spring" }
+ Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
+ gem 'spring', spring.version
require 'spring/binstub'
end
end
diff --git a/config/application.rb b/config/application.rb
index 617292212..98bf0609f 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -86,6 +86,9 @@ module Diaspora
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'
+ # See lib/tasks/assets.rake: non_digest_assets
+ config.assets.non_digest_assets = %w(branding/logos/asterisk.png)
+
# Configure generators values. Many other options are available, be sure to check the documentation.
config.generators do |g|
g.template_engine :haml
diff --git a/config/database.yml.example b/config/database.yml.example
index 879572d36..20f0ff43a 100644
--- a/config/database.yml.example
+++ b/config/database.yml.example
@@ -17,8 +17,8 @@ mysql: &mysql
collation: utf8mb4_bin
-# Comment the the mysql line and uncomment the postgres line
-# if you want to use postgres
+# Comment the postgresql line and uncomment the mysql line
+# if you want to use mysql
common: &common
# Choose one of the following
<<: *postgresql
diff --git a/config/defaults.yml b/config/defaults.yml
index aea80cd8e..8a58394a1 100644
--- a/config/defaults.yml
+++ b/config/defaults.yml
@@ -4,7 +4,7 @@
defaults:
version:
- number: "0.6.3.0" # Do not touch unless doing a release, do not backport the version number that's in master
+ number: "0.6.4.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/"
@@ -105,6 +105,7 @@ defaults:
currency: USD
paypal_hosted_button_id:
paypal_unhosted_button_encrypted:
+ liberapay_username:
bitcoin_address:
bitcoin_wallet_id: # DEPRECATED: Remove with 0.6
community_spotlight:
diff --git a/config/diaspora.yml.example b/config/diaspora.yml.example
index d4f0622e5..833f36bb0 100644
--- a/config/diaspora.yml.example
+++ b/config/diaspora.yml.example
@@ -430,6 +430,10 @@ configuration: ## Section
## OR encrypted key of unhosted button
#paypal_unhosted_button_encrypted: "-----BEGIN PKCS7-----"
+ ## Liberapay.com is a free platform which allow donations like patreon
+ ## Set your username to include your liberapay button
+ # liberapay_username: "change_me"
+
## Bitcoin donations
## You can provide a bitcoin address here to allow your users to provide
## donations towards the running of their pod.
diff --git a/config/locales/devise/devise.oc.yml b/config/locales/devise/devise.oc.yml
index 567b3cd3a..a48509c2f 100644
--- a/config/locales/devise/devise.oc.yml
+++ b/config/locales/devise/devise.oc.yml
@@ -52,8 +52,8 @@ oc:
unlock: "Desverrolhar mon compte"
welcome: "Benvenguda %{email} !"
omniauth_callbacks:
- failure: "Impossible de vos indentificar dempuèi %{kind} perque %{reason}"
- success: "Autentificacion capitada dempuèi lo compte %{kind}."
+ failure: "Impossible de vos indentificar de %{kind} perque %{reason}"
+ success: "Autentificacion capitada de lo compte %{kind}."
passwords:
edit:
change_password: "Cambiar mon senhal"
diff --git a/config/locales/diaspora/da.yml b/config/locales/diaspora/da.yml
index e277c4a7a..fc2f00c38 100644
--- a/config/locales/diaspora/da.yml
+++ b/config/locales/diaspora/da.yml
@@ -70,9 +70,9 @@ da:
one: "%{count} kommentar"
other: "%{count} kommentarer"
zero: "%{count} kommentarer"
- current_segment: "Det nuværende segment ligger omkring <b>%{post_yest}</b> indlæg pr. bruger, fra <b>%{post_day}</b>"
+ current_segment: "Det nuværende segment ligger omkring %{post_yest} indlæg pr. bruger, fra %{post_day}"
daily: "Daglig"
- display_results: "Viser resultater fra <b>%{segment}</b>-segmentet"
+ display_results: "Viser resultater fra %{segment}-segmentet"
go: "Udfør"
month: "Måned"
posts:
@@ -83,7 +83,7 @@ da:
one: "%{count} deling"
other: "%{count} delinger"
zero: "%{count} delinger"
- tag_name: "Tag navn: <b>%{name_tag}</b> Antal: <b>%{count_tag}</b>"
+ tag_name: "Tag navn: %{name_tag} Antal: %{count_tag}"
usage_statistic: "Bruger statistik"
users:
one: "%{count} bruger"
@@ -219,6 +219,7 @@ da:
updating: "Opdaterer"
index:
donate: "Doner"
+ donate_liberapay: "Doner til Liberapay"
help:
any_problem: "Problemer?"
contact_podmin: "Kontakt din pods administrator!"
@@ -980,7 +981,7 @@ da:
comment_label: "<b>Kommentar</b>: %{data}"
confirm_deletion: "Er du sikker på at du vil slette det valgte?"
delete_link: "Slet det valgte"
- not_found: "<u>Indlægget/kommentaren blev ikke fundet. Det ser ud til at være blevet slettet af brugeren!</u>"
+ not_found: "Indlægget/kommentaren blev ikke fundet. Det ser ud til at være blevet slettet af brugeren!"
post_label: "<b>Indlæg</b>: %{content}"
reason_label: "Begrundelse:"
reported_label: "<b>Indrapporteret af</b> %{person}"
diff --git a/config/locales/diaspora/de-CH.yml b/config/locales/diaspora/de-CH.yml
index 0be40af69..bf5f3a394 100644
--- a/config/locales/diaspora/de-CH.yml
+++ b/config/locales/diaspora/de-CH.yml
@@ -192,14 +192,19 @@ de-CH:
help:
account_and_data_management:
close_account_a: "Gang as Endi vo dine Konto-Iistellige und druck uf \"Konto schlüsse\". Zum das abzschlüsse wirsch du denn ufgforderet dis Passwort iizgäh. Denk drah: Wenn du dis Konto schlüssisch chasch du dich uf dem Pod <strong>nie meh</strong> mit em gliiche Benutzername registriere."
+ close_account_q: "Wie chan ich mis konto lösche?"
data_other_podmins_a: "Wenn du mit jemandem auf einem anderen Pod teilst, werden alle Beiträge, die du teilst, und eine Kopie deiner Profildaten auf dessen Pod gespeichert (\"gecached\") und sind dem Datenbankadministrator des Pods zugänglich. Wenn du einen Beitrag oder deine Profildaten löschst, geschieht dies auch auf allen anderen Pods, auf denen die Daten bisher gespeichert waren. Deine Bilder werden nur auf deinen eigenen Pod gespeichert; nur Links, die zu ihnen führen, werden anderen Pods übermittelt."
data_other_podmins_q: "Chönd d'Admins vo andere Pods mini Informatione gseh?"
data_visible_to_podmin_a: "Die Kommunikation *zwischen* Pods läuft immer verschlüsselt ab (via SSL und diaspora*s eigener Transport-Verschlüsselung), aber gespeichert werden die Daten unverschlüsselt. Wenn er wollte, könnte der Datenbank-Administrator deines Pods (normalerweise die Person, die den Pod betreibt) auf deine gesamten Kontodaten und alles, was du postest, zugreifen (wie auch bei den meisten anderen Webseiten, die Benutzerdaten speichern). Das Betreiben eines eigenen Pods gibt dir mehr Sicherheit, weil du dann den Zugriff auf die Datenbank kontrollierst."
data_visible_to_podmin_q: "Wievil Informatione gseht de Administrator vo mim Pod?"
download_data_a: "Jo, und im bereich Konto i dine Iistellige sind zwei Schaltfläche mit dene du dini Date oder Fotis abelade chasch."
+ download_data_q: "Chan ich ali date wo i uf mim Konto gspeicheret sind abelade?"
move_pods_a: "In Zuekunft wirsch du d'Möglichkeit haa dis Konto z'exportiere und ufeme andere Pod z'importiere, aber das funktioniert im moment nonig. Du chasch jedoch es neus Konto eröffne dini Kontäkt neu hinzuefüege und sie aafroge wiederum mit dir z'teile."
move_pods_q: "Wie chan i mis Konto uf en andere Pod verschiebe?"
title: "Konto- und Dateverwaltig"
+ aspects:
+ title: "Aspekt"
+ what_is_an_aspect_q: "Was isch en Aspekt?"
foundation_website: "D'Webite vo de diaspora* Stiftig"
getting_help:
get_support_a_hashtag: "Stell uf diaspora* e frog mithilf vomene öffentliche post du de hashtag %{question} beinhaltet"
@@ -227,6 +232,10 @@ de-CH:
rejected: "Bi folgende Adresse het's Problem geh: %{emails}"
sent: "Illadige sind a folgendi Adresse gschickt worde: %{emails}"
new:
+ codes_left:
+ one: "Ei Iiladig übrig mit dem Code"
+ other: "%{count} Iiladige übrig mit dem Code"
+ zero: "Kei Iiladige meh übrig mit dem Code"
comma_separated_plz: "Du chasch mehreri E-Mail-Adresse iigeh, wenns dur es Komma trennsch."
invite_someone_to_join: "Lad öpper zu diaspora* ii!"
language: "Sproch"
@@ -242,6 +251,7 @@ de-CH:
toggle: "Mobiili Aasicht umschalte"
whats_new: "Was git's neus?"
header:
+ code: "Code"
logout: "Abmelde"
profile: "Profil"
settings: "Iistellige"
@@ -249,13 +259,22 @@ de-CH:
more: "Meh"
no_results: "Kei Ergebnis gfunde"
notifications:
+ also_commented:
+ one: "%{actors} het au de post %{post_link} vom %{post_author} kommentiert"
+ other: "%{actors} hend au de post %{post_link} vom %{post_author} kommentiert"
comment_on_post:
one: "%{actors} het din Biitrag %{post_link} kommentiert."
other: "%{actors} hend din Biitrag %{post_link} kommentiert."
zero: "Niemer het din Biitrag %{post_link} kommentiert."
index:
and: "und"
+ and_others:
+ one: "und öpper meh"
+ other: "und %{count} anderi"
+ zero: "und niemer susch"
+ mark_all_as_read: "Ali als glese markiere"
mark_unread: "als ungläsä markiere"
+ notifications: "Benochtichtigunge"
liked:
one: "%{actors} gfallt din Biitrag %{post_link}."
other: "%{actors} gfallt din Biitrag %{post_link}."
@@ -379,7 +398,7 @@ de-CH:
update:
failed: "Aktualisierä vom Profil isch fehlgschlage"
updated: "Pofil aktualisiert"
- public: "Öffetlich"
+ public: "Öffentlich"
registrations:
closed: "Uf dem pod isch d'Registrierig deaktiviert"
create:
@@ -419,6 +438,10 @@ de-CH:
services_explanation: "D'Verbindig mit Drittabüter-Dientsch git dir d'Möglichkeit zum dini Biiträg vo diaspora* döt grad mitzveröffentliche."
settings: "Iistelige"
shared:
+ aspect_dropdown:
+ toggle:
+ one: "I %{count} aspekt"
+ other: "I %{count} aspekt"
invitations:
by_email: "Lad Lüüt per email ii"
invite_your_friends: "Lad dini Kollege ii"
@@ -438,7 +461,7 @@ de-CH:
discard_post: "Biitrag verwärfe"
get_location: "Standort ermittle"
new_user_prefill:
- hello: "Hoi zämä I bi %{new_user_tag}. "
+ hello: "Hoi zämä I bi #%{new_user_tag}. "
i_like: "I intressier mich für %{tags}. "
invited_by: "Danke für d'Iilagig, "
newhere: "neudo"
@@ -495,7 +518,7 @@ de-CH:
success: "Dis Konto isch gschperrt. Es chan bis zu 20 Minute goh bis din Account endgültig gschlosse isch. Danke das du diaspora* uusprobiert hesch."
wrong_password: "Das Passwort stimmt nöd mit dim aktuelle Passwort überein."
edit:
- also_commented: "öpper en Biitrag kommentiert wo du scho kommentiert häsch"
+ also_commented: "öpper en Biitrag kommentiert wo du au scho kommentiert häsch"
auto_follow_aspect: "Aspekt für Benutzer mit dene du automatisch afangsch teile:"
auto_follow_back: "Automatisch mit Benutzer zruggteile wo agfange hend mit dir z'teile"
change: "Ändere"
diff --git a/config/locales/diaspora/de-moo.yml b/config/locales/diaspora/de-moo.yml
new file mode 100644
index 000000000..07e86eed1
--- /dev/null
+++ b/config/locales/diaspora/de-moo.yml
@@ -0,0 +1,632 @@
+# Copyright (c) 2010-2013, Diaspora Inc. This file is
+# licensed under the Affero General Public License version 3 or later. See
+# the COPYRIGHT file.
+
+
+
+de-moo:
+ _applications: "Anwendungen"
+ _contacts: "Mitkühe"
+ _services: "Dienste"
+ account: "Konto"
+ activerecord:
+ errors:
+ models:
+ contact:
+ attributes:
+ person_id:
+ taken: "muss innerhalb der Kontakte dieses Benutzers einzigartig sein."
+ person:
+ attributes:
+ diaspora_handle:
+ taken: "wird schon benutzt."
+ request:
+ attributes:
+ from_id:
+ taken: "wurde schon einmal angefordert."
+ reshare:
+ attributes:
+ root_guid:
+ taken: "Ziemlich gut, was? Du hast diesen Beitrag bereits wiedergekäut!"
+ user:
+ attributes:
+ email:
+ taken: "ist schon vergeben."
+ person:
+ invalid: "ist ungültig."
+ username:
+ invalid: "ist ungültig. Es sind nur Buchstaben, Zahlen und Unterstriche erlaubt."
+ taken: "ist schon vergeben."
+ admins:
+ admin_bar:
+ pages: "Seiten"
+ pod_stats: "Bauernhof Statistik"
+ sidekiq_monitor: "Sidekiq-Monitor"
+ user_search: "Kuh Suche"
+ weekly_user_stats: "Wöchentliche Kuhstatistik"
+ stats:
+ 2weeks: "2 Wochen"
+ 50_most: "Die 50 populärsten Tags"
+ comments:
+ one: "%{count} Kommentar"
+ other: "%{count} Kommentare"
+ zero: "%{count} Kommentare"
+ current_segment: "Das aktuelle Segment hat durchschnittlich <b>%{post_yest}</b> Beiträge pro Kuh, seit dem <b>%{post_day}</b>"
+ daily: "täglich"
+ display_results: "Zeige Ergebnisse aus dem Segment <b>%{segment}</b>"
+ go: "los"
+ month: "Monat"
+ posts:
+ one: "Ein Beitrag"
+ other: "%{count} Beiträge"
+ zero: "Kein Beitrag"
+ shares:
+ one: "Ein mal geteilt."
+ other: "%{count} mal geteilt."
+ zero: "Noch nicht geteilt."
+ tag_name: "Tag Name: <b>%{name_tag}</b> Anzahl: <b>%{count_tag}</b>"
+ usage_statistic: "Nutzungsstatistik"
+ users:
+ one: "%{count} Kuh"
+ other: "%{count} Kühe"
+ zero: "%{count} Kühe"
+ week: "Woche"
+ user_search:
+ add_invites: "Einladungen hinzufügen"
+ email_to: "per E-Mail einladen"
+ users:
+ one: "%{count} Kuh gefunden"
+ other: "%{count} Kühe gefunden"
+ zero: "%{count} Kühe gefunden"
+ you_currently:
+ other: "Du hast noch %{user_invitation} Einladungen übrig %{link}"
+ weekly_user_stats:
+ amount_of:
+ one: "Anzahl neuer Kühe diese Woche: Einer"
+ other: "Anzahl neuer Kühe diese Woche: %{count}"
+ zero: "Anzahl neuer Kühe diese Woche: Keiner"
+ current_server: "Das aktuelle Serverdatum ist %{date}"
+ all_aspects: "Alle Herden"
+ 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!"
+ aspect_memberships:
+ destroy:
+ failure: "Die Kuh konnte nicht aus der Herde entfernt werden"
+ no_membership: "Konnte die ausgewählte Kuh in dieser Herde leider nicht finden"
+ success: "Die Kuh wurde erfolgreich aus der Herde entfernt"
+ aspects:
+ add_to_aspect:
+ failure: "Fehler beim Hinzufügen der Kuh zur Herde."
+ success: "Kuh erfolgreich zur Herde hinzugefügt."
+ aspect_listings:
+ add_an_aspect: "+ Herde hinzufügen"
+ aspect_stream:
+ make_something: "Mache etwas"
+ stay_updated: "Bleibe auf dem Laufenden"
+ stay_updated_explanation: "Deine Weide ist gefüllt mit all deinen Mitkühen, Tags, denen du folgst, sowie Beiträgen einiger kreativer Kühe der Gemeinschaft."
+ destroy:
+ failure: "%{name} ist nicht leer und konnte nicht entfernt werden."
+ success: "%{name} wurde erfolgreich entfernt."
+ edit:
+ aspect_list_is_not_visible: "Die Herdenliste wird vor anderen in der Herde versteckt"
+ aspect_list_is_visible: "Die Herdenliste ist für andere in der Herde sichtbar"
+ confirm_remove_aspect: "Bist du dir sicher, dass du diese Herde löschen möchtest?"
+ rename: "umbenennen"
+ update: "Ändern"
+ updating: "Ändere …"
+ index:
+ donate: "Spenden"
+ help:
+ any_problem: "Gibt's ein Problem?"
+ contact_podmin: "Kontaktiere die Leitkuh deines Bauernhofs!"
+ do_you: "Hast du:"
+ feature_suggestion: "… eine Idee für eine %{link}?"
+ find_a_bug: "… ein %{link}?"
+ have_a_question: "… eine %{link}?"
+ here_to_help: "Die Diaspora-Gemeinschaft ist für dich da!"
+ mail_podmin: "Leitkuh E-Mail"
+ need_help: "Benötigst du Hilfe?"
+ tag_bug: "Problem"
+ tag_feature: "Verbesserung"
+ tag_question: "Frage"
+ introduce_yourself: "Das ist deine Weide. Leg los und stell dich vor."
+ keep_pod_running: "Halte Bauernhof %{pod} am Leben und sorge für ausreichend Heu!"
+ new_here:
+ follow: "Folge %{link} und begrüße neue Kühe bei Diaspora*!"
+ learn_more: "mehr erfahren"
+ title: "Begrüße neue Kühe"
+ services:
+ content: "Du kannst die folgenden Dienste mit Diaspora verbinden:"
+ heading: "Verbinde Dienste"
+ welcome_to_diaspora: "Willkommen bei Diaspora, %{name}!"
+ no_contacts_message:
+ community_spotlight: "Gemeinschafts-Schaukasten"
+ or_spotlight: "Du kannst auch mit %{link} teilen"
+ try_adding_some_more_contacts: "Du kannst weitere Kühe suchen oder welche einladen."
+ you_should_add_some_more_contacts: "Du solltest ein paar neue Kühe hinzufügen!"
+ seed:
+ acquaintances: "Bekannte"
+ family: "Familie"
+ friends: "Freunde"
+ work: "Arbeit"
+ update:
+ failure: "%{name} ist ein zu langer Name, um gespeichert zu werden."
+ 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!"
+ destroy:
+ failure: "Ich konnte das Ignorieren dieser Kuh nicht beenden. #evasion"
+ success: "Mal sehen was sie zu sagen haben! #sayhello"
+ bookmarklet:
+ explanation: "Erstelle von überall einen Beitrag in Diaspora, indem du %{link} als Lesezeichen speicherst."
+ heading: "Lesezeichen"
+ post_something: "Erstelle einen Beitrag in Diaspora"
+ cancel: "Abbrechen"
+ comments:
+ new_comment:
+ comment: "Kommentieren"
+ commenting: "Kommentieren …"
+ contacts:
+ index:
+ add_a_new_aspect: "Eine neue Herde hinzufügen"
+ all_contacts: "Alle Mitkühe"
+ community_spotlight: "Gemeinschafts-Focus"
+ my_contacts: "Meine Herden"
+ no_contacts: "Sieht so aus, als müsstest du einige Kühe hinzufügen!"
+ no_contacts_message: "Guck’ in den %{community_spotlight}"
+ only_sharing_with_me: "Nur mit dir Teilende"
+ start_a_conversation: "Beginne eine Unterhaltung"
+ title: "Mitkühe"
+ spotlight:
+ community_spotlight: "Gemeinschafts-Schaukasten"
+ suggest_member: "Ein Mitglied vorschlagen"
+ conversations:
+ create:
+ fail: "Ungültige Nachricht"
+ sent: "Nachricht versendet"
+ index:
+ inbox: "Eingang"
+ no_messages: "Keine Nachrichten"
+ new:
+ send: "Senden"
+ sending: "Senden …"
+ subject: "Betreff"
+ to: "An"
+ show:
+ delete: "Diese Konversation löschen und blockieren"
+ reply: "Antworten"
+ replying: "Antworten …"
+ date:
+ formats:
+ birthday: "%d. %B"
+ birthday_with_year: "%d. %B %Y"
+ fullmonth_day: "%d. %B"
+ delete: "Löschen"
+ email: "E-Mail"
+ error_messages:
+ helper:
+ correct_the_following_errors_and_try_again: "Korrigiere die folgenden Fehler und versuche es erneut."
+ fill_me_out: "Füll mich aus"
+ find_people: "Leute oder #Tags finden"
+ invitations:
+ create:
+ empty: "Bitte mindestens eine E-Mail-Adresse eingeben."
+ no_more: "Du hast keine Einladungen mehr."
+ note_already_sent: "Es wurde bereits eine Einladung an %{emails} gesendet"
+ rejected: "Mit diesen E-Mail-Adressen gab es Probleme:"
+ sent: "Einladungen wurden an %{emails} verschickt."
+ new:
+ codes_left:
+ one: "%{count} Einladung auf diesem Code übrig."
+ other: "%{count} Einladungen auf diesem Code übrig."
+ zero: "Keine Einladung mehr auf diesem Code übrig."
+ comma_separated_plz: "Du kannst mehrere Emailadressen, getrennt durch Kommas, eingeben."
+ invite_someone_to_join: "Lade jemanden zu Diaspora ein!"
+ language: "Sprache"
+ paste_link: "Teile diesen Link mit deinen Freunden, um sie zu Diaspora* einzuladen oder schick' ihnen den Link direkt per Email."
+ send_an_invitation: "Eine Einladung senden"
+ layouts:
+ application:
+ back_to_top: "Zurück zum Anfang"
+ powered_by: "BETRIEBEN MIT DIASPORA*"
+ public_feed: "Öffentlicher Diaspora Feed von %{name}"
+ source_package: "Quelltextpaket runterladen"
+ toggle: "Mobile Ansicht umschalten"
+ whats_new: "Was gibt's Neues?"
+ header:
+ code: "Code"
+ logout: "Abmelden"
+ profile: "Profil"
+ settings: "Einstellungen"
+ limited: "Begrenzt"
+ more: "Mehr"
+ no_results: "Keine Ergebnisse gefunden."
+ notifications:
+ also_commented:
+ few: "%{actors} haben auch %{post_author}s %{post_link} kommentiert."
+ many: "%{actors} haben auch %{post_author}s %{post_link} kommentiert."
+ one: "%{actors} hat auch %{post_author}s %{post_link} kommentiert."
+ other: "%{actors} haben auch %{post_author}s %{post_link} kommentiert."
+ two: "%{actors} haben auch %{post_author}s %{post_link} kommentiert."
+ zero: "%{actors} hat auch %{post_author}s %{post_link} kommentiert."
+ also_commented_deleted:
+ few: "%{actors} haben einen inzwischen gelöschten Beitrag kommentiert."
+ many: "%{actors} haben einen inzwischen gelöschten Beitrag kommentiert."
+ one: "%{actors} hat einen inzwischen gelöschten Beitrag kommentiert."
+ other: "%{actors} haben einen inzwischen gelöschten Beitrag kommentiert."
+ two: "%{actors} haben einen inzwischen gelöschten Beitrag kommentiert."
+ zero: "Niemand hat einen inzwischen gelöschten Beitrag kommentiert."
+ comment_on_post:
+ few: "%{actors} haben deinen %{post_link} kommentiert."
+ many: "%{actors} haben deinen %{post_link} kommentiert."
+ one: "%{actors} hat deinen %{post_link} kommentiert."
+ other: "%{actors} haben deinen %{post_link} kommentiert."
+ two: "%{actors} hat deinen %{post_link} kommentiert."
+ zero: "Niemand hat deinen %{post_link} kommentiert."
+ index:
+ and: "und"
+ and_others:
+ few: "und %{count} anderen"
+ many: "und %{count} anderen"
+ one: "und einem anderen"
+ other: "und %{count} anderen"
+ two: "und %{count} andere"
+ zero: "und niemand sonst"
+ mark_all_as_read: "Markiere alle als gelesen"
+ mark_unread: "als ungelesen markieren"
+ notifications: "Benachrichtigungen"
+ liked:
+ few: "%{actors} gefällt dein %{post_link}."
+ many: "%{actors} gefällt dein %{post_link}."
+ one: "%{actors} gefällt dein %{post_link}."
+ other: "%{actors} gefällt dein %{post_link}."
+ two: "%{actors} gefällt dein %{post_link}."
+ zero: "Niemandem gefällt dein %{post_link}."
+ liked_post_deleted:
+ few: "%{actors} gefällt dein gelöschter Beitrag."
+ many: "%{actors} gefällt dein gelöschter Beitrag."
+ one: "%{actors} gefällt dein gelöschter Beitrag."
+ other: "%{actors} gefällt dein gelöschter Beitrag."
+ two: "%{actors} gefällt dein gelöschter Beitrag."
+ zero: "Niemandem gefällt dein gelöschter Beitrag."
+ mentioned:
+ few: "%{actors} haben dich in einem %{post_link} erwähnt."
+ many: "%{actors} haben dich in einem %{post_link} erwähnt."
+ one: "%{actors} hat dich in einem %{post_link} erwähnt."
+ other: "%{actors} haben dich in einem %{post_link} erwähnt."
+ two: "%{actors} hat dich in einem %{post_link} erwähnt."
+ zero: "Niemand hat dich in einem %{post_link} erwähnt."
+ mentioned_deleted:
+ few: "%{actors} haben dich in einem gelöschten Beitrag erwähnt."
+ many: "%{actors} haben dich in einem gelöschten Beitrag erwähnt."
+ one: "%{actors} hat dich in einem gelöschten Beitrag erwähnt."
+ other: "%{actors} haben dich in einem gelöschten Beitrag erwähnt."
+ two: "%{actors} hat dich in einem bereits gelöschten Beitrag erwähnt."
+ zero: "Niemand hat dich in einem gelöschten Beitrag erwähnt."
+ post: "Beitrag"
+ private_message:
+ few: "%{actors} haben dir eine Nachricht gesendet."
+ many: "%{actors} haben dir eine Nachricht gesendet."
+ one: "%{actors} hat dir eine Nachricht gesendet."
+ other: "%{actors} haben dir eine Nachricht gesendet."
+ two: "%{actors} hat dir eine Nachricht geschickt."
+ zero: "%{actors} hat dir eine Nachricht gesendet."
+ reshared:
+ few: "%{actors} haben deinen %{post_link} wiedergekäut."
+ many: "%{actors} haben deinen %{post_link} wiedergekäut."
+ one: "%{actors} hat deinen %{post_link} wiedergekäut."
+ other: "%{actors} haben deinen %{post_link} wiedergekäut."
+ two: "%{actors} hat deinen %{post_link} weitergeleitet."
+ zero: "%{actors} haben deinen %{post_link} wiedergekäut."
+ reshared_post_deleted:
+ few: "%{actors} haben deinen gelöschten Beitrag wiedergekäut."
+ many: "%{actors} haben deinen gelöschten Beitrag wiedergekäut."
+ one: "%{actors} hat deinen gelöschten Beitrag wiedergekäut."
+ other: "%{actors} haben deinen gelöschten Beitrag wiedergekäut."
+ two: "%{actors} hat deinen bereits gelöschten Beitrag weitergeleitet."
+ zero: "%{actors} haben deinen gelöschten Beitrag wiedergekäut."
+ started_sharing:
+ few: "%{actors} haben angefangen mit dir zu teilen."
+ many: "%{actors} haben angefangen mit dir zu teilen."
+ one: "%{actors} hat angefangen mit dir zu teilen."
+ other: "%{actors} haben angefangen mit dir zu teilen."
+ two: "%{actors} haben angefangen mit dir zu teilen."
+ zero: "Niemand hat angefangen mit dir zu teilen."
+ notifier:
+ a_post_you_shared: "ein Beitrag."
+ click_here: "Hier klicken"
+ comment_on_post:
+ reply: "Antworte oder schau dir %{name}s Beitrag an >"
+ confirm_email:
+ click_link: "Um deine neue E-Mail-Adresse %{unconfirmed_email} zu aktivieren, klicke bitte auf diesen Link:"
+ subject: "Bitte aktiviere deine neue E-Mail-Adresse %{unconfirmed_email}"
+ email_sent_by_diaspora: "Diese E-Mail wurde von %{pod_name} verschickt. Falls du solche E-Mails nicht mehr erhalten willst,"
+ hello: "Hallo %{name}!"
+ invite:
+ message: |-
+ Hallo!
+
+ Du wurdest eingeladen Diaspora* beizutreten!
+
+ Klick auf diesen Link um loszulegen
+
+ %{invite_url}
+
+
+ Alles Liebe,
+
+ der Diaspora* E-Mail Roboter!
+ invited_you: "%{name} hat Dich zu Diaspora* eingeladen"
+ liked:
+ liked: "%{name} gefällt dein Beitrag"
+ view_post: "Beitrag betrachten >"
+ mentioned:
+ subject: "%{name} hat dich auf Diaspora* erwähnt"
+ private_message:
+ reply_to_or_view: "Antworte oder sieh dir diese Unterhaltung an >"
+ reshared:
+ reshared: "%{name} hat deinen Beitrag wiedergekäut"
+ view_post: "Beitrag anzeigen >"
+ single_admin:
+ admin: "Dein Diaspora Administrator"
+ subject: "Eine Nachricht über dein Diaspora Konto:"
+ started_sharing:
+ sharing: "hat angefangen mit dir zu teilen!"
+ subject: "%{name} hat angefangen mit dir auf Diaspora* zu teilen"
+ view_profile: "Schau dir %{name}s Profil an"
+ thanks: "Danke,"
+ to_change_your_notification_settings: "um deine Benachrichtigungs-Einstellungen zu ändern"
+ nsfw: "NSFW (unpassend für den Arbeitsplatz)"
+ ok: "OK"
+ people:
+ add_contact:
+ invited_by: "Du wurdest eingeladen von"
+ index:
+ looking_for: "Suchst du mit %{tag_link} getaggte Beiträge?"
+ no_one_found: "… und niemand wurde gefunden."
+ no_results: "Hey! Du musst nach etwas suchen."
+ results_for: "Suchergebnisse für"
+ searching: "suche, bitte warten..."
+ person:
+ thats_you: "Das bist du!"
+ profile_sidebar:
+ bio: "Beschreibung"
+ born: "Geburtstag"
+ gender: "Geschlecht"
+ location: "Ort"
+ show:
+ closed_account: "Dieses Konto wurde geschlossen."
+ does_not_exist: "Diese Kuh existiert nicht!"
+ has_not_shared_with_you_yet: "%{name} hat bisher noch keine Beiträge mit dir geteilt!"
+ photos:
+ create:
+ integrity_error: "Hochladen des Fotos fehlgeschlagen. Bist du sicher, dass es eine Bilddatei war?"
+ runtime_error: "Hochladen des Fotos fehlgeschlagen. Bist du sicher, dass du deinen Morgenkaffee hattest?"
+ type_error: "Hochladen des Fotos fehlgeschlagen. Bist du sicher, dass ein Bild hinzugefügt wurde?"
+ destroy:
+ notice: "Foto gelöscht."
+ new_profile_photo:
+ upload: "Ein neues Profilfoto hochladen"
+ posts:
+ presenter:
+ title: "Ein Beitrag von %{name}"
+ show:
+ photos_by:
+ few: "%{count} Fotos von %{author}"
+ many: "%{count} Fotos von %{author}"
+ one: "Ein Foto von %{author}"
+ other: "%{count} Fotos von %{author}"
+ two: "Zwei Fotos von %{author}"
+ zero: "Keine Fotos von %{author}"
+ reshare_by: "Wiedergekäut von %{author}"
+ privacy: "Privatsphäre"
+ profile: "Profil"
+ profiles:
+ edit:
+ allow_search: "Anderen erlauben, auf Diaspora nach dir zu suchen"
+ first_name: "Vorname"
+ last_name: "Nachname"
+ update_profile: "Profil aktualisieren"
+ your_bio: "Deine Beschreibung"
+ your_birthday: "Dein Geburtstag"
+ your_gender: "Dein Geschlecht"
+ your_location: "Dein Ort"
+ your_name: "Dein Name"
+ your_photo: "Dein Profilbild"
+ your_tags: "Beschreibe dich in 5 Worten"
+ your_tags_placeholder: "Zum Beispiel: #Diaspora #lustig #Kätzchen #Musik"
+ update:
+ failed: "Fehler beim Aktualisieren deines Profils"
+ updated: "Profil aktualisiert"
+ public: "Öffentlich"
+ registrations:
+ closed: "Neuregistrierungen sind auf diesem Bauernhof geschlossen."
+ create:
+ success: "Du bist Diaspora beigetreten!"
+ invalid_invite: "Der von dir erstellte Einladungs-Link ist nicht mehr gültig!"
+ new:
+ email: "EMAIL"
+ enter_email: "Gib eine E-Mail-Adresse an"
+ enter_password: "Gib ein Kennwort ein (mindestens sechs Zeichen)"
+ enter_password_again: "Gib das gleiche Kennwort wie zuvor ein"
+ enter_username: "Wähle einen Nutzernamen (nur Buchstaben, Nummern und Unterstriche)"
+ password: "PASSWORT"
+ password_confirmation: "PASSWORT BESTÄTIGEN"
+ sign_up: "REGISTRIEREN"
+ username: "BENUTZERNAME"
+ reshares:
+ comment_email_subject: "%{resharer}s Version von %{author}s Beitrag"
+ reshare:
+ deleted: "Originalbeitrag wurde vom Autor entfernt."
+ reshare_confirmation: "%{author}s Beitrag wiederkäuen?"
+ reshared_via: "wiedergekäut durch"
+ search: "Suche"
+ services:
+ create:
+ already_authorized: "Ein anderer Nutzer mit der Diaspora ID %{diaspora_id} hat diesen %{service_name}-Account bereits autorisiert."
+ failure: "Authentifizierung fehlgeschlagen."
+ success: "Authentifizierung erfolgreich."
+ destroy:
+ success: "Authentifizierung erfolgreich gelöscht."
+ failure:
+ error: "Es gab einen Fehler der Verbindung mit dem Dienst."
+ index:
+ disconnect: "Verbindung entfernen"
+ edit_services: "Dienste bearbeiten"
+ logged_in_as: "angemeldet als"
+ really_disconnect: "Verbindung mit %{service} entfernen?"
+ settings: "Einstellungen"
+ shared:
+ aspect_dropdown:
+ toggle:
+ few: "In %{count} Herden"
+ many: "In %{count} Herden"
+ one: "In einer Herde"
+ other: "In %{count} Herden"
+ two: "In %{count} Herden"
+ zero: "Zu Herde hinzufügen"
+ invitations:
+ by_email: "Per E-Mail"
+ invite_your_friends: "Lade deine Freunde ein"
+ invites: "Einladungen"
+ share_this: "Teile diesen Link per Email, Blog oder deinem beliebtesten sozialen Netzwerk!"
+ public_explain:
+ atom_feed: "Atom-Feed"
+ control_your_audience: "Kontrolliere deine Zielgruppe"
+ logged_in: "Eingeloggt in %{service}"
+ manage: "Verbundene Dienste verwalten"
+ new_user_welcome_message: "Benutze #Hashtags, um deine Beiträge einzuordnen und Leute zu finden, die deine Interessen teilen. Benenne tolle Leute mit @Mentions"
+ outside: "Öffentliche Nachrichten werden für andere außerhalb von Diaspora sichtbar sein."
+ share: "Teilen"
+ title: "Verbundene Dienste verwalten"
+ visibility_dropdown: "Benutze dieses Auswahlmenü, um die Sichtbarkeit deines Beitrags zu ändern. (Wir empfehlen Dir, diesen ersten Beitrag öffentlich zu machen.)"
+ publisher:
+ discard_post: "Beitrag verwerfen"
+ get_location: "Deinen Standort ermitteln"
+ new_user_prefill:
+ hello: "Hallo zusammen, ich bin #%{new_user_tag}. "
+ i_like: "Ich interessiere mich für %{tags}."
+ invited_by: "Danke für die Einladung,"
+ newhere: "NeuHier"
+ posting: "Senden …"
+ share: "Teilen"
+ upload_photos: "Fotos hochladen"
+ whats_on_your_mind: "Woran denkst du gerade?"
+ stream_element:
+ via: "via %{link}"
+ via_mobile: "über mobil"
+ status_messages:
+ create:
+ success: "Erfolgreich erwähnt: %{names}"
+ new:
+ mentioning: "Erwähnt: %{person}"
+ too_long: "{\"few\"=>\"Bitte kürze deinen Beitrag auf weniger als %{count} Zeichen.\", \"many\"=>\"Bitte kürze deinen Beitrag auf weniger als %{count} Zeichen.\", \"one\"=>\"Bitte kürze deinen Beitrag auf weniger als %{count} Zeichen.\", \"other\"=>\"Bitte kürze deinen Beitrag auf weniger als %{count} Zeichen.\", \"two\"=>\"Bitte kürze deinen Beitrag auf unter %{count} Zeichen.\", \"zero\"=>\"Bitte kürze deinen Beitrag auf weniger als %{count} Zeichen.\"}"
+ streams:
+ activity:
+ title: "Meine Aktivitäten"
+ aspects:
+ title: "Meine Herden"
+ aspects_stream: "Herden"
+ comment_stream:
+ title: "Kommentierte Beiträge"
+ community_spotlight_stream: "Gemeinschafts-Fokus"
+ followed_tag:
+ add_a_tag: "Füge einen Tag hinzu"
+ follow: "Folgen"
+ title: "#Tags, denen du folgst"
+ followed_tags_stream: "#Tags, denen du folgst"
+ like_stream:
+ title: "\"Gefällt mir\"-Weide"
+ mentioned_stream: "@Erwähnungen"
+ mentions:
+ title: "@Erwähnungen"
+ multi:
+ title: "Weide"
+ public:
+ title: "Öffentliche Aktivität"
+ tags:
+ title: "Getaggte Beiträge: %{tags}"
+ tags:
+ show:
+ follow: "#%{tag} folgen"
+ none: "Der leere Tag existiert nicht!"
+ stop_following: "#%{tag} nicht mehr folgen"
+ username: "Benutzername"
+ users:
+ confirm_email:
+ email_confirmed: "E-Mail %{email} wurde aktiviert"
+ email_not_confirmed: "Die E-Mail-Adresse konnte nicht aktiviert werden. Falscher Link?"
+ destroy:
+ no_password: "Bitte gib dein Kennwort ein, um deinen Account zu schließen."
+ success: "Dein Account wurde gesperrt. Es kann bis zu 20 Minuten dauern, bis dein Account endgültig geschlossen ist. Vielen Dank, dass du Diaspora ausprobiert hast."
+ wrong_password: "Das eingegebene Kennwort stimmt nicht mit deinem aktuellen Kennwort überein."
+ edit:
+ also_commented: "… jemand ebenfalls den Beitrag einer Mitkuh kommentiert?"
+ auto_follow_aspect: "Herde für automatisch gefolgten Kühe:"
+ auto_follow_back: "Folge Kühen automatisch, wenn sie dir folgen"
+ change: "Ändern"
+ change_email: "E-Mail-Adresse ändern"
+ change_language: "Sprache ändern"
+ change_password: "Kennwort ändern"
+ character_minimum_expl: "bitte mindestens sechs Zeichen eingeben"
+ close_account:
+ dont_go: "Hey, bitte geh nicht!"
+ lock_username: "Das wird deinen Benutzernamen sperren, falls du dich dazu entscheidest, dich neu anzumelden."
+ locked_out: "Du wirst abgemeldet und von deinem Account ausgesperrt."
+ make_diaspora_better: "Wir möchten, dass du uns dabei hilfst Diaspora besser zumachen, anstatt zu gehen. Wenn du wirklich gehen möchtest, wollen wir dich auf dem Laufenden halten."
+ mr_wiggles: "Mr. Wiggles wird traurig sein, wenn du gehst"
+ no_turning_back: "Momentan gibt es kein Zurück."
+ what_we_delete: "Wir löschen alle deine Beiträge und dein Profil so schnell wie möglich. Deine Kommentare bleiben hier, werden jedoch mit deinem Diaspora-Handle verbunden."
+ close_account_text: "Konto schließen"
+ comment_on_post: "… jemand deinen Beitrag kommentiert?"
+ current_password: "Derzeitiges Kennwort"
+ current_password_expl: "das mit dem Du dich anmeldest..."
+ edit_account: "Konto bearbeiten"
+ email_awaiting_confirmation: "Wir haben dir einen Aktivierungslink zu %{unconfirmed_email} geschickt. Solange du dem Link nicht gefolgt bist und die neue Adresse aktiviert hast, werden wir weiterhin deine ursprüngliche E-Mail-Adresse %{email} verwenden."
+ export_data: "Daten exportieren"
+ following: "Folgen-Einstellungen"
+ liked: "… wenn jemandem dein Beitrag gefällt?"
+ mentioned: "… du in einem Beitrag erwähnt wirst?"
+ new_password: "Neues Kennwort"
+ private_message: "… du eine private Nachricht erhältst?"
+ receive_email_notifications: "E-Mail-Benachrichtigungen empfangen, wenn …"
+ reshared: "… jemand deinen Beitrag weitersagt?"
+ show_community_spotlight: "Gemeinschafts-Schaukasten in Weide anzeigen?"
+ show_getting_started: "Einstiegshinweise wieder aktivieren"
+ started_sharing: "… jemand mit dir zu teilen anfängt?"
+ stream_preferences: "Weiden-Einstellungen"
+ your_email: "Deine E-Mail-Adresse"
+ your_handle: "Deine Diaspora ID"
+ getting_started:
+ awesome_take_me_to_diaspora: "Super! Bring mich zu Diaspora*"
+ community_welcome: "Diasporas Gemeinschaft ist froh, dich an Bord zu haben!"
+ connect_to_facebook: "Wir können das Ganze etwas beschleunigen, indem du %{link}. So werden dein Name und dein Profilbild hier eingefügt und die Crossposting-Funktion aktiviert."
+ connect_to_facebook_link: "dein Facebook-Konto mit Diaspora verlinkst"
+ hashtag_explanation: "Hashtags ermöglichen dir, über deine Interessen zu reden und ihnen zu folgen. Sie sind auch ein guter Weg, neue Leute bei Diaspora zu treffen!"
+ hashtag_suggestions: "Probier mal Tags wie #kunst, #musik oder #gif zu folgen."
+ well_hello_there: "Also, Hallöchen!"
+ what_are_you_in_to: "Was machst du so?"
+ who_are_you: "Wer bist Du?"
+ privacy_settings:
+ ignored_users: "Kühe, die ignoriert werden"
+ stop_ignoring: "Aufhören, zu ignorieren"
+ title: "Privatsphären-Einstellungen"
+ public:
+ does_not_exist: "Kuh %{username} existiert nicht!"
+ update:
+ email_notifications_changed: "E-Mail-Benachrichtigungen geändert"
+ follow_settings_changed: "Folgen-Einstellungen geändert"
+ follow_settings_not_changed: "Ändern der Folgen-Einstellungen fehlgeschlagen."
+ language_changed: "Sprache geändert"
+ language_not_changed: "Fehler beim Ändern der Sprache."
+ password_changed: "Kennwort geändert. Du kannst dich nun mit deinem neuen Kennwort anmelden."
+ password_not_changed: "Fehler beim Ändern des Kennworts."
+ settings_not_updated: "Aktualisierung der Einstellungen fehlgeschlagen"
+ settings_updated: "Einstellungen aktualisiert"
+ unconfirmed_email_changed: "E-Mail-Adresse geändert. Benötigt Aktivierung."
+ unconfirmed_email_not_changed: "Fehler bei Änderung der E-Mail-Adresse"
+ will_paginate:
+ next_label: "nächstes &raquo;"
+ previous_label: "&laquo; voriges" \ No newline at end of file
diff --git a/config/locales/diaspora/de.yml b/config/locales/diaspora/de.yml
index d34d9f6c7..733f1c71b 100644
--- a/config/locales/diaspora/de.yml
+++ b/config/locales/diaspora/de.yml
@@ -70,9 +70,9 @@ de:
one: "%{count} Kommentar"
other: "%{count} Kommentare"
zero: "%{count} Kommentare"
- current_segment: "Das aktuelle Segment hat durchschnittlich <b>%{post_yest}</b> Beiträge pro Benutzer, seit dem <b>%{post_day}</b>"
+ current_segment: "Das aktuelle Segment hat durchschnittlich %{post_yest} Beiträge pro Benutzer seit dem %{post_day}"
daily: "täglich"
- display_results: "Zeige Ergebnisse aus dem Segment <b>%{segment}</b>"
+ display_results: "Zeige Ergebnisse aus dem Segment %{segment}"
go: "Los"
month: "Monat"
posts:
@@ -83,7 +83,7 @@ de:
one: "Ein mal geteilt."
other: "%{count} mal geteilt."
zero: "Noch nicht geteilt."
- tag_name: "Tag Name: <b>%{name_tag}</b> Anzahl: <b>%{count_tag}</b>"
+ tag_name: "Tag-Name: %{name_tag} Anzahl: %{count_tag}"
usage_statistic: "Nutzungsstatistik"
users:
one: "%{count} Benutzer"
@@ -222,6 +222,7 @@ de:
updating: "Wird geändert …"
index:
donate: "Spenden"
+ donate_liberapay: "An liberapay spenden"
help:
any_problem: "Gibt's ein Problem?"
contact_podmin: "Kontaktiere den Administrator deines Pods!"
@@ -367,7 +368,7 @@ de:
post_multiple_aspects_q: "Kann ich einen Beitrag in mehreren Aspekten gleichzeitig erstellen?"
remove_notification_a: "Nein. Sie werden auch nicht benachrichtigt, wenn du sie zu mehr Aspekten hinzufügst, während du schon mit ihnen teilst."
remove_notification_q: "Wird ein Kontakt informiert, wenn ich ihn aus einem oder mehreren Aspekten entferne?"
- rename_aspect_a: "Klick in der Stream-Ansicht in der Seitenleiste auf „Meine Aspekte” und dann auf das Stiftsymbol bei dem Aspekt, den du umbenennen möchtest, oder geh zu deiner „Kontakte”-Seite und wähl den entsprechenden Aspekt aus. Klick dann auf das Bearbeitungssymbol neben dem Aspektnamen oben auf der Seite, änder den Namen und klick auf „Ändern”."
+ rename_aspect_a: "Klicke in der Stream-Ansicht in der Seitenleiste auf „Meine Aspekte” und dann auf das Stiftsymbol bei dem Aspekt, den du umbenennen möchtest, oder gehe zu deiner „Kontakte”-Seite und wähle den entsprechenden Aspekt aus. Klicke dann auf das Bearbeitungssymbol neben dem Aspektnamen oben auf der Seite, ändere den Namen und klicke auf „Ändern”."
rename_aspect_q: "Wie benenne ich einen Aspekt um?"
restrict_posts_i_see_a: "Ja. Klicke dazu in der Seitenleiste erst auf „Meine Aspekte“ und anschließend auf einzelne Aspekte, um diese aus- oder abzuwählen. Anschließend werden nur noch Beiträge von Personen aus den ausgewählten Aspekten im Stream angezeigt werden."
restrict_posts_i_see_q: "Kann ich angezeigte Beiträge in meinem Stream auf bestimmte Aspekte beschränken?"
@@ -411,7 +412,7 @@ de:
title: "Tastenkürzel"
markdown: "Markdown"
mentions:
- how_to_mention_a: "Tippe das \"@\"-Zeichen und beginne seinen Namen einzugeben. Ein Dropdown-Menü sollte erscheinen, um das Einfügen zu erleichtern. Beachte, dass du nur Leute erwähnen kannst, die du zu einem deiner Aspekte hinzugefügt hast."
+ how_to_mention_a: "Tippe das \"@\"-Zeichen und beginne, den zu erwähnenden Namen einzugeben. Ein Dropdown-Menü sollte erscheinen, um das Einfügen zu erleichtern. Beachte, dass du nur Leute erwähnen kannst, die du zu einem deiner Aspekte hinzugefügt hast."
how_to_mention_q: "Wie erwähne ich jemand in einem Beitrag?"
mention_in_comment_a: "Nein, momentan nicht."
mention_in_comment_q: "Kann ich in den Kommentaren jemanden erwähnen?"
@@ -664,7 +665,7 @@ de:
mark_all_shown_as_read: "Alle angezeigten als gelesen markieren"
mark_read: "Als gelesen markieren"
mark_unread: "als ungelesen markieren"
- mentioned: "In Beitrag erwähnt"
+ mentioned: "Erwähnt"
no_notifications: "Du hast noch keine Benachrichtigungen."
notifications: "Benachrichtigungen"
reshared: "Weitergesagt"
@@ -685,9 +686,11 @@ de:
mentioned:
one: "%{actors} hat dich im Beitrag %{post_link} erwähnt."
other: "%{actors} haben dich im Beitrag %{post_link} erwähnt."
+ zero: "%{actors} haben dich im Beitrag %{post_link} erwähnt."
mentioned_deleted:
one: "%{actors} hat dich in einem gelöschten Beitrag erwähnt."
other: "%{actors} haben dich in einem gelöschten Beitrag erwähnt."
+ zero: "%{actors} haben dich in einem gelöschten Beitrag erwähnt."
post: "Beitrag"
private_message:
few: "%{actors} haben dir eine Nachricht gesendet."
@@ -797,9 +800,9 @@ de:
message: |-
Hallo!
- Du wurdest von %{diaspora_id} eingeladen diaspora* beizutreten!
+ Du wurdest von %{diaspora_id} eingeladen, diaspora* beizutreten!
- Klick auf diesen Link um loszulegen
+ Klicke auf diesen Link, um loszulegen
[%{invite_url}][1]
@@ -809,7 +812,7 @@ de:
der diaspora* E-Mail Roboter!
- PS: Nur für den Fall das du (bisher) nicht weißt was diaspora* ist, [hier][2] gibt es die Antwort.
+ PS: Nur für den Fall, dass du (noch) nicht weißt, was diaspora* ist, [hier][2] gibt es die Antwort.
[1]: %{invite_url}
[2]%{diasporafoundation_url}
@@ -980,7 +983,7 @@ de:
comment_label: "<b>Kommentar</b>: %{data}"
confirm_deletion: "Bist du dir sicher, dass du das Objekt löschen willst?"
delete_link: "Lösche Element"
- not_found: "<u>Der Beitrag/Kommentar wurde nicht gefunden. Es sieht so aus, als ob er vom Benutzer gelöscht wurde!</u>"
+ not_found: "Der Beitrag/Kommentar wurde nicht gefunden. Es sieht so aus, als ob er vom Benutzer gelöscht wurde!"
post_label: "<b>Beitrag</b>: %{content}"
reason_label: "Grund:"
reported_label: "<b>Gemeldet von</b> %{person}"
diff --git a/config/locales/diaspora/de_formal.yml b/config/locales/diaspora/de_formal.yml
index 42708533c..430be664e 100644
--- a/config/locales/diaspora/de_formal.yml
+++ b/config/locales/diaspora/de_formal.yml
@@ -70,9 +70,9 @@ de_formal:
one: "%{count} Kommentar"
other: "%{count} Kommentare"
zero: "%{count} Kommentare"
- current_segment: "Das aktuelle Segment hat durchschnittlich <b>%{post_yest}</b> Beiträge pro Benutzer, seit dem <b>%{post_day}</b>"
+ current_segment: "Das aktuelle Segment hat durchschnittlich %{post_yest} Beiträge pro Benutzer seit dem %{post_day}"
daily: "täglich"
- display_results: "Zeige Ergebnisse aus dem Segment <b>%{segment}</b>"
+ display_results: "Zeige Ergebnisse aus dem Segment %{segment}"
go: "Los"
month: "Monat"
posts:
@@ -83,7 +83,7 @@ de_formal:
one: "%{count} mal geteilt"
other: "%{count} mal geteilt"
zero: "%{count} mal geteilt"
- tag_name: "Tag-Name: <b>%{name_tag}</b> Anzahl: <b>%{count_tag}</b>"
+ tag_name: "Tag-Name: %{name_tag} Anzahl: %{count_tag}"
usage_statistic: "Nutzungsstatistik"
users:
one: "%{count} Benutzer"
@@ -222,6 +222,7 @@ de_formal:
updating: "Ändere…"
index:
donate: "Spenden"
+ donate_liberapay: "An liberapay spenden"
help:
any_problem: "Gibt es ein Problem?"
contact_podmin: "Kontaktieren Sie den Administrator Ihres Pods!"
@@ -664,7 +665,7 @@ de_formal:
mark_all_shown_as_read: "Alle angezeigten als gelesen markieren"
mark_read: "Als gelesen markieren"
mark_unread: "als ungelesen markieren"
- mentioned: "In Beitrag erwähnt"
+ mentioned: "Erwähnt"
no_notifications: "Sie haben noch keine Benachrichtigungen."
notifications: "Benachrichtigungen"
reshared: "Weitergesagt"
@@ -685,9 +686,11 @@ de_formal:
mentioned:
one: "%{actors} hat Sie in dem Beitrag %{post_link} erwähnt."
other: "%{actors} haben Sie in dem Beitrag %{post_link} erwähnt."
+ zero: "%{actors} haben Sie in dem Beitrag %{post_link} erwähnt."
mentioned_deleted:
one: "%{actors} hat Sie in einem gelöschten Beitrag erwähnt."
other: "%{actors} haben Sie in einem gelöschten Beitrag erwähnt."
+ zero: "%{actors} haben Sie in einem gelöschten Beitrag erwähnt."
post: "Beitrag"
private_message:
few: "%{actors} haben Ihnen eine Nachricht gesendet."
@@ -970,11 +973,11 @@ de_formal:
terms_link: "Nutzungsbedingungen"
username: "Benutzername"
report:
- comment_label: "<b>Kommentar</b>:<br>%{data}"
+ comment_label: "<b>Kommentar</b>: %{data}"
confirm_deletion: "Sind Sie sich sicher, dass Sie das Objekt löschen wollen?"
delete_link: "Lösche Objekt"
- not_found: "<u>Der Beitrag/Kommentar wurde nicht gefunden. Es sieht so aus, als ob er vom Benutzer gelöscht wurde!</u>"
- post_label: "<b>Beitrag</b>: %{title}"
+ not_found: "Der Beitrag/Kommentar wurde nicht gefunden. Es sieht so aus, als ob er vom Benutzer gelöscht wurde!"
+ post_label: "<b>Beitrag</b>: %{content}"
reason_label: "Grund:"
reported_label: "<b>Gemeldet von</b> %{person}"
reported_user_details: "Details des gemeldeten Benutzers"
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index 37fd1565d..065f7336c 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -138,7 +138,7 @@ en:
daily: "Daily"
usage_statistic: "Usage statistics"
go: "Go"
- display_results: "Displaying results from the <b>%{segment}</b> segment"
+ display_results: "Displaying results from the %{segment} segment"
posts:
zero: "%{count} posts"
one: "%{count} post"
@@ -155,9 +155,9 @@ en:
zero: "%{count} users"
one: "%{count} user"
other: "%{count} users"
- current_segment: "The current segment is averaging <b>%{post_yest}</b> posts per user, from <b>%{post_day}</b>"
+ current_segment: "The current segment is averaging %{post_yest} posts per user, from %{post_day}"
50_most: "50 most popular tags"
- tag_name: "Tag name: <b>%{name_tag}</b> Count: <b>%{count_tag}</b>"
+ tag_name: "Tag name: %{name_tag} Count: %{count_tag}"
pods:
pod_network: "Pod network"
aspects:
@@ -194,6 +194,7 @@ en:
index:
donate: "Donate"
keep_pod_running: "Keep %{pod} running fast and buy servers their coffee fix with a monthly donation!"
+ donate_liberapay: "Donate to liberapay"
welcome_to_diaspora: "Welcome to diaspora*, %{name}!"
introduce_yourself: "This is your stream. Jump in and introduce yourself."
@@ -943,7 +944,7 @@ en:
delete_link: "Delete item"
reported_user_details: "Details on reported user"
confirm_deletion: "Are you sure to delete the item?"
- not_found: "<u>The post/comment was not found. It seems that it was deleted by the user!</u>"
+ not_found: "The post/comment was not found. It seems that it was deleted by the user!"
status:
destroyed: "The post was destroyed"
failed: "Something went wrong"
diff --git a/config/locales/diaspora/en_1337.yml b/config/locales/diaspora/en_1337.yml
index 738be488b..5f39babf3 100644
--- a/config/locales/diaspora/en_1337.yml
+++ b/config/locales/diaspora/en_1337.yml
@@ -7,6 +7,7 @@
en_1337:
_applications: "4ppz"
_contacts: "n0obz"
+ _help: "H3LP"
_services: "53rv!c35"
account: "4cc0un7"
activerecord:
@@ -73,6 +74,7 @@ en_1337:
user_search:
add_invites: "4DD 1NV1735"
email_to: "3M41L 2 1NV173"
+ under_13: "SH0W N00BZ UND3R 13 (C0PP4)"
users:
one: "%{count} N00B F0UND"
other: "%{count} N00B5 F0UND"
@@ -114,11 +116,13 @@ en_1337:
index:
donate: "D0N473!"
help:
+ any_problem: "PR0BL3M? -TROLL FACE-"
do_you: "D0 U:"
feature_suggestion: "... H4V3 4 %{link} 5UGG35710N?"
find_a_bug: "... F0UND 4 %{link}?"
have_a_question: "... H4V3 4 %{link}?"
here_to_help: "45K PR0G4M3R5!"
+ mail_podmin: "4DM1N 3M41L"
need_help: "N33D H3LP?"
tag_bug: "#bug"
tag_feature: "#feature"
@@ -203,6 +207,9 @@ en_1337:
correct_the_following_errors_and_try_again: "3rr0rz! r37ry!"
fill_me_out: "!npu7 73x7 h3r3"
find_people: "Ctrl+F n0obz, #74g5"
+ help:
+ irc: "1RC"
+ wiki: "W1K1"
invitations:
create:
no_more: "U H4V3 N0 M0R3 1NV174710N5!"
@@ -223,6 +230,7 @@ en_1337:
back_to_top: "8@ck 2 ^"
powered_by: "P0W3R3D BY D*"
public_feed: "PUBL1C D* F33D F0R %{name}"
+ source_package: "D0WNL04D 7H3 5AUC3"
toggle: "70GGL3 M0B1L3"
whats_new: "WH475 N3W?"
header:
@@ -450,6 +458,7 @@ en_1337:
enter_password_again: "3N73R 17 4G41N!"
enter_username: "P1CK 4 N1CK (0NLY L3773R5 NUMB3R5 4ND UND3R5C0R35!)"
password: "*****"
+ password_confirmation: "P455WD 4G41N"
sign_up: "CR3473 4CC0UN7"
username: "U53RN4M3"
reshares:
@@ -500,6 +509,7 @@ en_1337:
visibility_dropdown: "U53 7H15 DR0PD0WN 2 CH4N63 V151B1L17Y 0F Y0UR P057. (W3 5U66357 U M4K3 7H15 F1R57 1 PUBL1C.)"
publisher:
discard_post: "D15C4RD P057"
+ get_location: "G37 Y0UR ~/"
new_user_prefill:
hello: "H3Y 3V3RY0N3, 1'M #%{new_user_tag}. "
i_like: "1 575LK: %{tags}."
@@ -597,6 +607,7 @@ en_1337:
getting_started:
awesome_take_me_to_diaspora: "4W350M3! 74K3 M3 2 D145P0RA*"
community_welcome: "7H3 D* C0MMUN17Y 15 H4PPY 2 H4V3 U 4B04RD!"
+ connect_to_facebook_link: "H00K UP FB"
hashtag_explanation: "H45H74G5 4LL0W U 2 74LK 4B0U7 4ND F0LL0W Y0UR 1N73R3575! 7H3YR3 4L50 4 GR347 W4Y 2 F1ND N3W N00B5 0N D*!"
hashtag_suggestions: "7RY F0110W1NG 74G5 L1K3 #linux, #rms, #bsd, etc."
well_hello_there: "W3LL, H3LL0 7H3R3!"
diff --git a/config/locales/diaspora/en_pirate.yml b/config/locales/diaspora/en_pirate.yml
index 2f28306c8..40a00528a 100644
--- a/config/locales/diaspora/en_pirate.yml
+++ b/config/locales/diaspora/en_pirate.yml
@@ -8,6 +8,7 @@ en_pirate:
_applications: "Applications"
_contacts: "Mateys"
_services: "Ye Services"
+ _terms: "Terms matey"
account: "Ye account"
activerecord:
errors:
@@ -43,6 +44,9 @@ en_pirate:
pod_stats: "Ship stats"
user_search: "Matey search"
weekly_user_stats: "Weekly matey stats"
+ user_search:
+ add_invites: "Add ye old invites"
+ email_to: "Email to invite mateys"
all_aspects: "Yer Crews"
are_you_sure: "Are ye sure?"
are_you_sure_delete_account: "Are ye sure you want t' walk the plank? Yer account will be shark bait!"
@@ -79,6 +83,7 @@ en_pirate:
find_a_bug: "... ye find a %{link}?"
have_a_question: "do ye have a %{link}?"
here_to_help: "Diaspora community is here to help!"
+ mail_podmin: "Cap'n's email"
need_help: "S.O.S."
tag_bug: "blunder"
tag_feature: "addition"
@@ -125,6 +130,7 @@ en_pirate:
contacts:
index:
add_a_new_aspect: "Add a new crew"
+ add_contact: "Add matey"
all_contacts: "All yer mateys"
community_spotlight: "Crew spotlight"
my_contacts: "Me Mateys"
@@ -142,12 +148,15 @@ en_pirate:
sent: "Letter sent"
index:
inbox: "Pigeon's nest"
+ new_conversation: "New letter"
no_messages: "no letters"
new:
send: "Fire"
sending: "Sendin'..."
subject: "Subject"
to: "'t"
+ new_conversation:
+ fail: "Yargh! Invalid letter matey! Re-ink ye feather!"
show:
delete: "scuttle and batten down the discussion"
reply: "send a letter back"
@@ -179,6 +188,7 @@ en_pirate:
language: "What do ye speak?"
paste_link: "Share this link with ye crew to invite them aboard to diaspora*, or email them the link via an email cannonball. Argh!"
send_an_invitation: "Send n' invitation"
+ sending_invitation: "Sending ye invite via pigeon..."
layouts:
application:
back_to_top: "Back to crow's nest"
@@ -226,9 +236,12 @@ en_pirate:
other: "'n %{count} others"
two: "'n %{count} others"
zero: "'n nobody else"
+ liked: "Liked"
mark_all_as_read: "Mark that ye read all"
mark_unread: "Mark unread"
notifications: "Notifications"
+ reshared: "Reposted"
+ started_sharing: "Started sharin'"
liked:
few: "%{actors} has just liked yer %{post_link}."
many: "%{actors} has just liked yer %{post_link}."
@@ -325,6 +338,8 @@ en_pirate:
subject: "%{name} has mention'd ye on diaspora*"
private_message:
reply_to_or_view: "Reply 't or read this conversation >"
+ report_email:
+ subject: "Ahoy there matey! A new %{type} was marked offensive!"
reshared:
reshared: "%{name} just reshare'd yer post"
view_post: "Read post >"
@@ -343,6 +358,7 @@ en_pirate:
add_contact:
invited_by: "Ye were invited by"
index:
+ couldnt_find_them: "Nothin' from the crow's nest?"
looking_for: "Lookin' fer posts tagged %{tag_link}?"
no_one_found: "...and no landblubbers were found."
no_results: "Ahoy! Ye need 't search fer somethin'."
@@ -384,6 +400,7 @@ en_pirate:
allow_search: "Allow fer scallywags to search fer ye within diaspora*"
first_name: "Ye first name"
last_name: "Ye last name"
+ nsfw_check: "Mark everythin' I share as Not Safe For Scalawags"
update_profile: "Update duffle"
your_bio: "Ye story"
your_birthday: "Yer day o' birth"
@@ -408,7 +425,14 @@ en_pirate:
enter_password: "Enter ye secret phrase (six letters max ye scalawag)"
enter_password_again: "Enter ye same secret phrase again matey"
enter_username: "Pick ye username (only letters, numbers, and ye old underscores)"
+ password: "Ye password"
+ sign_up: "Create ye olde account"
+ submitting: "Submittin'..."
username: "Ye username"
+ report:
+ delete_link: "Make it walk the plank"
+ status:
+ destroyed: "Sunk the post! Ya har har har har!"
reshares:
comment_email_subject: "%{resharer}'s reshare of matey %{author}'s post"
reshare:
@@ -456,6 +480,7 @@ en_pirate:
visibility_dropdown: "Use this dropdown t' change the visibility of yer post. (It's good idear ye make this first one sea-wide.)"
publisher:
discard_post: "Scuttle post"
+ formatWithMarkdown: "Ye can use ye olde %{markdown_link} to pretty up ye post"
get_location: "Get ye coordinates"
new_user_prefill:
hello: "Ahoy there matey's! I be #%{new_user_tag}. "
@@ -463,12 +488,17 @@ en_pirate:
invited_by: "Thanks for invite matey, "
newhere: "NewMatey"
posting: "Firin!"
+ remove_location: "Eye patch ye location!"
share: "Fire!"
upload_photos: "Hang up portraits"
whats_on_your_mind: "What be botherin' you?"
stream_element:
via: "Via %{link}"
via_mobile: "Via bird"
+ simple_captcha:
+ label: "Enter the secret in ye olde box:"
+ message:
+ default: "Blargh! Ye secret code didint match with the image ye scalawag!"
status_messages:
create:
success: "Ye've successfully mentioned: %{names}"
@@ -554,6 +584,7 @@ en_pirate:
getting_started:
awesome_take_me_to_diaspora: "Yo ho ho! Take me to diaspora*"
community_welcome: "diaspora*'s crew be happy to have ye aboard matey! ARGH!"
+ connect_to_facebook_link: "Hookin' up ye Facebook ship."
hashtag_explanation: "Hashtags allow ye to talk about and follow ye interests. They be a great way to find new mateys on diaspora*."
hashtag_suggestions: "Try followin things like #treasure, #rum, #wenches, etc."
well_hello_there: "Ya har me matey!"
diff --git a/config/locales/diaspora/es-AR.yml b/config/locales/diaspora/es-AR.yml
index 169a7655d..a4cd70e96 100644
--- a/config/locales/diaspora/es-AR.yml
+++ b/config/locales/diaspora/es-AR.yml
@@ -687,11 +687,8 @@ es-AR:
other: "%{actors} te mencionaron en la publicación %{post_link}."
zero: "%{actors} te mencionaron en la publicación %{post_link}."
mentioned_deleted:
- few: "%{actors} te mencionaron en una publicación eliminada."
- many: "%{actors} te mencionaron en una publicación eliminada."
one: "%{actors} te mencionó en una publicación eliminada."
other: "%{actors} te mencionaron en una publicación eliminada."
- two: "%{actors} te mencionó en un mensaje eliminado."
zero: "%{actors} te mencionaron en una publicación eliminada."
post: "publicación"
private_message:
diff --git a/config/locales/diaspora/fr.yml b/config/locales/diaspora/fr.yml
index 69987c5ff..a7fe74dc1 100644
--- a/config/locales/diaspora/fr.yml
+++ b/config/locales/diaspora/fr.yml
@@ -218,6 +218,7 @@ fr:
updating: "En cours de mise à jour"
index:
donate: "Faire un don"
+ donate_liberapay: "Faire un don avec liberapay"
help:
any_problem: "Un problème ?"
contact_podmin: "Contacter l'administrateur de votre pod !"
@@ -288,7 +289,7 @@ fr:
only_sharing_with_me: "Partage uniquement avec moi"
start_a_conversation: "Démarrer une conversation"
title: "Contacts"
- user_search: "Checher un contact"
+ user_search: "Chercher un contact"
spotlight:
community_spotlight: "Actualités de la communauté"
no_members: "Il n'y a encore aucun membre."
diff --git a/config/locales/diaspora/it.yml b/config/locales/diaspora/it.yml
index 8adb4c4be..315056b51 100644
--- a/config/locales/diaspora/it.yml
+++ b/config/locales/diaspora/it.yml
@@ -126,6 +126,7 @@ it:
updating: "Aggiornamento in corso"
index:
donate: "Fai una donazione"
+ donate_liberapay: "Dona a liberapay"
help:
any_problem: "Qualche problema?"
contact_podmin: "Contatta l'amministratore del tuo pod!"
diff --git a/config/locales/diaspora/ja.yml b/config/locales/diaspora/ja.yml
index 7602cdb7d..30944ce25 100644
--- a/config/locales/diaspora/ja.yml
+++ b/config/locales/diaspora/ja.yml
@@ -215,6 +215,7 @@ ja:
updating: "更新中"
index:
donate: "寄付"
+ donate_liberapay: "liberapayに寄付"
help:
any_problem: "問題がありますか?"
contact_podmin: "あなたのポッドの管理者に連絡してください!"
diff --git a/config/locales/diaspora/oc.yml b/config/locales/diaspora/oc.yml
index f192bc768..5ab8b57ac 100644
--- a/config/locales/diaspora/oc.yml
+++ b/config/locales/diaspora/oc.yml
@@ -222,6 +222,7 @@ oc:
updating: "En cors de mesa a jorn"
index:
donate: "Far un don"
+ donate_liberapay: "Far un don a liberapay"
help:
any_problem: "Avètz agut un problèma ?"
contact_podmin: "Contactar l'administrator de vòstre pod !"
@@ -269,7 +270,7 @@ oc:
failure: "Ai pas pogut quitar d'ignorar aqueste utilizaire. #evasion"
success: "Vejam çò qu'an a dire ! #digatzbonjorn"
bookmarklet:
- explanation: "Publicatz sus diaspora* dempuèi oont que siá en apondent %{link} a vòstres marcapaginas."
+ explanation: "Publicatz sus diaspora* d'ont que siá en apondent %{link} a vòstres marcapaginas."
heading: "Publicacion rapida"
post_something: "Publicatz sus diaspora*"
cancel: "Anullar"
@@ -289,7 +290,7 @@ oc:
no_contacts: "Sembla que vos cal apondre mai de contactes !"
no_contacts_in_aspect: "Avètz pas encara de contactes dins aqueste aspècte. Çai-jos i a una lista de vòstre contactes que podètz apondre a aqueste aspècte."
no_contacts_message: "Consultatz %{community_spotlight}"
- only_sharing_with_me: "Solament partejat amb ieu"
+ only_sharing_with_me: "Partejan solament amb ieu"
start_a_conversation: "Començar una conversacion"
title: "Contactes"
user_search: "Cercar un contacte"
@@ -341,7 +342,7 @@ oc:
find_people: "Recercar de personas o de #tags"
help:
account_and_data_management:
- close_account_a: "Rensètz-vos en bas de la pagina e clicatz sul boton \"Clausurar lo compte\". Vòstre senhal vos serà demandat per acabar lo processus. Vos rapelam que se tampatz vòstre compte, ne poiretz pas mai tornar crear sus aqueste pod amb aqueste nom d'utilizaire."
+ close_account_a: "Rensètz-vos en bas de la pagina e clicatz sul boton « Tampar lo compte ». Vòstre senhal vos serà demandat per acabar lo processus. Vos rapelam que se tampatz vòstre compte, ne poiretz <strong>pas mai</strong> tornar crear sus aqueste pod amb aqueste nom d'utilizaire."
close_account_q: "Cossí pòdi suprimir mon compte ?"
data_other_podmins_a: "A partir del moment que partejatz amb qualqu'un d'un autre pod, totas las publicacions que partejatz amb eles e una còpia de vòstre perfil seràn gardadas (en cache) sus lor pod e seràn accessiblas a l'administrator de la basa de donadas d'aquel pod. Quand suprimissètz una publicacion o una donada del perfil, es suprimit de vòstre pod e una demanda de supression es mandada a totes los pods ont son estadas gardadas. Vòstres imatges son pas jamai gardats sus d'autres pods ; i a pas que lo ligam cap a eles qu'es transmet als autres pods."
data_other_podmins_q: "Los administrators dels autres pods pòdon veire mas informacions ?"
@@ -349,7 +350,7 @@ oc:
data_visible_to_podmin_q: "Quina quantitat de mas informacions l'administrator del pod pòt veire ?"
download_data_a: "Òc. En dejòs de los paramètres de Compte trobaretz dos botons : un per telecargar vòstras donadas e un per telecargar vòstras fotos."
download_data_q: "Pòdi telecargar una còpia de totas las donadas contengudas dins mon compte ?"
- move_pods_a: "Dins lo futur poiretz exportar vòstra grana - seed - dempuèi un pod e l'importar dins un autre, mai pel moment es pas possible. Podètz totjorn dubrir un nòu compte e ajustar vòstres contactes sus aquela nòva grana, e lor demandar de vos ajustar sus lors aspèctes amb vòstra nòva grana."
+ move_pods_a: "Dins lo futur poiretz exportar vòstra grana - seed - d'un pod e l'importar dins un autre, mai pel moment es pas possible. Podètz totjorn dubrir un nòu compte e ajustar vòstres contactes sus aquela nòva grana, e lor demandar de vos ajustar sus lors aspèctes amb vòstra nòva grana."
move_pods_q: "Cossí desplaçar mon compte d'un pod a un autre ?"
title: "Gestion del compte e de las donadas"
aspects:
@@ -357,15 +358,19 @@ oc:
change_aspect_of_post_q: "Un còp qu'ai publiat quicòm, pòdi cambiar los aspècte(s) qu'o pòdon veire ?"
contacts_know_aspect_a: "Non pas. Pòdon pas veire lo nom de l'aspècte qualqu'arribe."
contacts_know_aspect_q: "Mos contactes pòdon saber sus quin aspècte los ai mes ?"
+ contacts_visible_a: "Se causissètz aquesta opcion alara vòstres contactes d'aqueste aspècte poiràn veire qual es dedins, sus l'onglet « Contactes » de vòstra pagina de perfil. Es de melhor far de causir aquesta opcion solament se los contactes d'aqueste aspècte se coneisson entre eles, per exemple se l'aspècte es per un club o societat de la quala apertenètz. Ça que la poiràn pas veire cossí s'apèla l'aspècte."
contacts_visible_q: "Qué significa « rendre los contactes dins aqueste aspècte visibles entre eles » ?"
+ delete_aspect_a: "Clicatz « Mos aspèctes » dins la barra dins la vista del flux d'actualitat e clicatz l'icòna del gredon a costat del aspècte que volètz suprimir, o anatz sus vòstra pagina de Contactes e seleccionatz l'aspècte concernit. Puèi clicatz l'icòna del bordilhièr amont a man drecha de la pagina."
delete_aspect_q: "Cossí pòdi suprimir un aspècte ?"
+ person_multiple_aspects_a: "Òc-ben. Anatz a vòstra pagina de contactes e clicatz sus « Mos contactes ». Per cada contacte podètz utilizar lo menú a man drecha per lo apondre (o levar) a tan d'aspèctes que volètz. O podètz los apondre a un novèl aspècte (o los levar d'un aspècte) en clicant sul boton de seleccion d'aspècte sus lor pagina de perfil. O podètz tanben solament bolegar lo puntaire sus lor nom ont lo vesètz dins vòstre flux d'actualitat, un cadron apareissarà. Podètz cambiar l'aspècte ont son d'aquí."
person_multiple_aspects_q: "Pòdi apondre una persona a mantun aspècte ?"
- post_multiple_aspects_a: "Òc. Quand publicatz una publicacion, utilizatz lo boton per causir los aspèctes. \"Totes los aspèctes\" es la causida per defaut dins los paramaètres. Podètz tanben causir los aspèctes dins la barra de menú. Quand publicactz, lo(s) aspèctes qu'avètz causits dins la lista a man esquèrra seràn automaticament seleccionats per las publicacions venentas."
+ post_multiple_aspects_a: "Òc. Quand publicatz una publicacion, utilizatz lo boton per causir los aspèctes. « Totes los aspèctes » es la causida per defaut dins los paramaètres. Podètz tanben causir los aspèctes dins la barra de menú. Quand publicactz, lo(s) aspèctes qu'avètz causits dins la lista a man esquèrra seràn automaticament seleccionats per las publicacions venentas."
post_multiple_aspects_q: "Pòdi mandar un messatge a mantun aspècte a l'encòp ?"
remove_notification_a: "Non. Tanpauc seràn pas avisats se los ajustatz dins mai aspèctes, del moment que ja partejatz amb eles."
remove_notification_q: "Se suprimissi qualqu'un d'un de mos aspèctes, o totas las personas d'un aspècte, son prevengudas ?"
- rename_aspect_a: "Clicatz \"Mos aspèctes\" sul costat esquèrra de la pagina de flux e clicatz sul gredonèl \"editar\" sus la dreita de l'aspècte de renomenar. Podètz tanben anar sus la pagina \"Contactes\" e seleccionar l'aspècte concernit. Clicatz alara sus l'icòna \"editar\" al costat del nom amont de la pagina, cambiatz lo nom e clicatz \"Metre a jorn\"."
+ rename_aspect_a: "Clicatz « Mos aspèctes » sul costat esquèrra de la pagina de flux e clicatz sul gredonèl « editar » sus la dreita de l'aspècte de renomenar. Podètz tanben anar sus la pagina « Contactes » e seleccionar l'aspècte concernit. Clicatz alara sus l'icòna « editar » al costat del nom amont de la pagina, cambiatz lo nom e clicatz « Metre a jorn »."
rename_aspect_q: "Pòdi tornar nommar un aspècte ?"
+ restrict_posts_i_see_a: "Òc-ben. Clicatz « Mos aspèctes » sus la barra e puèi clicatz sus cada aspècte dins la lista per los seleccionar o deseleccionar. Pas que las publicacions del mond dels aspèctes seleccionats seràn dins vòstre flux."
restrict_posts_i_see_q: "Pòdi afichar unicament los messatges de certans aspèctes ?"
title: "Aspèctes"
what_is_an_aspect_a: "Los aspèctes son lo biais qu'avètz d'amassar vòstres contactes sus diaspora*. Un aspècte es una de las fàcias que fasètz veire al mond. Pòt èsser vos al trabalh, o qual sètz per vòtra familha, o qual sètz per vòstres amics d'un club ont sètz marcat."
@@ -373,6 +378,9 @@ oc:
who_sees_post_a: "Se fasètz una publicacion limitad, 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 sus 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"
@@ -386,10 +394,10 @@ oc:
get_support_a_website: "Visitatz nòstre %{link}"
get_support_a_wiki: "Recercatz dins lo %{link}"
get_support_q: "De qué far se ma question a pas de responsa dins la FAQ ? A quines autres endreits pòdi obténer de documentcion ?"
- getting_started_a: "Sètz astruc. Ensajatz las %{tutorial_series} sul site de nòstre projècte. Vos ajudarà pas a pas dempuèi l'inscripcion cap a las causas basicas que vos cal saber per utilizar diaspora*."
+ getting_started_a: "Sètz astruc. Ensajatz las %{tutorial_series} sul site de nòstre projècte. Vos ajudarà pas a pas de l'inscripcion cap a las causas basicas que vos cal saber per utilizar diaspora*."
getting_started_q: "Ajudatz-me ! Ai besonh d'ajuda per debutar !"
title: "Obténer d'ajuda"
- getting_started_tutorial: "Seria de tutorials \"Mos primièrs passes\""
+ getting_started_tutorial: "Seria de tutorials « Mos primièrs passes »"
here: "aicí"
irc: "IRC"
keyboard_shortcuts:
@@ -406,25 +414,29 @@ oc:
title: "Acorchis de clavièr"
markdown: "Markdown"
mentions:
+ how_to_mention_a: "Picatz lo signe « @ » e començatz a escriure lor nom. Una lista desrotlanta deuriá aparéisser per vos permetre de los causir mai simplament. Notatz qu'es solament possible de mencionar de mond qu'avètz aponduts a un aspècte."
how_to_mention_q: "Cossí pòdi mencionar qualqu'un quand escrivi un messatge ?"
mention_in_comment_a: "Non pas, pel moment."
mention_in_comment_q: "Pòdi mencionar qualqu'un dins un comentari ?"
- see_mentions_a: "Òc, clicatz sus \"@Mencions\" dins la colomna d'esquèrra de vòstra pagina d'acuèlh"
+ see_mentions_a: "Òc, clicatz sus « @Mencions » dins la colomna d'esquèrra de vòstra pagina d'acuèlh."
see_mentions_q: "I a un biais de veire las publicacions que soi mencionat dedins ?"
title: "Mencions"
- what_is_a_mention_a: "Una mencion es un ligam cap al perfil d'una persona qu'apareis sus una publicacion. Quand qualqu'un es mencionat, receb una notificacion per atirar lor atencion sus la publicacion."
- what_is_a_mention_q: "De qué es una “mencion” ?"
+ what_is_a_mention_a: "Una mencion es un ligam cap al perfil d'una persona qu'apareis sus una publicacion. Quand qualqu'un es mencionat, receb una notificacion per atirar son atencion sus la publicacion."
+ what_is_a_mention_q: "De qué es una « mencion » ?"
miscellaneous:
back_to_top_a: "Òc. Aprèp aver davalat la pagina, clicatz sus la flècha en gris qu'apareisserà a man drecha dins lo cunh de la fenèstra."
back_to_top_q: "I a una manièra rapida per tornar amont de la pagina un còp arribat aval ?"
+ diaspora_app_a: "I a agut un molon d'aplicacions Android desvolopadas per de membres de la comunautat. Qualques son abandonadas dempuèi un brave temps e doncas foncionan pas tròp ben amb la version actuala de diaspora*. N'esperetz pas tròp d'aquelas pel moment. D'aquela passa i a pas cap d'aplicacion iOS. La melhora manièra d'accedir a diaspora* d'un mobil es amb un navigator, pr'amor qu'avèm creat una version mobila del site que deu foncionar sul màger mobil, encara qu'i aja pas totas las foncionalitats."
diaspora_app_q: "Existís una aplicacion diaspora* per Android o iOS ?"
photo_albums_a: "Pas pel moment. Pasmens, podètz veire los imatges mandats d'una persona dins l'onglet Fòtos de lor pagina de perfil."
photo_albums_q: "I a d'albums de fòtos o de vidèos ?"
subscribe_feed_q: "Me pòdi inscriure als messatges publics d'una persona amb un lector de fluxes ?"
title: "Divèrs"
pods:
+ find_people_a: "Se volètz convidar vòstres amics a venir sus diaspora*, utilizatz lo ligam d'invitacion o lo ligam per corrièl. Seguètz d'#etiquetas per conéisser de mond que partejan vòstres interèsses , e ajustatz aqueles que publican de causas que vos interèssan a un aspècte. Cridatz fòrt que sètz #novèlaquí dins una publicacion publica."
find_people_q: "Veni de rejónher un pod, cossí pòdi trobar de monde per partejar amb eles ?"
title: "Pods"
+ use_search_box_a: "Se coneissètz lor ID diaspora* complet (ex. : utilizaire@nomdelpod.org), podètz los trobar en los cercant. Se sètz sul meteis servidor, podètz los trobar sonque amb los noms d'utilizaire. Autrament podètz los cercar amb lor nom de perfil (lo nom que vesètz sus l'ecran). Se una recèrca capita pas lo primièr còp, tornatz ensajar."
use_search_box_q: "Cossí me cal utilizar lo camp de recèrca per trobar qualqu'un en particular ?"
what_is_a_pod_q: "Qu'es aquò un pod ?"
posts_and_posting:
@@ -434,6 +446,7 @@ oc:
embed_multimedia_q: "Cossí pòdi inserir un contengut vidèo, àudio, o multimèdia dins una publicacion ?"
format_text_a: "N'emplegant un sistèma simplifiat apelat %{markdown}. Podètz trapar tota la sintaxi de Markdown %{here}. Lo boton d'apercebut pòt èsser de bona ajuda, permet de veire vòstre messatge coma serà afichat abans de o partejar."
format_text_q: "Cossí pòdi formatar lo tèxte dins as publicacions (gras, italic, etc.) ?"
+ hide_posts_a: "Se posicionatz la mirga de naut d'una publicacion, una X aprareis a man drecha. Clicatz-la per escondre la publicacion e metre en silenci las notificacions ligadas a aquela. Podètz totjorn veire la publicacion se visitatz lo perfil de la persona que la publiquèt."
hide_posts_q: "Cossí escondi una publicacion ?"
image_text: "tèxte de l'imatge"
image_url: "url de l'imatge"
@@ -442,11 +455,13 @@ oc:
insert_images_comments_a2: "aquò pòt èsser utiizat per inserir d'imatges a partir del web dins los comentaris o los messatges."
insert_images_comments_q: "Pòdi inserir d'imatges dins un comentari ?"
insert_images_q: "Cossí pòdi inserir d'imatges dins un messatge ?"
+ post_location_a: "Clicatz dins l'aisina d'edicion l'icòna de l'espilla a costat de la camerà. Aquò inserirà vòstre emplaçament d'OpenStreetMap. Podètz modificar vòstre emplaçament – benlèu que volètz pas qu'indicar la vila ont sètz e non pas l'adreça amb la carrièra."
post_location_q: "Cossí pòdi apondre ma posicion a un messatge ?"
post_notification_a: "Trobaretz l'icòna d'una campana prèp de la X a man drecha de la publicacion. Clicatz-la per activar o desactivar las notificacions per aquesta publicacion."
post_notification_q: "Cossí pòdi activar o desactivar las notificacions per un messatge ?"
post_poll_a: "Clicatz sus l'icòna graf per generar un sondatge. Picatz una question e almens doas responsas. Doblidetz pas de far vòstre publicacion publica se volètz que tot lo mond pòsca participar a vòstre sondatge."
post_poll_q: "Cossí pòdi apondre un sondatge a mon messatge ?"
+ post_report_a: "Clicatz l'icòna del triangle d'alèrta amont a man drecha de la publicacion per la senhalar a vòstre podmin. Marcatz la rason del senhalament d'aquela publicacion dins la zòna de tèxte."
post_report_q: "Cossí pòdi senhalar un messatge ofensant ?"
size_of_images_a: "Non. Los imatges son retalhats automaticament per marcar ben sul flux d'actualitat o sus la vista de la publicacion. I a pas de còdi Markdown per donar una talha a un imatge."
size_of_images_q: "Pòdi personalizar la talha dels imatges dins los messatges o los comentaris ?"
@@ -455,7 +470,7 @@ oc:
Las publicacions del mond que partejatz, i a doas categorias :
las publicacions publicas e las publicacions limitadas a un aspècte que ne fasètz partit. Per levar aquelas publicacions de vòstre flux d'actualitat, vos cal pas que quitar de partejar amb aquela persona.
stream_full_of_posts_li2: "Los messatges publics contenon un dels tags que seguissètz. Per los suprimir, daissatz de seguir lo tag."
- stream_full_of_posts_li3: "Las publicacions publicas del mond listat dins las actualitat de la comunitat. Pòdon èsser levadas ne clicant sus l'opcion \"Afichar las novèlas de la comunitat dins la flux ?\" dins l'onglet Compte de vòstre Paramètres."
+ stream_full_of_posts_li3: "Las publicacions publicas del mond listat dins las actualitat de la comunitat. Pòdon èsser levadas en clicant sus l'opcion « Afichar las novèlas de la comunitat dins la flux ? » dins l'onglet Compte de vòstre Paramètres."
stream_full_of_posts_q: "Perqué mon flux es plen de messatges que provenon de monde que coneissi pas e amb las qualas partegi pas ?"
title: "Publicacions e publicar"
private_posts:
@@ -463,7 +478,7 @@ oc:
can_comment_q: "Qual pòt comentar o a qual pòt agradar un messatge privat ?"
can_reshare_a: "Degun. Las publicacions privadas se pòdon pas tornar partejar. Los utilizaires connectats dins aqueste aspècte pòdon potencialament o copiar e pegar pasmens. Depend de vos se vos fisatz d'aqueste monde !"
can_reshare_q: "Qual pòt repartejar mos messatges privats ?"
- see_comment_a: "Solament lo mond amb qui la publicacion es partejada (lo mond qu'es dins l'aspècte causit per lo prim publicaire) pòdon veire sos comentaris e mencion \"m'agrada\"."
+ see_comment_a: "Solament lo mond amb qui la publicacion es partejada (lo mond qu'es dins l'aspècte causit per lo prim publicaire) pòdon veire sos comentaris e mencion « m'agrada ». "
see_comment_q: "Quand comenti un messatge privat o que marqui que m'agrada , qual o pòt veire ?"
title: "Publicacions privadas"
who_sees_post_a: "Solament los utilizaires de diaspora* connectats qu'avètz plaçats dins aquel aspècte abans de passar la publicacion privada pòdon la veire."
@@ -489,7 +504,9 @@ oc:
title: "Perfils publics"
what_do_tags_do_a: "Ajudan lo mond a vos conéisser. Vòstra fòto de perfil apareisserà tanben a man esquèrra d'aquelas paginas d'etiquetas, entre los demai qu'an tanben aquestas etiquetas dins lors perfil public."
what_do_tags_do_q: "De qué fan los tags sus mon perfil public ?"
+ whats_in_profile_a: "Vòstre perfil public conten vòstre nom, las cinc etiquetas qu'avètz causidas per vos descriure, e vòstras fotografias, s'avètz garnit aquelas seccions. Totas aquelas informacions son opcionalas – causissètz vosautres meteisses de las donar. Podètz far venir aquelas informacions de perfil tan identificablas o anonimas coma volètz. Vòstre perfil mòstra tanben las publicacions publicas qu'avètz fachas."
whats_in_profile_q: "Qué i a sul meu perfil public ?"
+ who_sees_profile_a: "Tot utilizaire connectat a diaspora*, e tot lo grand Internet, pòt veire aquò. Cada perfil ten una URL dirècta que permet d'i anar directament a partir d'autres sites. Los motors de recèrca pòdon l'indexar."
who_sees_profile_q: "Qual vei mon perfil public ?"
who_sees_updates_a: "Qual que siá pòt veire aqueles cambiaments en visitant vòstra pagina de perfil."
who_sees_updates_q: "Qual pòt veire las mesas a jorn de mon perfil public ?"
@@ -501,17 +518,20 @@ oc:
title: "Repartejar los messatges."
sharing:
add_to_aspect_a1: "Direm que l'Amy apond lo Bena un aspècte, mai Ben a pas (encara) apondut Amy a un aspècte :"
+ add_to_aspect_a2: "Aquò es conegut coma un partage asimetric. Se e quand Ben ajusta tanben Amy a un aspècte alara vendrà un partatge mutual, quand tan las publicacions publicas a Amy que las a Ben e que de publicacions privadas apareisson dins lors flux d'actualitat, e Amy poiriá veire lo perfil privat de Ben. Poiràn tanben s'enviar de messatges privats."
add_to_aspect_li1: "Ben recebrà una notificacion que l'Amy a \"començat a partejar\" amb Ben."
add_to_aspect_li2: "Amy començarà de veire los messatges publics de Ben dins son flux."
add_to_aspect_li3: "Amy veirà pas cap dels messatges privats de Ben."
add_to_aspect_li4: "Ben veirà pas las publicacions publicas o privadas de l'Amy dins son flux d'actualitat."
add_to_aspect_li5: "Mai se Ben va sus la pagina de perfil d'Amy, alara veirà las publicacions qu'Amy a causit de partejat amb lo mond de l'aspècte ont a mes Ben (e tanben sas publicacions publicas que tot lo monde pòt veire aquí)."
add_to_aspect_li6: "Ben serà autorizat a veire lo perfil privat d'Amy (bio, localizacion, sèxe, anniversari)."
- add_to_aspect_li7: "L'Amy apareisserà coma «Solament parteja amb ieu » sus la pagina de contact del Ben."
+ add_to_aspect_li7: "L'Amy apareisserà coma « Partejan solament amb ieu » sus la pagina de contact del Ben."
add_to_aspect_li8: "Amy serà tanben capabla de @mencionar Ben dins un messatge."
add_to_aspect_q: "Qué passa quand apondi qualqu'un a un de mos aspèctes, o quand qualqu'un m'apond als seus aspèctes ?"
+ list_not_sharing_a: "Non pas, mas podètz veire se qualqu'un parteja amb vos en visitant sa pagina de perfil. Se parteja amb vos, lo boton que mòstra lo(s) aspecète(s) ont l'avètz mes serà verd, autrament serà gris."
list_not_sharing_q: "I a una lista del mond qu'ai apondut sus un de mos aspèctes mai que m'an pas apondut de lor costat ?"
- only_sharing_q: "Qui son los listats dins \"Solament partejan amb ieu\" sus ma pagina de contactes ?"
+ only_sharing_a: "Son lo mond que vos an apondut a lor aspècte, mai que son pas - encara - dins vòstres aspèctes. Dich autrament, partejan amb vos, mai partejatz pas amb eles : podètz o pensar aissí, vos « seguisson ». Se los apondètz a un aspècte, pareisseràn dins aqueste e non pas coma « Partejan solament amb ieu ». Veire çai-jos."
+ only_sharing_q: "Qui son los listats dins « Partejan solament amb ieu » sus ma pagina de contactes ?"
see_old_posts_a: "Non. Poiràn pas que veire las novèlas publicacions dins aqueste aspècte. Pòdon veire vòstras vièlhas publicacions sus vòstra pagina de perfil, e benlèu tanben dins lor flux d'actualitat."
see_old_posts_q: "Quand apondi qualqu'un a un aspècte, pòdon veire mas ancianas publicacions qu'ai ja publicadas a aqueste aspècte ?"
sharing_notification_a: "Deuriatz recebre una notificacion a cada còp que qualqu'un comença de partejar amb vos."
@@ -526,6 +546,7 @@ oc:
tags_in_comments_a: "Una etiqueta aponduda a un comentari apareisserà coma un ligam cap a la pagina d'etiquetas correspondenta, mai farà pas aparéisser la publicacion (o comentari) dins aquela pagina. Aquò fonciona pas qu'amb las etiquetas sus las publicacions."
tags_in_comments_q: "Pòdi inserir de tags dins un comentari o sonque dins de messatges ?"
title: "Etiquetas"
+ what_are_tags_for_a: "Las etiquetas son un biais de triar una publicacion, sovent un tèma. Cercar una etiqueta ensenha las publicacions, tan publicas coma privadas, amb aquesta etiqueta qu'avètz la permission de veire. Aquò permet al mond qu'es interessat per un tèma de trobar de publicacions ligadas a aquò."
what_are_tags_for_q: "A qué servisson las etiquetas ?"
third_party_tools: "Aisinas tèrças"
title_header: "Ajuda"
@@ -535,11 +556,13 @@ oc:
home:
default:
be_who_you_want_to_be: "Siatz lo que volètz èsser"
+ be_who_you_want_to_be_info: "Un fum de malhums insistisson per que donetz vòstra identitat reala. diaspora* non o fa. Aquí podètz causir qual volètz èsser, e partejar tan o pas tan d'informacion vos tocant. Dépend vertadièrament de cossí volètz interagir amb la gent."
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."
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."
podmin:
byline: "Sètz a mand de cambiar la fàcia d'internet. Prèst a vos lançar ?"
configuration_info: "Dobrissètz %{database_path} e %{diaspora_path} dins vòstre editor de tèxte favorit e relegissètz-los menimosament, son comentats abondament."
@@ -686,7 +709,7 @@ oc:
click_link: "Per activar vòstre novèla adreça de corrièl %{unconfirmed_email}, seguissètz aqueste ligam :"
subject: "Mercés d'activar vòstre novèl corrièl %{unconfirmed_email}"
csrf_token_fail:
- subject: "Avèm recebut una demanda sens autorizacion dempuèi vòstre compte, %{name}"
+ subject: "Avèm recebut una demanda sens autorizacion de vòstre compte, %{name}"
email_sent_by_diaspora: "Aqueste corrièl es estat mandaat per %{pod_name}. Se volètz pas mai de corrièls atal,"
export_email:
body: |-
@@ -753,7 +776,7 @@ oc:
[2] : %{diasporafoundation_url}
invited_you: "%{name} vos a convidat sus diaspora*"
liked:
- liked: "a %{name}, li a agradat vòstra publicacion"
+ liked: "A %{name}, li a agradat vòstra publicacion"
limited_post: "A %{name}, li a agradat vòstra publicacion restrenta"
view_post: "Veire la publicacion >"
mentioned:
@@ -855,7 +878,7 @@ oc:
title: "Una publicacion de %{name}"
show:
forbidden: "Sètz pas autorizat a far aquò"
- location: "Publicat dempuèi : %{location}"
+ location: "Publicat de : %{location}"
photos_by:
one: "Una fòto per %{author}"
other: "%{author} fòtos per %{count}"
@@ -869,11 +892,13 @@ oc:
basic: "Mon perfil basic"
basic_hint: "Totes los elements de vòstre perfil son opcionals. Vòstre perfil basic serà totjorn visible publicament."
extended: "Mon perfil espandit"
+ extended_hint: "Clicatz sul boton per definir la visibilitat de vòstre perfil complet. Public significa qu'es visible per tot Internet, limitat significa solament lo mond amb qui partejatz poiràn veire aquelas informacions."
extended_visibility_text: "Visibilitat de vòstre perfil complet."
first_name: "Pichon nom"
last_name: "Nom d'ostal"
limited: "Limitat"
nsfw_check: "Amagar tot çò que pòsti coma #NSFW"
+ nsfw_explanation: "NSFW (“not safe for work” pas conselhat al trabalh) in diaspora* es un estandard gerit per la comunautat pel cotengut qu'es pas apropriat d'agachar al trabalh. S'avètz previst de ne partejar sovent, mercés de causir aquesta opcion per que tot çò que partejatz siaque escondut dins lo flux del mond qu'an pas causit de veire aquò."
nsfw_explanation2: "Se causissètz pas de seleccionar aquesta opcion, mercés d'apondre l'etiqueta #nsfw cada còp que partejatz de material d'aqueste tip."
public: "Public"
settings: "Paramètres del perfil"
@@ -900,7 +925,7 @@ oc:
enter_email: "Picatz vòstra adreça de corrièl"
enter_password: "Picatz un senhal (sièis caractèrs minimum)"
enter_password_again: "Picatz lo meteis senhal coma de per abans"
- enter_username: "Picatz un escais (sonque letras, chifras e jonhent bas _)"
+ enter_username: "Picatz un nom d'utilizaire (sonque letras, chifras e jonhent bas _)"
password: "Senhal"
password_confirmation: "Confirmacion del senhal"
sign_up: "Marcatz-vos"
@@ -955,7 +980,7 @@ oc:
really_disconnect: "Se desconnectar de %{service} ?"
services_explanation: "Se connectar a de servicis tèrç vos permet de publicar vòstras publicacions suls aqueles servicis quand n'escrivètz sus diaspora*."
share_to: "Partejar amb %{provider}"
- title: "Geir los servicis connectats"
+ title: "Gerir los servicis connectats"
provider:
facebook: "Facebook"
tumblr: "Tumblr"
@@ -1003,7 +1028,7 @@ oc:
whats_on_your_mind: "A qué pensatz ?"
stream_element:
via: "Via %{link}"
- via_mobile: "Mandat dempuèi un mobil"
+ via_mobile: "Enviat d'un mobil"
simple_captcha:
label: "Entratz lo còdi dins lo camp"
message:
@@ -1071,7 +1096,7 @@ oc:
show:
follow: "Seguir #%{tag}"
none: "L'etiqueta voida existís pas !"
- stop_following: "Arrectar de seguir #%{tag}"
+ stop_following: "Quitar de seguir #%{tag}"
tagged_people:
one: "1 persona marcada amb %{tag}"
other: "%{count} personas marcadas amb %{tag}"
@@ -1117,7 +1142,7 @@ oc:
export_photos_in_progress: "Sèm a tractar vòstras fòtos. Tornatz aicí dins un momenton."
following: "Paramètres de partiment"
last_exported_at: "(Darrièra mesa a jorn a %{timestamp})"
- liked: "a qualqu'un li a agradat vòstra publicacion"
+ liked: "A qualqu'un li a agradat vòstra publicacion"
mentioned: "...se vos menciona dins un messatge."
new_password: "Senhal novèl"
private_message: "Avètz recebut un messatge privat."
diff --git a/config/locales/diaspora/pt-BR.yml b/config/locales/diaspora/pt-BR.yml
index 42173a975..42d7501c4 100644
--- a/config/locales/diaspora/pt-BR.yml
+++ b/config/locales/diaspora/pt-BR.yml
@@ -70,9 +70,9 @@ pt-BR:
one: "%{count} comentário"
other: "%{count} comentários"
zero: "%{count} comentário"
- current_segment: "O período atual tem em média <b>%{post_yest}</b> publicações por usuário, de <b>%{post_day}</b>"
+ current_segment: "O período atual tem em média %{post_yest} publicações por usuário, de %{post_day}"
daily: "Diaramente"
- display_results: "Mostrando resultados do período <b>%{segment}</b>"
+ display_results: "Mostrando resultados do período %{segment}"
go: "Ir"
month: "Mês"
posts:
@@ -83,7 +83,7 @@ pt-BR:
one: "%{count} compartilhamento"
other: "%{count} compartilhamentos"
zero: "%{count} compartilhamento"
- tag_name: "Nome da tag: <b>%{name_tag}</b> Contagem: <b>%{count_tag}</b>"
+ tag_name: "Nome da tag: %{name_tag} Contagem: %{count_tag}"
usage_statistic: "Estatísticas de uso"
users:
one: "%{count} usuário"
@@ -222,6 +222,7 @@ pt-BR:
updating: "Atualizando"
index:
donate: "Faça uma Doação"
+ donate_liberapay: "Doe para o Liberapay"
help:
any_problem: "Algum problema?"
contact_podmin: "Entre em contato com a administração do seu servidor!"
@@ -610,12 +611,12 @@ pt-BR:
layouts:
application:
back_to_top: "Voltar ao topo"
- be_excellent: "Tratem-se com carinho! ♥"
+ be_excellent: "Sejam uns amores! ♥"
powered_by: "Desenvolvido por diaspora*"
public_feed: "Feed público de diaspora* para %{name}"
source_package: "Baixar pacote do código-fonte"
statistics_link: "Estatísticas do servidor"
- toggle: "Versão para celular"
+ toggle: "Versão móvel"
whats_new: "O que há de novo?"
header:
code: "Código"
@@ -960,7 +961,7 @@ pt-BR:
comment_label: "<b>Comentário</b>: %{data}"
confirm_deletion: "Tem certeza que quer apagar o item?"
delete_link: "Apagar item"
- not_found: "<u>A publicação ou comentário não foi encontrado. Ao que parece, ele foi apagado pelo autor!</u>"
+ not_found: "A publicação ou comentário não foi encontrado. Ao que parece, ele foi apagado pelo autor!"
post_label: "<b>Publicação</b>: %{content}"
reason_label: "Motivo:"
reported_label: "<b>Relatado por</b> %{person}"
@@ -1183,7 +1184,7 @@ pt-BR:
your_email_private: "Seu e-mail não será visto por outros usuários"
your_handle: "Sua diaspora* ID"
getting_started:
- awesome_take_me_to_diaspora: "Incrível! Leve-me ao Diaspora*."
+ awesome_take_me_to_diaspora: "Incrível! Quero ir para a diaspora*"
community_welcome: "A comunidade diaspora* está feliz em ter você a bordo!"
connect_to_facebook: "Podemos acelerar um pouco as coisas %{link} a diaspora*. Seu nome e foto serão recuperados, e a publicação simultânea, habilitada."
connect_to_facebook_link: "Conectando seu Facebook"
@@ -1195,7 +1196,7 @@ pt-BR:
privacy_settings:
ignored_users: "Usuários ignorados"
no_user_ignored_message: "Você não está ignorando nenhum outro usuário"
- stop_ignoring: "Deixar de ignorar"
+ stop_ignoring: "Parar de ignorar"
strip_exif: "Remover metadados como local, autor e modelo da câmera antes de fazer upload de imagens (recomendado)"
title: "Configurações de privacidade"
public:
diff --git a/config/locales/diaspora/ru.yml b/config/locales/diaspora/ru.yml
index a2825314d..f650ee011 100644
--- a/config/locales/diaspora/ru.yml
+++ b/config/locales/diaspora/ru.yml
@@ -1122,7 +1122,7 @@ ru:
ignored_users: "Заблокированные пользователи"
no_user_ignored_message: "На данный момент вы никого не игнорируете"
stop_ignoring: "Отменить блокирование"
- strip_exif: "Полоса метаданных, таких как местоположение, автор, и модель камеры от загруженных изображений (рекомендуется)"
+ strip_exif: "Удалять метаданные, таких как местоположение, автор, и модель камеры из загружаемых изображений (рекомендуется)"
title: "Настройки приватности"
public:
does_not_exist: "Пользователя %{username} не существует!"
diff --git a/config/locales/diaspora/sc.yml b/config/locales/diaspora/sc.yml
index d960a54a3..405c1dc46 100644
--- a/config/locales/diaspora/sc.yml
+++ b/config/locales/diaspora/sc.yml
@@ -66,6 +66,7 @@ sc:
updating: "Agiornande"
index:
donate: "Dona"
+ donate_liberapay: "Agiuda a liberapay"
help:
do_you: "Boles..."
feature_suggestion: "propònnere una %{link}?"
@@ -108,7 +109,10 @@ sc:
commenting: "Cummentende..."
contacts:
index:
+ add_a_new_aspect: "Annanghe un'aspetu nou"
+ no_contacts: "Paret chi tue tèngias bisòngiu de annànghere carchi cuntatu in prus!"
start_a_conversation: "Incumintza un'arresonu"
+ title: "Cuntatos"
delete: "Burra"
email: "P. eletr. (e-mail)"
error_messages:
diff --git a/config/locales/diaspora/sk.yml b/config/locales/diaspora/sk.yml
index b9f2d4a12..b648ef126 100644
--- a/config/locales/diaspora/sk.yml
+++ b/config/locales/diaspora/sk.yml
@@ -16,11 +16,11 @@ sk:
contact:
attributes:
person_id:
- taken: "musí byť jedinečný v kontaktoch tohto používateľa."
+ taken: "musí byť jedinečné medzi kontaktami tohto používateľa."
person:
attributes:
diaspora_handle:
- taken: "je už obsadený."
+ taken: "je už obsadené."
request:
attributes:
from_id:
@@ -28,15 +28,15 @@ sk:
reshare:
attributes:
root_guid:
- taken: "To je dobré, čo? Tento príspevok si už raz niekomu znova ukázal(a)!"
+ taken: "Je to dobré, čo? Tento príspevok ste už raz niekomu znova ukázali!"
user:
attributes:
email:
taken: "je už obsadený."
person:
- invalid: "je neplatný."
+ invalid: "je neplatná."
username:
- invalid: "je neplatné. Povolené sú len písmená, číslice a podčiarkovníky."
+ invalid: "je neplatné. Povolené sú iba písmená, číslice a podčiarkovníky."
taken: "sa už používa."
admins:
admin_bar:
@@ -98,13 +98,13 @@ sk:
zero: "Počet nových používateľov tento týždeň: žiaden"
current_server: "Aktuálny dátum na serveri je %{date}"
all_aspects: "Všetky kategórie"
- are_you_sure: "Si si istý(á)?"
- are_you_sure_delete_account: "Určite chceš zrušiť svoj účet? Potom sa to už nedá vrátiť späť!"
+ are_you_sure: "Ste si istý?"
+ are_you_sure_delete_account: "Určite si chcete zrušiť svoj účet? Zrušenie nie je možné vrátiť späť!"
aspect_memberships:
destroy:
- failure: "Nepodarilo sa odstrániť tohto človeka z kategórie"
- no_membership: "V tejto kategórii sa nepodarilo nájsť tohto človeka"
- success: "Tohto človeka si úspešne odstránil(a) z kategórie"
+ failure: "Nepodarilo sa odstrániť osobu z kategórie."
+ no_membership: "V tejto kategórii sa nepodarilo nájsť označenú osobu."
+ success: "Osoba bola úspešne odstránená z kategórie."
aspects:
add_to_aspect:
failure: "Nepodarilo sa pridať kontakt do kategórie."
@@ -113,15 +113,15 @@ sk:
add_an_aspect: "+ Pridať kategóriu"
aspect_stream:
make_something: "Urob niečo"
- stay_updated: "Zostaň v obraze"
- stay_updated_explanation: "Na svojej hlavnej nástenke nájdeš všetky svoje kontakty, značky, ktoré sleduješ, a príspevky od niektorých tvorivých členov komunity."
+ stay_updated: "Zostaňte v obraze"
+ stay_updated_explanation: "Na svojej hlavnej nástenke nájdete všetky svoje kontakty, značky, ktoré sledujete, a príspevky od niektorých tvorivých členov komunity."
destroy:
- failure: "Kategória %{name} sa nedá odstrániť."
- success: "Použ. %{name} bol úspešne odstránený."
+ failure: "Kategóriu %{name} sa nepodarilo odstrániť."
+ success: "Kategória %{name} bola úspešne odstránená."
edit:
- aspect_list_is_not_visible: "Ľudia v tejto kategórii sa nevida"
- aspect_list_is_visible: "Kontakty v tejto kategórii sú navzájom viditeľné"
- confirm_remove_aspect: "Si si istý(á), že chceš zmazať túto kategóriu?"
+ aspect_list_is_not_visible: "Kontakty v tejto kategórii sa navzájom nevidia."
+ aspect_list_is_visible: "Kontakty v tejto kategórii sa navzájom vidia."
+ confirm_remove_aspect: "Ste si istý, že chcete zmazať túto kategóriu?"
rename: "Premenovať"
update: "Aktualizovať"
updating: "Aktualizuje sa"
@@ -130,41 +130,40 @@ sk:
help:
any_problem: "Nejaký problém?"
contact_podmin: "Kontaktuj administrátora svojho podu."
- do_you: "Povedz:"
- feature_suggestion: "... máš nápad na novú %{link}?"
- find_a_bug: "... našiel (-šla) si %{link}?"
- have_a_question: "... máš %{link}?"
+ feature_suggestion: "…máte nápad na novú %{link}?"
+ find_a_bug: "…našli ste %{link}?"
+ have_a_question: "…máte %{link}?"
here_to_help: "Komunita diaspory* je tu!"
mail_podmin: "E-mail správcu podu"
- need_help: "Potrebuješ pomoc?"
+ need_help: "Potrebujete pomoc?"
tag_bug: "chybu"
tag_feature: "funkciu"
tag_question: "otázku"
tutorial_link_text: "Návody"
tutorials_and_wiki: "%{faq}, %{tutorial} a %{wiki}: pomoc pri prvých krokoch."
- introduce_yourself: "Toto je tvoja nástenka. Predstav sa."
+ introduce_yourself: "Toto je vaša nástenka. Naskočte a predstavte sa."
keep_pod_running: "Udrž %{pod} v rýchlom tempe a kúp serverom mesačným príspevkom kávu vo forme opráv!"
new_here:
- follow: "Sleduj %{link} a privítaj nových používateľov na Diaspore*!"
- learn_more: "Zistiť viac"
- title: "Privítaj nových používateľov"
+ follow: "Sledujte %{link} a privítajte nových používateľov na diaspore*!"
+ learn_more: "Zistite viac"
+ title: "Privítajte nových používateľov"
services:
- content: "S diasporou* môžeš prepojiť tieto služby:"
- heading: "Pripojiť sa k službám"
- welcome_to_diaspora: "Vitaj na diaspore*, %{name}!"
+ content: "K diaspore* môžete pripojiť nasledujúce služby:"
+ heading: "Pripojiť služby"
+ welcome_to_diaspora: "Vitajte na diaspore*, %{name}!"
no_contacts_message:
community_spotlight: "Aktuality z komunity"
- or_spotlight: "Alebo si do kontaktov môžeš pridať používateľov %{link}"
- try_adding_some_more_contacts: "Môžeš nájsť alebo pozvať viac ľudí."
- you_should_add_some_more_contacts: "Mal(a) by si ešte pridať pár kontaktov!"
+ or_spotlight: "Alebo môžete zdieľať s %{link}"
+ try_adding_some_more_contacts: "Môžete vyhľadať alebo %{invite_link} viac kontaktov."
+ you_should_add_some_more_contacts: "Mali by ste ešte pridať niekoľko kontaktov!"
seed:
acquaintances: "Známi"
family: "Rodina"
- friends: "Kamaráti"
+ friends: "Priatelia"
work: "Práca"
update:
- failure: "Tvoja kategória %{name} má príliš dlhý názov."
- success: "Úspešne si upravil(a) kategóriu %{name}."
+ failure: "Vaša kategória %{name} mala na uloženie príliš dlhý názov."
+ success: "Vaša kategória %{name} bola úspešné upravená."
blocks:
create:
failure: "Tohto používateľa nemôžem ignorovať. #evasion"
@@ -173,23 +172,23 @@ sk:
failure: "Ignorovanie tohto používateľa sa nepodarilo zrušiť. #evasion"
success: "Pozrime sa, čo hovoria! #sayhello"
bookmarklet:
- explanation: "Príspevky na diasporu* môžeš písať z hocikiaľ cez záložku s týmto odkazom => %{link}."
+ explanation: "Prispejte na diasporu* odkiaľkoľvek pridaním si tohto odkazu medzi záložky => %{link}."
heading: "Bookmarklet"
- post_something: "Poslať na diasporu*"
+ post_something: "Odoslať na diasporu*"
cancel: "Zrušiť"
comments:
new_comment:
- comment: "Okomentovať"
- commenting: "Posiela sa komentár..."
+ comment: "Komentovať"
+ commenting: "Komentár sa posiela…"
contacts:
index:
add_a_new_aspect: "Pridať novú kategóriu"
all_contacts: "Všetky kontakty"
community_spotlight: "Aktuality z komunity"
my_contacts: "Moje kontakty"
- no_contacts: "Zdá sa, že potrebuješ pridať pár kontaktov!"
- no_contacts_message: "Pozri si %{community_spotlight}"
- only_sharing_with_me: "Ľudia, ktorí majú v kontaktoch iba mňa"
+ no_contacts: "Zdá sa, že potrebujete pridať nejaké kontakty!"
+ no_contacts_message: "Pozrite si %{community_spotlight}"
+ only_sharing_with_me: "Iba zdieľajúcich so mnou"
start_a_conversation: "Začať rozhovor"
title: "Kontakty"
spotlight:
@@ -205,27 +204,27 @@ sk:
new_conversation: "Nový rozhovor"
no_messages: "Žiadne správy"
new:
- send: "Poslať"
- sending: "Posiela sa..."
- subject: "Vec"
- to: "Adresát"
+ send: "Odoslať"
+ sending: "Odosiela sa…"
+ subject: "Predmet"
+ to: "Komu"
new_conversation:
fail: "Neplatná správa"
show:
delete: "Odstrániť rozhovor"
reply: "Odpovedať"
- replying: "Posiela sa odpoveď..."
+ replying: "Odpoveď sa posiela…"
date:
formats:
birthday: "%e. %B "
birthday_with_year: "%e. %B %Y"
fullmonth_day: "%e. %B "
- delete: "Zmazať"
+ delete: "Odstrániť"
email: "E-mail"
error_messages:
helper:
- correct_the_following_errors_and_try_again: "Oprav nasledujúce chyby a skús to znova."
- fill_me_out: "Vyplň formulár, prosím"
+ correct_the_following_errors_and_try_again: "Opravte nasledujúce chyby a skúste to znova."
+ fill_me_out: "Vyplňte ma"
find_people: "Nájsť ľudí alebo #značky"
help:
account_and_data_management:
@@ -319,10 +318,10 @@ sk:
invitations:
create:
empty: "Zadajte, prosím, aspoň jednu e-mailovú adresu."
- no_more: "Nemáš žiadne nové pozvánky."
+ no_more: "Nemáte žiadne ďalšie pozvánky."
note_already_sent: "Pozvánky už boli odoslané na adresy: %{emails}"
- rejected: "S týmito adresami sa vyskytli problémy: "
- sent: "Pozvánky boli odoslané na adresy: %{emails}"
+ rejected: "S nasledujúcimi adresami sa vyskytli problémy: %{emails}"
+ sent: "Pozvánky boli odoslané na: %{emails}"
new:
codes_left:
few: "Pre tento kód zostali %{count} pozvánky"
@@ -330,27 +329,27 @@ sk:
other: "Pre tento kód zostalo %{count} pozvánok"
zero: "Pre tento kód zostalo %{count} pozvánok"
comma_separated_plz: "Môžeš zadať viac e-mailových adries oddelených čiarkami."
- invite_someone_to_join: "Pozvi niekoho na diasporu*!"
+ invite_someone_to_join: "Pozvite niekoho na diasporu*!"
language: "Jazyk"
paste_link: "Podeľ sa o tento odkaz s priateľmi a pozvi ich na Diasporu* alebo im ho pošli rovno na e-mail."
- send_an_invitation: "Poslať pozvánku"
+ send_an_invitation: "Odoslať pozvánku"
sending_invitation: "Posiela sa pozvánka..."
layouts:
application:
- back_to_top: "Späť nahor"
- powered_by: "Prevádzkuje Diaspora*"
- public_feed: "%{name} &ndash; verejný kanál diaspory*"
+ back_to_top: "Späť na začiatok"
+ powered_by: "Poháňané Diasporou*"
+ public_feed: "Verejný kanál diaspory* pre %{name}"
source_package: "stiahnuť balík so zdrojovým kódom"
- toggle: "Prepnúť (na) mobilnú verziu"
+ toggle: "Prepnúť mobilnú verziu"
whats_new: "Čo je nové?"
header:
code: "Kód"
logout: "Odhlásiť sa"
profile: "Profil"
settings: "Nastavenia"
- limited: "Vyhradený"
+ limited: "Obmedzený"
more: "Viac"
- no_results: "Žiadne výsledky sa nenašli"
+ no_results: "Neboli nájdené žiadne výsledky"
notifications:
also_commented:
few: "%{actors} okomentovali aj príspevok %{post_link} od použ. %{post_author}."
@@ -419,10 +418,10 @@ sk:
other: "%{actors} znova ukázali tvoj vymazaný príspevok priateľom."
zero: "%{actors} ľudí znova ukázalo príspevok priateľom."
started_sharing:
- few: "%{actors} si ťa pridali do kontaktov."
- one: "%{actors} si ťa pridal(a) do kontaktov."
- other: "%{actors} si ťa pridali do kontaktov."
- zero: "%{actors} si ťa pridalo do kontaktov."
+ few: "%{actors} začali s tebou zdieľať."
+ one: "%{actors} začal(a) s tebou zdieľať."
+ other: "%{actors} začali s tebou zdieľať."
+ zero: "%{actors} začalo s tebou zdieľat."
notifier:
a_post_you_shared: "príspevok."
click_here: "Klikni sem"
@@ -469,7 +468,7 @@ sk:
view_profile: "Zobraziť profil použ. %{name}"
thanks: "Vďaka,"
to_change_your_notification_settings: "a budeš môcť zmeniť nastavenia oznamov"
- nsfw: "Nevhodné v práci"
+ nsfw: "Nevhodný obsah"
ok: "OK"
people:
add_contact:
@@ -515,7 +514,7 @@ sk:
two: "Dve fotky, ktoré nahral(a) %{author}"
zero: "Žiadne fotky, ktoré nahral(a) %{author}"
reshare_by: "Znova ukázal(a) príspevok %{author}"
- privacy: "Ochrana súkromia"
+ privacy: "Súkromie"
profile: "Profil"
profiles:
edit:
diff --git a/config/locales/diaspora/sv.yml b/config/locales/diaspora/sv.yml
index 076c76e03..b2e777b5d 100644
--- a/config/locales/diaspora/sv.yml
+++ b/config/locales/diaspora/sv.yml
@@ -222,6 +222,7 @@ sv:
updating: "Uppdaterar"
index:
donate: "Donera"
+ donate_liberapay: "Donera till liberapay"
help:
any_problem: "Har du något problem?"
contact_podmin: "Kontakta din pods administratör."
diff --git a/config/locales/diaspora/te.yml b/config/locales/diaspora/te.yml
index f25b14d10..cd9af3e5f 100644
--- a/config/locales/diaspora/te.yml
+++ b/config/locales/diaspora/te.yml
@@ -42,6 +42,7 @@ te:
taken: "ఇప్పటికే తిసుకోబడినది"
admins:
admin_bar:
+ dashboard: "డాష్‌బోర్డు"
pages: "పుటలు"
pod_stats: "పాడ్ గణాంకాలు"
report: "నివేదికలు"
@@ -107,6 +108,20 @@ te:
zero: "ఈ వారంలో కొత్త వాడుకరుల సంఖ్య: ఎవరూలేరు"
current_server: "ప్రస్తుత సేవకం తేదీ %{date}"
all_aspects: "అన్ని కోణాలు"
+ api:
+ openid_connect:
+ authorizations:
+ new:
+ approve: "ఆమోదించు"
+ deny: "తిరస్కరించు"
+ scopes:
+ name:
+ name: "పేరు"
+ nickname:
+ name: "ముద్దుపేరు"
+ user_applications:
+ index:
+ edit_applications: "అనువర్తనాలు"
are_you_sure: "మీరు కచ్చితంగా ఉన్నారా?"
are_you_sure_delete_account: "మీరు నిజంగానే మీ ఖాతాని మూసివేయాలి అనుకుంటున్నారా? ఒకసారి మూసివేస్తే ఇక తిరిగిరాదు!"
aspect_memberships:
@@ -162,6 +177,7 @@ te:
welcome_to_diaspora: "%{name}, డయాస్పొరా*కు స్వాగతం!"
no_contacts_message:
community_spotlight: "సంఘపు స్పాట్​లైట్"
+ invite_link_text: "ఆహ్వానించండి"
or_spotlight: "లేకపోతే %{link} తో పంచుకోవచ్చు"
try_adding_some_more_contacts: "మీరు మరికొన్ని పరిచయాల్ని వెతకవచ్చు లేక ఆహ్వానించవచ్చు."
you_should_add_some_more_contacts: "మీరు ఇంకొంత మంది పరిచయాల్ని చేర్చుకోవాలి!"
@@ -218,6 +234,7 @@ te:
new_conversation: "కొత్త సంభాషణ"
no_messages: "సందేశాలేమి లేవు"
new:
+ message: "సందేశం"
send: "పంపండి"
sending: "పంపుతున్నాము..."
subject: "విషయం"
@@ -302,6 +319,7 @@ te:
image_url: "బొమ్మ url"
insert_images_comments_q: "వ్యాఖ్యలలో బొమ్మలను పెట్ట‍డం ఎలా?"
insert_images_q: "జాబులలో బొమ్మలను పెట్టడ‍ం ఎలా?"
+ post_location_q: "టపాలకు నా ప్రాంతాన్ని ఎలా చేర్చవచ్చు?"
title: "టపాలు మరియు టపాలు వేయుట"
private_posts:
can_comment_q: "నా రహస్య టపాలను ఎవరు ఇష్టపడవచ్చు లేదా వ్యాఖ్యలను ఉంచవచ్చు?"
@@ -337,6 +355,11 @@ te:
tutorial: "ఉపశిక్షణ"
tutorials: "ఉపశిక్షణ"
wiki: "వికీ"
+ home:
+ default:
+ headline: "%{pod_name}‌కి స్వాగతం"
+ podmin:
+ headline: "మిత్రమా, స్వాగతం."
invitations:
create:
empty: "దయచేసి ఒక్క ఈమెయిలు చిరునామానైనా ఇవ్వండి."
@@ -393,6 +416,7 @@ te:
other: "మరియు ఇంకా %{count} ఇతరులు"
zero: "ఇంకెవరూ లేరు"
comment_on_post: "జాబుపై వ్యాఖ్య"
+ liked: "మెచ్చుకున్నారు"
mark_all_as_read: "అన్నీ చదివినట్లుగా గుర్తుపెట్టు"
mark_all_shown_as_read: "చూపించినవన్నీ చదివినట్లుగా గుర్తుపెట్టు"
mark_read: "చదివినట్టుగా గుర్తుపెట్టు"
@@ -402,6 +426,7 @@ te:
reshared: "మరలాపంచుకున్నవి"
show_all: "అన్నీ చూపించు"
show_unread: "చదవనివి చూపించు"
+ started_sharing: "పంచుకోవడం మొదలుపెట్టారు"
liked:
one: "%{actors} మీ %{post_link}ను మెచ్చుకున్నారు."
other: "%{actors} మీ %{post_link}ను మెచ్చుకున్నారు."
@@ -568,8 +593,10 @@ te:
allow_search: "మీ కోసం డయాస్పోరా*లో వెతకడానికి వ్యక్తులను అనుమతించండి"
first_name: "మొదటి పేరు"
last_name: "ఇంటి పేరు"
+ limited: "పరిమితం"
nsfw_check: "నేను పంచుకునే ప్రతీదీ ఎన్‌ఎస్ఎఫ్‌డబ్ల్యూ వలె గుర్తుపెట్టు"
nsfw_explanation2: "ఒకవేళ ఈ ఎంపికను వద్దనుకుంటే, అటువంటి సామాగ్రిని పంచుకునే ప్రతీసారీ దయచేసి #nsfw ట్యాగును చేర్చండి."
+ public: "బహిరంగం"
update_profile: "ప్రవరను నవీకరించండి"
your_bio: "మీ జీవితచరిత్ర"
your_birthday: "మీ పుట్టినరోజు"
@@ -718,6 +745,7 @@ te:
community_spotlight_stream: "సంఘపు స్పాట్​లైట్"
followed_tag:
add_a_tag: "ఒక కొసను జతచేయండి"
+ all: "అన్ని ట్యాగులు"
follow: "అనుసరించు"
title: "#అనుసరించే కొసలు"
followed_tags_stream: "#అనుసరించే కొసలు"
@@ -728,6 +756,8 @@ te:
title: "ప్రవాహం"
public:
title: "బహిరంగ క్రియాశీలత"
+ tags:
+ title: "%{tags} అనే ట్యాగు ఉన్న టపాలు:"
tag_followings:
manage:
no_tags: "మీరు ఎటువంటి కొసలను అనుసరించుటలేరు."
@@ -747,10 +777,11 @@ te:
success: "మీ ఖాతా తాళం వేయబడింది. మీ ఖాతాను మూసివేయుటకు మాకు 20 నిమిషాలు పట్టవచ్చు. డయాస్పోరా*ను ప్రయత్నించినందుకు ధన్యవాదములు."
wrong_password: "మీరు ఇచ్చిన సంకేతపదం మీ ప్రస్తుత సంకేతపదంలో సరిపోలలేదు."
edit:
- also_commented: "మీరు వ్యాఖ్యానించిన టపాపై ఎవరో వ్యాఖ్యను పెట్టారు"
+ also_commented: "మీరు వ్యాఖ్యానించిన టపాపై మరొకరు వ్యాఖ్యానించినప్పుడు"
auto_follow_aspect: "స్వయంచాలకంగా జతచేయబడిన పరిచయాల కోణం:"
auto_follow_back: "మీతో పంచుకోవడం ప్రారంభించిన వాడుకరులతో స్వయంచాలకంగా పంచుకొనుము"
change: "మార్చు"
+ change_color_theme: "రంగుల మిశ్రమాన్ని మార్చు"
change_email: "ఈమెయిల్ మార్చండి"
change_language: "భాష మార్పు"
change_password: "సంకేతపదం మార్పు"
@@ -763,7 +794,7 @@ te:
mr_wiggles: "మీ నిష్క్రమణ మిస్టర్ విగిల్స్‌కు విచారం కలిగిస్తుంది"
no_turning_back: "ప్రస్తుతం, తిరిగి వెనక్కి వెళ్ళడమనేది లేదు."
close_account_text: "ఖాతాను మూసివేయి"
- comment_on_post: "ఎవరో మీ టపాపై వ్యాఖ్యానించారు"
+ comment_on_post: "ఎవరైనా మీ టపాపై వ్యాఖ్యానించినప్పుడు"
current_password: "ప్రస్తుత సంకేతపదం"
current_password_expl: "మీరు ప్రవేశించే దానితో..."
download_export: "నా ప్రవరను దింపు"
@@ -772,20 +803,21 @@ te:
email_awaiting_confirmation: "మేము మీకొక క్రియాశీలించు లంకెను %{unconfirmed_email} కు పంపాము. మీరు ఈ లంకెను అనుసరించి కొత్త చిరునామాను క్రియాశీలించేంతవరకూ, మీ అసలు చిరునామా %{email} ను వాడతాము."
export_data: "దత్తాంశాన్ని ఎగుమతించు"
following: "పంచుకోలు అమరికలు"
- liked: "ఎవరో మీ టపాను మెచ్చుకున్నారు"
- mentioned: "మీరు టపాలో ప్రస్తావించబడ్డారు"
+ last_exported_at: "(చివరి మార్పు %{timestamp})"
+ liked: "ఎవరైనా మీ టపాను మెచ్చుకున్నప్పుడు"
+ mentioned: "ఎవరైనా మిమ్మల్ని టపాలో ప్రస్తావించినప్పుడు"
new_password: "కొత్త సంకేతపదం"
- private_message: "మీకు రహస్య సందేశం వచ్చింది"
+ private_message: "ఎవరైనా మీకు అంతరంగిక సందేశం పంపించినపుడు"
receive_email_notifications: "ఈమెయిలు గమనింపులను ఎప్పుడు అందుకుంటారు:"
request_export: "నా ప్రవర దత్తాంశాన్ని అభ్యర్థించు"
request_export_photos: "నా ఛాయాచిత్రాలను అభ్యర్థించు"
request_export_photos_update: "నా ఛాయాచిత్రాలను తాజాపరుచు"
request_export_update: "నా ప్రవర దత్తాంశాన్ని తాజాపరుచు"
- reshared: "ఎవరో మీ టపాను మరలా పంచుకున్నారు"
+ reshared: "మీ టపాను ఎవరైనా తిరిగి పంచుకున్నప్పుడు"
show_community_spotlight: "ప్రవాహంలో \"సంఘపు స్పాట్‌లైట్‌ను\" చూపించు"
show_getting_started: "“ఆరంభించు” సూచనలను చూపించు"
someone_reported: "ఎవరో ఒకరు నివేదిక పంపారు"
- started_sharing: "ఎవరో మీతో పంచుకోవడం మొదలుపెట్టారు"
+ started_sharing: "మీతో ఎవరైనా పంచుకోవడం మొదలుపెట్టినప్పుడు"
stream_preferences: "ప్రవాహపు అభిరుచులు"
your_email: "మీ ఈమెయిలు"
your_email_private: "మీ ఈమెయిలును ఇతరులు ఎప్పటికీ చూడలేరు"
diff --git a/config/locales/diaspora/th.yml b/config/locales/diaspora/th.yml
new file mode 100644
index 000000000..31aacb30d
--- /dev/null
+++ b/config/locales/diaspora/th.yml
@@ -0,0 +1,15 @@
+# Copyright (c) 2010-2013, Diaspora Inc. This file is
+# licensed under the Affero General Public License version 3 or later. See
+# the COPYRIGHT file.
+
+
+
+th:
+ _services: "บริการ"
+ account: "บัญชี"
+ aspects:
+ index:
+ donate_liberapay: "บริจาคให้ลิเบร่าเพย์"
+ privacy: "ส่วนตัว"
+ profile: "โปรไฟล์"
+ settings: "ตั้งค่า" \ No newline at end of file
diff --git a/config/locales/diaspora/zh-TW.yml b/config/locales/diaspora/zh-TW.yml
index dda341bf3..922484e3e 100644
--- a/config/locales/diaspora/zh-TW.yml
+++ b/config/locales/diaspora/zh-TW.yml
@@ -1101,7 +1101,7 @@ zh-TW:
auto_follow_aspect: "自動被加入聯絡人的所屬社交面:"
auto_follow_back: "對主動要求跟你分享的使用者自動開始互相分享"
change: "更改"
- change_color_theme: "改色彩主題"
+ change_color_theme: "更改色彩主題"
change_email: "更改電子信箱"
change_language: "更改語言"
change_password: "更改密碼"
diff --git a/config/locales/javascript/javascript.de-CH.yml b/config/locales/javascript/javascript.de-CH.yml
index 829a7a4ec..962c6deca 100644
--- a/config/locales/javascript/javascript.de-CH.yml
+++ b/config/locales/javascript/javascript.de-CH.yml
@@ -13,10 +13,10 @@ de-CH:
other: "%d Täg"
hour: "öpe einere Stund"
hours:
- one: "öpe einere Stund"
+ one: "öpe enere Stund"
other: "öpe %d Stunde"
inPast: "jede Moment"
- minute: "öpe einere Minute"
+ minute: "öpe ere Minute"
minutes:
one: "einere Minute"
other: "%d Minute"
diff --git a/config/locales/javascript/javascript.fr.yml b/config/locales/javascript/javascript.fr.yml
index 108dceac3..00f47d0ca 100644
--- a/config/locales/javascript/javascript.fr.yml
+++ b/config/locales/javascript/javascript.fr.yml
@@ -238,7 +238,7 @@ fr:
prompt: "Merci de saisir un motif :"
prompt_default: "Contenu offensant"
status:
- created: "Le signalement a été crée avec succès."
+ created: "Le signalement a été créé avec succès."
exists: "Le signalement existe déjà"
reshares:
post: "Repartager le message de <%= name %> ?"
diff --git a/config/locales/javascript/javascript.oc.yml b/config/locales/javascript/javascript.oc.yml
index 087f25614..73bf4f8d9 100644
--- a/config/locales/javascript/javascript.oc.yml
+++ b/config/locales/javascript/javascript.oc.yml
@@ -283,11 +283,11 @@ oc:
show_nsfw_posts: "Afichar tot"
tags:
follow: "Seguir #<%= tag %>"
- follow_error: "Impossible de seguir <%= tag %> :("
+ follow_error: "Impossible de seguir #<%= tag %> :("
following: "Seguiment de #<%= tag %>"
- stop_following: "Quitar de seguir <%= tag %>"
- stop_following_confirm: "Quitar de seguir <%= tag %> ?"
- stop_following_error: "Impossible d'arrestar de seguir <%= tag %> :("
+ stop_following: "Quitar de seguir #<%= tag %>"
+ stop_following_confirm: "Quitar de seguir #<%= tag %> ?"
+ stop_following_error: "Impossible de quitar de seguir #<%= tag %> :("
unfollow: "Seguir pas mai"
unlike: "M'agrada pas mai"
via: "via <%= provider %>"
@@ -296,29 +296,30 @@ oc:
timeago:
day: "un jorn"
days:
- one: "1 jorn"
+ one: "un jorn"
other: "%d jorns"
hour: "environ una ora"
hours:
- one: "environ 1 ora"
+ one: "environ una ora"
other: "environ %d oras"
inPast: "lèu lèu"
minute: "environ una minuta"
minutes:
- one: "1 minuta"
+ one: "una minuta"
other: "%d minutas"
month: "environ un mes"
months:
- one: "1 mes"
+ one: "un mes"
other: "%d meses"
- prefixAgo: "i a"
+ prefixAgo: "fa"
prefixFromNow: "d'aicí"
seconds: "mens d'una minuta"
- suffixAgo: "fa"
+ suffixAgo: ""
suffixFromNow: "ara"
+ wordSeparator: ""
year: "environ un an"
years:
- one: "1 an"
+ one: "un an"
other: "%d ans"
unblock_failed: "Impossible de desblocar aqueste utilizaire"
viewer:
diff --git a/config/locales/javascript/javascript.pt-BR.yml b/config/locales/javascript/javascript.pt-BR.yml
index 448c50f2b..1821272d1 100644
--- a/config/locales/javascript/javascript.pt-BR.yml
+++ b/config/locales/javascript/javascript.pt-BR.yml
@@ -82,7 +82,7 @@ pt-BR:
add_a_new_aspect: "Adicionar novo aspecto"
failure: "A criação do aspecto falhou."
success: "Seu novo aspecto <%= name %> foi criado"
- make_aspect_list_visible: "Deseja tornar os contatos deste aspecto visíveis entre si?"
+ make_aspect_list_visible: "Tornar os contatos deste aspecto visíveis entre si?"
name: "Nome"
bookmarklet:
post_something: "Publicar em diaspora*"
@@ -138,7 +138,7 @@ pt-BR:
recent_notifications: "Notificações recentes"
search: "Encontrar pessoas ou #tags"
settings: "Configurações"
- toggle_mobile: "Versão para celular"
+ toggle_mobile: "Versão móvel"
toggle_navigation: "Alternar navegação"
view_all: "Ver todas"
hide_post: "Esconder esta publicação?"
diff --git a/config/locales/javascript/javascript.te.yml b/config/locales/javascript/javascript.te.yml
index fe23b3881..95c6c1261 100644
--- a/config/locales/javascript/javascript.te.yml
+++ b/config/locales/javascript/javascript.te.yml
@@ -6,6 +6,13 @@
te:
javascripts:
+ admin:
+ pods:
+ actions: "చర్యలు"
+ not_available: "అందుబాటులో లేదు"
+ states:
+ no_errors: "సరే"
+ status: "స్థితి"
and: "మరియు"
aspect_dropdown:
add_to_aspect: "పరిచయాన్ని జతచేయి"
@@ -116,6 +123,10 @@ te:
publisher:
add_option: "ఒక సమాధానాన్ని జతచేయి"
limited: "పరిమితం: మీరు ఎవరితోనైతే పంచుకుంటున్నారో వారు మాత్రమే మీ టపాను చూడగలరు"
+ markdown_editor:
+ tooltips:
+ bold: "బొద్దు"
+ italic: "వాలు"
near_from: "ఇక్కడి నుండి టపా వేసారు: <%= location %>"
option: "సమాధానం"
public: "బహిరంగం: మీ టపా అందరికీ కనిపిస్తుంది మరియు వెతుకులాట యంత్రాలలో కూడా కనపడుతుంది"
@@ -131,6 +142,10 @@ te:
show_more: "ఇంకా చూపించు"
stream:
comment: "వ్యాఖ్య"
+ comments:
+ one: "<%= count %> వ్యాఖ్య"
+ other: "<%= count %> వ్యాఖ్యలు"
+ zero: "<%= count %> వ్యాఖ్యలు"
disable_post_notifications: "ఈ టపాకు గమనింపులను అచేతనించు"
enable_post_notifications: "ఈ టపాకు గమనింపులను చేతనించు"
follow: "అనుసరించు"
@@ -149,6 +164,7 @@ te:
one: "మరో <%= count %> వ్యాఖ్యను చూపించు"
other: "మరో <%= count %> వ్యాఖ్యలను చూపించు"
zero: "మరో <%= count %> వ్యాఖ్యలను చూపించు"
+ permalink: "స్థిరలంకె"
public: "బహిరంగం"
reshare: "మరలపంచుకొను"
reshares:
diff --git a/config/locales/javascript/javascript.uk.yml b/config/locales/javascript/javascript.uk.yml
index 58f151a3d..98582e7a1 100644
--- a/config/locales/javascript/javascript.uk.yml
+++ b/config/locales/javascript/javascript.uk.yml
@@ -318,18 +318,14 @@ uk:
wasnt_that_interesting: "Гаразд, мабуть, стежити за міткою #<%= tagName %> було не так вже цікаво..."
timeago:
day: "день"
- days:
- other: "%d днів[-i]"
+ days: "%d днів[-i]"
hour: "близько години"
- hours:
- other: "близько %d годин"
+ hours: "близько %d годин"
inPast: "в будь-який момент"
minute: "близько хвилини"
- minutes:
- other: "%d хвилин[-и]"
+ minutes: "%d хвилин[-и]"
month: "близько місяця"
- months:
- other: "%d місяця[-ів]"
+ months: "%d місяця[-ів]"
prefixAgo: ""
prefixFromNow: "через"
seconds: "декілька секунд"
@@ -337,8 +333,7 @@ uk:
suffixFromNow: "з цієї миті"
wordSeparator: " "
year: "близько року"
- years:
- other: "%d років"
+ years: "%d років"
unblock_failed: "Не вдалось розблокувати цього користувача"
viewer:
reshared: "Поділилися" \ No newline at end of file
diff --git a/features/desktop/donations.feature b/features/desktop/donations.feature
index 0985ff132..8ef798acb 100644
--- a/features/desktop/donations.feature
+++ b/features/desktop/donations.feature
@@ -16,3 +16,10 @@ Feature: donations
Then I should see "Donate" within ".info-bar"
And I click on "Donate" navbar title
Then I should see the Bitcoin address
+
+ Scenario: Liberapay donations
+ Given I have configured a Liberapay username
+ And I go to the home page
+ Then I should see "Donate" within ".info-bar"
+ And I click on "Donate" navbar title
+ Then I should see the Liberapay donate button
diff --git a/features/desktop/signs_up.feature b/features/desktop/signs_up.feature
index dbbbf73fa..84b6381a3 100644
--- a/features/desktop/signs_up.feature
+++ b/features/desktop/signs_up.feature
@@ -37,6 +37,11 @@ Feature: new user registration
Then I should be on the stream page
And I close the publisher
+ Scenario: first status message is public
+ When I confirm the alert after I follow "awesome_button"
+ Then I should be on the stream page
+ And I should see "Public" within ".aspect_dropdown"
+
Scenario: new user without any tags posts first status message
When I confirm the alert after I follow "awesome_button"
Then I should be on the stream page
diff --git a/features/step_definitions/custom_web_steps.rb b/features/step_definitions/custom_web_steps.rb
index a84f2d337..c72deff6a 100644
--- a/features/step_definitions/custom_web_steps.rb
+++ b/features/step_definitions/custom_web_steps.rb
@@ -288,6 +288,14 @@ Then /^I should see the Bitcoin address$/ do
find("#bitcoin_address")['value'].should == "AAAAAA"
end
+Given /^I have configured a Liberapay username$/ do
+ AppConfig.settings.liberapay_username = "BBBBBB"
+end
+
+Then /^I should see the Liberapay donate button$/ do
+ find("#liberapay-button")["href"].should == "https://liberapay.com/BBBBBB/donate"
+end
+
Given /^"([^"]*)" is hidden$/ do |selector|
page.should have_selector(selector, visible: false)
page.should_not have_selector(selector)
diff --git a/features/support/webmock.rb b/features/support/webmock.rb
index 017336779..372d81803 100644
--- a/features/support/webmock.rb
+++ b/features/support/webmock.rb
@@ -5,7 +5,7 @@ Before do
stub_request(:head, /.+/).with(
headers: {
"Accept" => "text/html",
- "User-Agent" => "OpenGraphReader/0.6.1 (+https://github.com/jhass/open_graph_reader)"
+ "User-Agent" => "OpenGraphReader/0.6.2 (+https://github.com/jhass/open_graph_reader)"
}
).to_return(status: 200, body: "", headers: {"Content-Type" => "text/plain"})
end
diff --git a/lib/assets/javascripts/posix-bracket-expressions.js b/lib/assets/javascripts/posix-bracket-expressions.js
index 4f573e5b6..b023b9c26 100644
--- a/lib/assets/javascripts/posix-bracket-expressions.js
+++ b/lib/assets/javascripts/posix-bracket-expressions.js
@@ -1,448 +1,1365 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
-// information for jshint
-/* exported PosixBracketExpressions */
-
var PosixBracketExpressions = {
- alnum : '\\u0030-\\u0039'
- + '\\u0041-\\u005a'
- + '\\u0061-\\u007a'
- + '\\u00aa'
- + '\\u00b5'
- + '\\u00ba'
- + '\\u00c0-\\u00d6'
- + '\\u00d8-\\u00f6'
- + '\\u00f8-\\u02c1'
- + '\\u02c6-\\u02d1'
- + '\\u02e0-\\u02e4'
- + '\\u02ec'
- + '\\u02ee'
- + '\\u0345'
- + '\\u0370-\\u0374'
- + '\\u0376-\\u0377'
- + '\\u037a-\\u037d'
- + '\\u0386'
- + '\\u0388-\\u038a'
- + '\\u038c'
- + '\\u038e-\\u03a1'
- + '\\u03a3-\\u03f5'
- + '\\u03f7-\\u0481'
- + '\\u048a-\\u0527'
- + '\\u0531-\\u0556'
- + '\\u0559'
- + '\\u0561-\\u0587'
- + '\\u05b0-\\u05bd'
- + '\\u05bf'
- + '\\u05c1-\\u05c2'
- + '\\u05c4-\\u05c5'
- + '\\u05c7'
- + '\\u05d0-\\u05ea'
- + '\\u05f0-\\u05f2'
- + '\\u0610-\\u061a'
- + '\\u0620-\\u0657'
- + '\\u0659-\\u0669'
- + '\\u066e-\\u06d3'
- + '\\u06d5-\\u06dc'
- + '\\u06e1-\\u06e8'
- + '\\u06ed-\\u06fc'
- + '\\u06ff'
- + '\\u0710-\\u073f'
- + '\\u074d-\\u07b1'
- + '\\u07c0-\\u07ea'
- + '\\u07f4-\\u07f5'
- + '\\u07fa'
- + '\\u0800-\\u0817'
- + '\\u081a-\\u082c'
- + '\\u0840-\\u0858'
- + '\\u08a0'
- + '\\u08a2-\\u08ac'
- + '\\u08e4-\\u08e9'
- + '\\u08f0-\\u08fe'
- + '\\u0900-\\u093b'
- + '\\u093d-\\u094c'
- + '\\u094e-\\u0950'
- + '\\u0955-\\u0963'
- + '\\u0966-\\u096f'
- + '\\u0971-\\u0977'
- + '\\u0979-\\u097f'
- + '\\u0981-\\u0983'
- + '\\u0985-\\u098c'
- + '\\u098f-\\u0990'
- + '\\u0993-\\u09a8'
- + '\\u09aa-\\u09b0'
- + '\\u09b2'
- + '\\u09b6-\\u09b9'
- + '\\u09bd-\\u09c4'
- + '\\u09c7-\\u09c8'
- + '\\u09cb-\\u09cc'
- + '\\u09ce'
- + '\\u09d7'
- + '\\u09dc-\\u09dd'
- + '\\u09df-\\u09e3'
- + '\\u09e6-\\u09f1'
- + '\\u0a01-\\u0a03'
- + '\\u0a05-\\u0a0a'
- + '\\u0a0f-\\u0a10'
- + '\\u0a13-\\u0a28'
- + '\\u0a2a-\\u0a30'
- + '\\u0a32-\\u0a33'
- + '\\u0a35-\\u0a36'
- + '\\u0a38-\\u0a39'
- + '\\u0a3e-\\u0a42'
- + '\\u0a47-\\u0a48'
- + '\\u0a4b-\\u0a4c'
- + '\\u0a51'
- + '\\u0a59-\\u0a5c'
- + '\\u0a5e'
- + '\\u0a66-\\u0a75'
- + '\\u0a81-\\u0a83'
- + '\\u0a85-\\u0a8d'
- + '\\u0a8f-\\u0a91'
- + '\\u0a93-\\u0aa8'
- + '\\u0aaa-\\u0ab0'
- + '\\u0ab2-\\u0ab3'
- + '\\u0ab5-\\u0ab9'
- + '\\u0abd-\\u0ac5'
- + '\\u0ac7-\\u0ac9'
- + '\\u0acb-\\u0acc'
- + '\\u0ad0'
- + '\\u0ae0-\\u0ae3'
- + '\\u0ae6-\\u0aef'
- + '\\u0b01-\\u0b03'
- + '\\u0b05-\\u0b0c'
- + '\\u0b0f-\\u0b10'
- + '\\u0b13-\\u0b28'
- + '\\u0b2a-\\u0b30'
- + '\\u0b32-\\u0b33'
- + '\\u0b35-\\u0b39'
- + '\\u0b3d-\\u0b44'
- + '\\u0b47-\\u0b48'
- + '\\u0b4b-\\u0b4c'
- + '\\u0b56-\\u0b57'
- + '\\u0b5c-\\u0b5d'
- + '\\u0b5f-\\u0b63'
- + '\\u0b66-\\u0b6f'
- + '\\u0b71'
- + '\\u0b82-\\u0b83'
- + '\\u0b85-\\u0b8a'
- + '\\u0b8e-\\u0b90'
- + '\\u0b92-\\u0b95'
- + '\\u0b99-\\u0b9a'
- + '\\u0b9c'
- + '\\u0b9e-\\u0b9f'
- + '\\u0ba3-\\u0ba4'
- + '\\u0ba8-\\u0baa'
- + '\\u0bae-\\u0bb9'
- + '\\u0bbe-\\u0bc2'
- + '\\u0bc6-\\u0bc8'
- + '\\u0bca-\\u0bcc'
- + '\\u0bd0'
- + '\\u0bd7'
- + '\\u0be6-\\u0bef'
- + '\\u0c01-\\u0c03'
- + '\\u0c05-\\u0c0c'
- + '\\u0c0e-\\u0c10'
- + '\\u0c12-\\u0c28'
- + '\\u0c2a-\\u0c33'
- + '\\u0c35-\\u0c39'
- + '\\u0c3d-\\u0c44'
- + '\\u0c46-\\u0c48'
- + '\\u0c4a-\\u0c4c'
- + '\\u0c55-\\u0c56'
- + '\\u0c58-\\u0c59'
- + '\\u0c60-\\u0c63'
- + '\\u0c66-\\u0c6f'
- + '\\u0c82-\\u0c83'
- + '\\u0c85-\\u0c8c'
- + '\\u0c8e-\\u0c90'
- + '\\u0c92-\\u0ca8'
- + '\\u0caa-\\u0cb3'
- + '\\u0cb5-\\u0cb9'
- + '\\u0cbd-\\u0cc4'
- + '\\u0cc6-\\u0cc8'
- + '\\u0cca-\\u0ccc'
- + '\\u0cd5-\\u0cd6'
- + '\\u0cde'
- + '\\u0ce0-\\u0ce3'
- + '\\u0ce6-\\u0cef'
- + '\\u0cf1-\\u0cf2'
- + '\\u0d02-\\u0d03'
- + '\\u0d05-\\u0d0c'
- + '\\u0d0e-\\u0d10'
- + '\\u0d12-\\u0d3a'
- + '\\u0d3d-\\u0d44'
- + '\\u0d46-\\u0d48'
- + '\\u0d4a-\\u0d4c'
- + '\\u0d4e'
- + '\\u0d57'
- + '\\u0d60-\\u0d63'
- + '\\u0d66-\\u0d6f'
- + '\\u0d7a-\\u0d7f'
- + '\\u0d82-\\u0d83'
- + '\\u0d85-\\u0d96'
- + '\\u0d9a-\\u0db1'
- + '\\u0db3-\\u0dbb'
- + '\\u0dbd'
- + '\\u0dc0-\\u0dc6'
- + '\\u0dcf-\\u0dd4'
- + '\\u0dd6'
- + '\\u0dd8-\\u0ddf'
- + '\\u0df2-\\u0df3'
- + '\\u0e01-\\u0e3a'
- + '\\u0e40-\\u0e46'
- + '\\u0e4d'
- + '\\u0e50-\\u0e59'
- + '\\u0e81-\\u0e82'
- + '\\u0e84'
- + '\\u0e87-\\u0e88'
- + '\\u0e8a'
- + '\\u0e8d'
- + '\\u0e94-\\u0e97'
- + '\\u0e99-\\u0e9f'
- + '\\u0ea1-\\u0ea3'
- + '\\u0ea5'
- + '\\u0ea7'
- + '\\u0eaa-\\u0eab'
- + '\\u0ead-\\u0eb9'
- + '\\u0ebb-\\u0ebd'
- + '\\u0ec0-\\u0ec4'
- + '\\u0ec6'
- + '\\u0ecd'
- + '\\u0ed0-\\u0ed9'
- + '\\u0edc-\\u0edf'
- + '\\u0f00'
- + '\\u0f20-\\u0f29'
- + '\\u0f40-\\u0f47'
- + '\\u0f49-\\u0f6c'
- + '\\u0f71-\\u0f81'
- + '\\u0f88-\\u0f97'
- + '\\u0f99-\\u0fbc'
- + '\\u1000-\\u1036'
- + '\\u1038'
- + '\\u103b-\\u1049'
- + '\\u1050-\\u1062'
- + '\\u1065-\\u1068'
- + '\\u106e-\\u1086'
- + '\\u108e'
- + '\\u1090-\\u1099'
- + '\\u109c-\\u109d'
- + '\\u10a0-\\u10c5'
- + '\\u10c7'
- + '\\u10cd'
- + '\\u10d0-\\u10fa'
- + '\\u10fc-\\u1248'
- + '\\u124a-\\u124d'
- + '\\u1250-\\u1256'
- + '\\u1258'
- + '\\u125a-\\u125d'
- + '\\u1260-\\u1288'
- + '\\u128a-\\u128d'
- + '\\u1290-\\u12b0'
- + '\\u12b2-\\u12b5'
- + '\\u12b8-\\u12be'
- + '\\u12c0'
- + '\\u12c2-\\u12c5'
- + '\\u12c8-\\u12d6'
- + '\\u12d8-\\u1310'
- + '\\u1312-\\u1315'
- + '\\u1318-\\u135a'
- + '\\u135f'
- + '\\u1380-\\u138f'
- + '\\u13a0-\\u13f4'
- + '\\u1401-\\u166c'
- + '\\u166f-\\u167f'
- + '\\u1681-\\u169a'
- + '\\u16a0-\\u16ea'
- + '\\u16ee-\\u16f0'
- + '\\u1700-\\u170c'
- + '\\u170e-\\u1713'
- + '\\u1720-\\u1733'
- + '\\u1740-\\u1753'
- + '\\u1760-\\u176c'
- + '\\u176e-\\u1770'
- + '\\u1772-\\u1773'
- + '\\u1780-\\u17b3'
- + '\\u17b6-\\u17c8'
- + '\\u17d7'
- + '\\u17dc'
- + '\\u17e0-\\u17e9'
- + '\\u1810-\\u1819'
- + '\\u1820-\\u1877'
- + '\\u1880-\\u18aa'
- + '\\u18b0-\\u18f5'
- + '\\u1900-\\u191c'
- + '\\u1920-\\u192b'
- + '\\u1930-\\u1938'
- + '\\u1946-\\u196d'
- + '\\u1970-\\u1974'
- + '\\u1980-\\u19ab'
- + '\\u19b0-\\u19c9'
- + '\\u19d0-\\u19d9'
- + '\\u1a00-\\u1a1b'
- + '\\u1a20-\\u1a5e'
- + '\\u1a61-\\u1a74'
- + '\\u1a80-\\u1a89'
- + '\\u1a90-\\u1a99'
- + '\\u1aa7'
- + '\\u1b00-\\u1b33'
- + '\\u1b35-\\u1b43'
- + '\\u1b45-\\u1b4b'
- + '\\u1b50-\\u1b59'
- + '\\u1b80-\\u1ba9'
- + '\\u1bac-\\u1be5'
- + '\\u1be7-\\u1bf1'
- + '\\u1c00-\\u1c35'
- + '\\u1c40-\\u1c49'
- + '\\u1c4d-\\u1c7d'
- + '\\u1ce9-\\u1cec'
- + '\\u1cee-\\u1cf3'
- + '\\u1cf5-\\u1cf6'
- + '\\u1d00-\\u1dbf'
- + '\\u1e00-\\u1f15'
- + '\\u1f18-\\u1f1d'
- + '\\u1f20-\\u1f45'
- + '\\u1f48-\\u1f4d'
- + '\\u1f50-\\u1f57'
- + '\\u1f59'
- + '\\u1f5b'
- + '\\u1f5d'
- + '\\u1f5f-\\u1f7d'
- + '\\u1f80-\\u1fb4'
- + '\\u1fb6-\\u1fbc'
- + '\\u1fbe'
- + '\\u1fc2-\\u1fc4'
- + '\\u1fc6-\\u1fcc'
- + '\\u1fd0-\\u1fd3'
- + '\\u1fd6-\\u1fdb'
- + '\\u1fe0-\\u1fec'
- + '\\u1ff2-\\u1ff4'
- + '\\u1ff6-\\u1ffc'
- + '\\u2071'
- + '\\u207f'
- + '\\u2090-\\u209c'
- + '\\u2102'
- + '\\u2107'
- + '\\u210a-\\u2113'
- + '\\u2115'
- + '\\u2119-\\u211d'
- + '\\u2124'
- + '\\u2126'
- + '\\u2128'
- + '\\u212a-\\u212d'
- + '\\u212f-\\u2139'
- + '\\u213c-\\u213f'
- + '\\u2145-\\u2149'
- + '\\u214e'
- + '\\u2160-\\u2188'
- + '\\u24b6-\\u24e9'
- + '\\u2c00-\\u2c2e'
- + '\\u2c30-\\u2c5e'
- + '\\u2c60-\\u2ce4'
- + '\\u2ceb-\\u2cee'
- + '\\u2cf2-\\u2cf3'
- + '\\u2d00-\\u2d25'
- + '\\u2d27'
- + '\\u2d2d'
- + '\\u2d30-\\u2d67'
- + '\\u2d6f'
- + '\\u2d80-\\u2d96'
- + '\\u2da0-\\u2da6'
- + '\\u2da8-\\u2dae'
- + '\\u2db0-\\u2db6'
- + '\\u2db8-\\u2dbe'
- + '\\u2dc0-\\u2dc6'
- + '\\u2dc8-\\u2dce'
- + '\\u2dd0-\\u2dd6'
- + '\\u2dd8-\\u2dde'
- + '\\u2de0-\\u2dff'
- + '\\u2e2f'
- + '\\u3005-\\u3007'
- + '\\u3021-\\u3029'
- + '\\u3031-\\u3035'
- + '\\u3038-\\u303c'
- + '\\u3041-\\u3096'
- + '\\u309d-\\u309f'
- + '\\u30a1-\\u30fa'
- + '\\u30fc-\\u30ff'
- + '\\u3105-\\u312d'
- + '\\u3131-\\u318e'
- + '\\u31a0-\\u31ba'
- + '\\u31f0-\\u31ff'
- + '\\u3400-\\u4db5'
- + '\\u4e00-\\u9fcc'
- + '\\ua000-\\ua48c'
- + '\\ua4d0-\\ua4fd'
- + '\\ua500-\\ua60c'
- + '\\ua610-\\ua62b'
- + '\\ua640-\\ua66e'
- + '\\ua674-\\ua67b'
- + '\\ua67f-\\ua697'
- + '\\ua69f-\\ua6ef'
- + '\\ua717-\\ua71f'
- + '\\ua722-\\ua788'
- + '\\ua78b-\\ua78e'
- + '\\ua790-\\ua793'
- + '\\ua7a0-\\ua7aa'
- + '\\ua7f8-\\ua801'
- + '\\ua803-\\ua805'
- + '\\ua807-\\ua80a'
- + '\\ua80c-\\ua827'
- + '\\ua840-\\ua873'
- + '\\ua880-\\ua8c3'
- + '\\ua8d0-\\ua8d9'
- + '\\ua8f2-\\ua8f7'
- + '\\ua8fb'
- + '\\ua900-\\ua92a'
- + '\\ua930-\\ua952'
- + '\\ua960-\\ua97c'
- + '\\ua980-\\ua9b2'
- + '\\ua9b4-\\ua9bf'
- + '\\ua9cf-\\ua9d9'
- + '\\uaa00-\\uaa36'
- + '\\uaa40-\\uaa4d'
- + '\\uaa50-\\uaa59'
- + '\\uaa60-\\uaa76'
- + '\\uaa7a'
- + '\\uaa80-\\uaabe'
- + '\\uaac0'
- + '\\uaac2'
- + '\\uaadb-\\uaadd'
- + '\\uaae0-\\uaaef'
- + '\\uaaf2-\\uaaf5'
- + '\\uab01-\\uab06'
- + '\\uab09-\\uab0e'
- + '\\uab11-\\uab16'
- + '\\uab20-\\uab26'
- + '\\uab28-\\uab2e'
- + '\\uabc0-\\uabea'
- + '\\uabf0-\\uabf9'
- + '\\uac00-\\ud7a3'
- + '\\ud7b0-\\ud7c6'
- + '\\ud7cb-\\ud7fb'
- + '\\uf900-\\ufa6d'
- + '\\ufa70-\\ufad9'
- + '\\ufb00-\\ufb06'
- + '\\ufb13-\\ufb17'
- + '\\ufb1d-\\ufb28'
- + '\\ufb2a-\\ufb36'
- + '\\ufb38-\\ufb3c'
- + '\\ufb3e'
- + '\\ufb40-\\ufb41'
- + '\\ufb43-\\ufb44'
- + '\\ufb46-\\ufbb1'
- + '\\ufbd3-\\ufd3d'
- + '\\ufd50-\\ufd8f'
- + '\\ufd92-\\ufdc7'
- + '\\ufdf0-\\ufdfb'
- + '\\ufe70-\\ufe74'
- + '\\ufe76-\\ufefc'
- + '\\uff10-\\uff19'
- + '\\uff21-\\uff3a'
- + '\\uff41-\\uff5a'
- + '\\uff66-\\uffbe'
- + '\\uffc2-\\uffc7'
- + '\\uffca-\\uffcf'
- + '\\uffd2-\\uffd7'
- + '\\uffda-\\uffdc'
+ // source: https://github.com/ruby/ruby/blob/ruby_2_4/enc/unicode/9.0.0/name2ctype.h#L3544
+ word: "\\u0030-\\u0039" +
+ "\\u0041-\\u005a" +
+ "\\u005f-\\u005f" +
+ "\\u0061-\\u007a" +
+ "\\u00aa-\\u00aa" +
+ "\\u00b5-\\u00b5" +
+ "\\u00ba-\\u00ba" +
+ "\\u00c0-\\u00d6" +
+ "\\u00d8-\\u00f6" +
+ "\\u00f8-\\u02c1" +
+ "\\u02c6-\\u02d1" +
+ "\\u02e0-\\u02e4" +
+ "\\u02ec-\\u02ec" +
+ "\\u02ee-\\u02ee" +
+ "\\u0300-\\u0374" +
+ "\\u0376-\\u0377" +
+ "\\u037a-\\u037d" +
+ "\\u037f-\\u037f" +
+ "\\u0386-\\u0386" +
+ "\\u0388-\\u038a" +
+ "\\u038c-\\u038c" +
+ "\\u038e-\\u03a1" +
+ "\\u03a3-\\u03f5" +
+ "\\u03f7-\\u0481" +
+ "\\u0483-\\u052f" +
+ "\\u0531-\\u0556" +
+ "\\u0559-\\u0559" +
+ "\\u0561-\\u0587" +
+ "\\u0591-\\u05bd" +
+ "\\u05bf-\\u05bf" +
+ "\\u05c1-\\u05c2" +
+ "\\u05c4-\\u05c5" +
+ "\\u05c7-\\u05c7" +
+ "\\u05d0-\\u05ea" +
+ "\\u05f0-\\u05f2" +
+ "\\u0610-\\u061a" +
+ "\\u0620-\\u0669" +
+ "\\u066e-\\u06d3" +
+ "\\u06d5-\\u06dc" +
+ "\\u06df-\\u06e8" +
+ "\\u06ea-\\u06fc" +
+ "\\u06ff-\\u06ff" +
+ "\\u0710-\\u074a" +
+ "\\u074d-\\u07b1" +
+ "\\u07c0-\\u07f5" +
+ "\\u07fa-\\u07fa" +
+ "\\u0800-\\u082d" +
+ "\\u0840-\\u085b" +
+ "\\u08a0-\\u08b4" +
+ "\\u08b6-\\u08bd" +
+ "\\u08d4-\\u08e1" +
+ "\\u08e3-\\u0963" +
+ "\\u0966-\\u096f" +
+ "\\u0971-\\u0983" +
+ "\\u0985-\\u098c" +
+ "\\u098f-\\u0990" +
+ "\\u0993-\\u09a8" +
+ "\\u09aa-\\u09b0" +
+ "\\u09b2-\\u09b2" +
+ "\\u09b6-\\u09b9" +
+ "\\u09bc-\\u09c4" +
+ "\\u09c7-\\u09c8" +
+ "\\u09cb-\\u09ce" +
+ "\\u09d7-\\u09d7" +
+ "\\u09dc-\\u09dd" +
+ "\\u09df-\\u09e3" +
+ "\\u09e6-\\u09f1" +
+ "\\u0a01-\\u0a03" +
+ "\\u0a05-\\u0a0a" +
+ "\\u0a0f-\\u0a10" +
+ "\\u0a13-\\u0a28" +
+ "\\u0a2a-\\u0a30" +
+ "\\u0a32-\\u0a33" +
+ "\\u0a35-\\u0a36" +
+ "\\u0a38-\\u0a39" +
+ "\\u0a3c-\\u0a3c" +
+ "\\u0a3e-\\u0a42" +
+ "\\u0a47-\\u0a48" +
+ "\\u0a4b-\\u0a4d" +
+ "\\u0a51-\\u0a51" +
+ "\\u0a59-\\u0a5c" +
+ "\\u0a5e-\\u0a5e" +
+ "\\u0a66-\\u0a75" +
+ "\\u0a81-\\u0a83" +
+ "\\u0a85-\\u0a8d" +
+ "\\u0a8f-\\u0a91" +
+ "\\u0a93-\\u0aa8" +
+ "\\u0aaa-\\u0ab0" +
+ "\\u0ab2-\\u0ab3" +
+ "\\u0ab5-\\u0ab9" +
+ "\\u0abc-\\u0ac5" +
+ "\\u0ac7-\\u0ac9" +
+ "\\u0acb-\\u0acd" +
+ "\\u0ad0-\\u0ad0" +
+ "\\u0ae0-\\u0ae3" +
+ "\\u0ae6-\\u0aef" +
+ "\\u0af9-\\u0af9" +
+ "\\u0b01-\\u0b03" +
+ "\\u0b05-\\u0b0c" +
+ "\\u0b0f-\\u0b10" +
+ "\\u0b13-\\u0b28" +
+ "\\u0b2a-\\u0b30" +
+ "\\u0b32-\\u0b33" +
+ "\\u0b35-\\u0b39" +
+ "\\u0b3c-\\u0b44" +
+ "\\u0b47-\\u0b48" +
+ "\\u0b4b-\\u0b4d" +
+ "\\u0b56-\\u0b57" +
+ "\\u0b5c-\\u0b5d" +
+ "\\u0b5f-\\u0b63" +
+ "\\u0b66-\\u0b6f" +
+ "\\u0b71-\\u0b71" +
+ "\\u0b82-\\u0b83" +
+ "\\u0b85-\\u0b8a" +
+ "\\u0b8e-\\u0b90" +
+ "\\u0b92-\\u0b95" +
+ "\\u0b99-\\u0b9a" +
+ "\\u0b9c-\\u0b9c" +
+ "\\u0b9e-\\u0b9f" +
+ "\\u0ba3-\\u0ba4" +
+ "\\u0ba8-\\u0baa" +
+ "\\u0bae-\\u0bb9" +
+ "\\u0bbe-\\u0bc2" +
+ "\\u0bc6-\\u0bc8" +
+ "\\u0bca-\\u0bcd" +
+ "\\u0bd0-\\u0bd0" +
+ "\\u0bd7-\\u0bd7" +
+ "\\u0be6-\\u0bef" +
+ "\\u0c00-\\u0c03" +
+ "\\u0c05-\\u0c0c" +
+ "\\u0c0e-\\u0c10" +
+ "\\u0c12-\\u0c28" +
+ "\\u0c2a-\\u0c39" +
+ "\\u0c3d-\\u0c44" +
+ "\\u0c46-\\u0c48" +
+ "\\u0c4a-\\u0c4d" +
+ "\\u0c55-\\u0c56" +
+ "\\u0c58-\\u0c5a" +
+ "\\u0c60-\\u0c63" +
+ "\\u0c66-\\u0c6f" +
+ "\\u0c80-\\u0c83" +
+ "\\u0c85-\\u0c8c" +
+ "\\u0c8e-\\u0c90" +
+ "\\u0c92-\\u0ca8" +
+ "\\u0caa-\\u0cb3" +
+ "\\u0cb5-\\u0cb9" +
+ "\\u0cbc-\\u0cc4" +
+ "\\u0cc6-\\u0cc8" +
+ "\\u0cca-\\u0ccd" +
+ "\\u0cd5-\\u0cd6" +
+ "\\u0cde-\\u0cde" +
+ "\\u0ce0-\\u0ce3" +
+ "\\u0ce6-\\u0cef" +
+ "\\u0cf1-\\u0cf2" +
+ "\\u0d01-\\u0d03" +
+ "\\u0d05-\\u0d0c" +
+ "\\u0d0e-\\u0d10" +
+ "\\u0d12-\\u0d3a" +
+ "\\u0d3d-\\u0d44" +
+ "\\u0d46-\\u0d48" +
+ "\\u0d4a-\\u0d4e" +
+ "\\u0d54-\\u0d57" +
+ "\\u0d5f-\\u0d63" +
+ "\\u0d66-\\u0d6f" +
+ "\\u0d7a-\\u0d7f" +
+ "\\u0d82-\\u0d83" +
+ "\\u0d85-\\u0d96" +
+ "\\u0d9a-\\u0db1" +
+ "\\u0db3-\\u0dbb" +
+ "\\u0dbd-\\u0dbd" +
+ "\\u0dc0-\\u0dc6" +
+ "\\u0dca-\\u0dca" +
+ "\\u0dcf-\\u0dd4" +
+ "\\u0dd6-\\u0dd6" +
+ "\\u0dd8-\\u0ddf" +
+ "\\u0de6-\\u0def" +
+ "\\u0df2-\\u0df3" +
+ "\\u0e01-\\u0e3a" +
+ "\\u0e40-\\u0e4e" +
+ "\\u0e50-\\u0e59" +
+ "\\u0e81-\\u0e82" +
+ "\\u0e84-\\u0e84" +
+ "\\u0e87-\\u0e88" +
+ "\\u0e8a-\\u0e8a" +
+ "\\u0e8d-\\u0e8d" +
+ "\\u0e94-\\u0e97" +
+ "\\u0e99-\\u0e9f" +
+ "\\u0ea1-\\u0ea3" +
+ "\\u0ea5-\\u0ea5" +
+ "\\u0ea7-\\u0ea7" +
+ "\\u0eaa-\\u0eab" +
+ "\\u0ead-\\u0eb9" +
+ "\\u0ebb-\\u0ebd" +
+ "\\u0ec0-\\u0ec4" +
+ "\\u0ec6-\\u0ec6" +
+ "\\u0ec8-\\u0ecd" +
+ "\\u0ed0-\\u0ed9" +
+ "\\u0edc-\\u0edf" +
+ "\\u0f00-\\u0f00" +
+ "\\u0f18-\\u0f19" +
+ "\\u0f20-\\u0f29" +
+ "\\u0f35-\\u0f35" +
+ "\\u0f37-\\u0f37" +
+ "\\u0f39-\\u0f39" +
+ "\\u0f3e-\\u0f47" +
+ "\\u0f49-\\u0f6c" +
+ "\\u0f71-\\u0f84" +
+ "\\u0f86-\\u0f97" +
+ "\\u0f99-\\u0fbc" +
+ "\\u0fc6-\\u0fc6" +
+ "\\u1000-\\u1049" +
+ "\\u1050-\\u109d" +
+ "\\u10a0-\\u10c5" +
+ "\\u10c7-\\u10c7" +
+ "\\u10cd-\\u10cd" +
+ "\\u10d0-\\u10fa" +
+ "\\u10fc-\\u1248" +
+ "\\u124a-\\u124d" +
+ "\\u1250-\\u1256" +
+ "\\u1258-\\u1258" +
+ "\\u125a-\\u125d" +
+ "\\u1260-\\u1288" +
+ "\\u128a-\\u128d" +
+ "\\u1290-\\u12b0" +
+ "\\u12b2-\\u12b5" +
+ "\\u12b8-\\u12be" +
+ "\\u12c0-\\u12c0" +
+ "\\u12c2-\\u12c5" +
+ "\\u12c8-\\u12d6" +
+ "\\u12d8-\\u1310" +
+ "\\u1312-\\u1315" +
+ "\\u1318-\\u135a" +
+ "\\u135d-\\u135f" +
+ "\\u1380-\\u138f" +
+ "\\u13a0-\\u13f5" +
+ "\\u13f8-\\u13fd" +
+ "\\u1401-\\u166c" +
+ "\\u166f-\\u167f" +
+ "\\u1681-\\u169a" +
+ "\\u16a0-\\u16ea" +
+ "\\u16ee-\\u16f8" +
+ "\\u1700-\\u170c" +
+ "\\u170e-\\u1714" +
+ "\\u1720-\\u1734" +
+ "\\u1740-\\u1753" +
+ "\\u1760-\\u176c" +
+ "\\u176e-\\u1770" +
+ "\\u1772-\\u1773" +
+ "\\u1780-\\u17d3" +
+ "\\u17d7-\\u17d7" +
+ "\\u17dc-\\u17dd" +
+ "\\u17e0-\\u17e9" +
+ "\\u180b-\\u180d" +
+ "\\u1810-\\u1819" +
+ "\\u1820-\\u1877" +
+ "\\u1880-\\u18aa" +
+ "\\u18b0-\\u18f5" +
+ "\\u1900-\\u191e" +
+ "\\u1920-\\u192b" +
+ "\\u1930-\\u193b" +
+ "\\u1946-\\u196d" +
+ "\\u1970-\\u1974" +
+ "\\u1980-\\u19ab" +
+ "\\u19b0-\\u19c9" +
+ "\\u19d0-\\u19d9" +
+ "\\u1a00-\\u1a1b" +
+ "\\u1a20-\\u1a5e" +
+ "\\u1a60-\\u1a7c" +
+ "\\u1a7f-\\u1a89" +
+ "\\u1a90-\\u1a99" +
+ "\\u1aa7-\\u1aa7" +
+ "\\u1ab0-\\u1abe" +
+ "\\u1b00-\\u1b4b" +
+ "\\u1b50-\\u1b59" +
+ "\\u1b6b-\\u1b73" +
+ "\\u1b80-\\u1bf3" +
+ "\\u1c00-\\u1c37" +
+ "\\u1c40-\\u1c49" +
+ "\\u1c4d-\\u1c7d" +
+ "\\u1c80-\\u1c88" +
+ "\\u1cd0-\\u1cd2" +
+ "\\u1cd4-\\u1cf6" +
+ "\\u1cf8-\\u1cf9" +
+ "\\u1d00-\\u1df5" +
+ "\\u1dfb-\\u1f15" +
+ "\\u1f18-\\u1f1d" +
+ "\\u1f20-\\u1f45" +
+ "\\u1f48-\\u1f4d" +
+ "\\u1f50-\\u1f57" +
+ "\\u1f59-\\u1f59" +
+ "\\u1f5b-\\u1f5b" +
+ "\\u1f5d-\\u1f5d" +
+ "\\u1f5f-\\u1f7d" +
+ "\\u1f80-\\u1fb4" +
+ "\\u1fb6-\\u1fbc" +
+ "\\u1fbe-\\u1fbe" +
+ "\\u1fc2-\\u1fc4" +
+ "\\u1fc6-\\u1fcc" +
+ "\\u1fd0-\\u1fd3" +
+ "\\u1fd6-\\u1fdb" +
+ "\\u1fe0-\\u1fec" +
+ "\\u1ff2-\\u1ff4" +
+ "\\u1ff6-\\u1ffc" +
+ "\\u203f-\\u2040" +
+ "\\u2054-\\u2054" +
+ "\\u2071-\\u2071" +
+ "\\u207f-\\u207f" +
+ "\\u2090-\\u209c" +
+ "\\u20d0-\\u20f0" +
+ "\\u2102-\\u2102" +
+ "\\u2107-\\u2107" +
+ "\\u210a-\\u2113" +
+ "\\u2115-\\u2115" +
+ "\\u2119-\\u211d" +
+ "\\u2124-\\u2124" +
+ "\\u2126-\\u2126" +
+ "\\u2128-\\u2128" +
+ "\\u212a-\\u212d" +
+ "\\u212f-\\u2139" +
+ "\\u213c-\\u213f" +
+ "\\u2145-\\u2149" +
+ "\\u214e-\\u214e" +
+ "\\u2160-\\u2188" +
+ "\\u24b6-\\u24e9" +
+ "\\u2c00-\\u2c2e" +
+ "\\u2c30-\\u2c5e" +
+ "\\u2c60-\\u2ce4" +
+ "\\u2ceb-\\u2cf3" +
+ "\\u2d00-\\u2d25" +
+ "\\u2d27-\\u2d27" +
+ "\\u2d2d-\\u2d2d" +
+ "\\u2d30-\\u2d67" +
+ "\\u2d6f-\\u2d6f" +
+ "\\u2d7f-\\u2d96" +
+ "\\u2da0-\\u2da6" +
+ "\\u2da8-\\u2dae" +
+ "\\u2db0-\\u2db6" +
+ "\\u2db8-\\u2dbe" +
+ "\\u2dc0-\\u2dc6" +
+ "\\u2dc8-\\u2dce" +
+ "\\u2dd0-\\u2dd6" +
+ "\\u2dd8-\\u2dde" +
+ "\\u2de0-\\u2dff" +
+ "\\u2e2f-\\u2e2f" +
+ "\\u3005-\\u3007" +
+ "\\u3021-\\u302f" +
+ "\\u3031-\\u3035" +
+ "\\u3038-\\u303c" +
+ "\\u3041-\\u3096" +
+ "\\u3099-\\u309a" +
+ "\\u309d-\\u309f" +
+ "\\u30a1-\\u30fa" +
+ "\\u30fc-\\u30ff" +
+ "\\u3105-\\u312d" +
+ "\\u3131-\\u318e" +
+ "\\u31a0-\\u31ba" +
+ "\\u31f0-\\u31ff" +
+ "\\u3400-\\u4db5" +
+ "\\u4e00-\\u9fd5" +
+ "\\ua000-\\ua48c" +
+ "\\ua4d0-\\ua4fd" +
+ "\\ua500-\\ua60c" +
+ "\\ua610-\\ua62b" +
+ "\\ua640-\\ua672" +
+ "\\ua674-\\ua67d" +
+ "\\ua67f-\\ua6f1" +
+ "\\ua717-\\ua71f" +
+ "\\ua722-\\ua788" +
+ "\\ua78b-\\ua7ae" +
+ "\\ua7b0-\\ua7b7" +
+ "\\ua7f7-\\ua827" +
+ "\\ua840-\\ua873" +
+ "\\ua880-\\ua8c5" +
+ "\\ua8d0-\\ua8d9" +
+ "\\ua8e0-\\ua8f7" +
+ "\\ua8fb-\\ua8fb" +
+ "\\ua8fd-\\ua8fd" +
+ "\\ua900-\\ua92d" +
+ "\\ua930-\\ua953" +
+ "\\ua960-\\ua97c" +
+ "\\ua980-\\ua9c0" +
+ "\\ua9cf-\\ua9d9" +
+ "\\ua9e0-\\ua9fe" +
+ "\\uaa00-\\uaa36" +
+ "\\uaa40-\\uaa4d" +
+ "\\uaa50-\\uaa59" +
+ "\\uaa60-\\uaa76" +
+ "\\uaa7a-\\uaac2" +
+ "\\uaadb-\\uaadd" +
+ "\\uaae0-\\uaaef" +
+ "\\uaaf2-\\uaaf6" +
+ "\\uab01-\\uab06" +
+ "\\uab09-\\uab0e" +
+ "\\uab11-\\uab16" +
+ "\\uab20-\\uab26" +
+ "\\uab28-\\uab2e" +
+ "\\uab30-\\uab5a" +
+ "\\uab5c-\\uab65" +
+ "\\uab70-\\uabea" +
+ "\\uabec-\\uabed" +
+ "\\uabf0-\\uabf9" +
+ "\\uac00-\\ud7a3" +
+ "\\ud7b0-\\ud7c6" +
+ "\\ud7cb-\\ud7fb" +
+ "\\uf900-\\ufa6d" +
+ "\\ufa70-\\ufad9" +
+ "\\ufb00-\\ufb06" +
+ "\\ufb13-\\ufb17" +
+ "\\ufb1d-\\ufb28" +
+ "\\ufb2a-\\ufb36" +
+ "\\ufb38-\\ufb3c" +
+ "\\ufb3e-\\ufb3e" +
+ "\\ufb40-\\ufb41" +
+ "\\ufb43-\\ufb44" +
+ "\\ufb46-\\ufbb1" +
+ "\\ufbd3-\\ufd3d" +
+ "\\ufd50-\\ufd8f" +
+ "\\ufd92-\\ufdc7" +
+ "\\ufdf0-\\ufdfb" +
+ "\\ufe00-\\ufe0f" +
+ "\\ufe20-\\ufe2f" +
+ "\\ufe33-\\ufe34" +
+ "\\ufe4d-\\ufe4f" +
+ "\\ufe70-\\ufe74" +
+ "\\ufe76-\\ufefc" +
+ "\\uff10-\\uff19" +
+ "\\uff21-\\uff3a" +
+ "\\uff3f-\\uff3f" +
+ "\\uff41-\\uff5a" +
+ "\\uff66-\\uffbe" +
+ "\\uffc2-\\uffc7" +
+ "\\uffca-\\uffcf" +
+ "\\uffd2-\\uffd7" +
+ "\\uffda-\\uffdc",
+ // "\\u10000-\\u1000b" +
+ // "\\u1000d-\\u10026" +
+ // "\\u10028-\\u1003a" +
+ // "\\u1003c-\\u1003d" +
+ // "\\u1003f-\\u1004d" +
+ // "\\u10050-\\u1005d" +
+ // "\\u10080-\\u100fa" +
+ // "\\u10140-\\u10174" +
+ // "\\u101fd-\\u101fd" +
+ // "\\u10280-\\u1029c" +
+ // "\\u102a0-\\u102d0" +
+ // "\\u102e0-\\u102e0" +
+ // "\\u10300-\\u1031f" +
+ // "\\u10330-\\u1034a" +
+ // "\\u10350-\\u1037a" +
+ // "\\u10380-\\u1039d" +
+ // "\\u103a0-\\u103c3" +
+ // "\\u103c8-\\u103cf" +
+ // "\\u103d1-\\u103d5" +
+ // "\\u10400-\\u1049d" +
+ // "\\u104a0-\\u104a9" +
+ // "\\u104b0-\\u104d3" +
+ // "\\u104d8-\\u104fb" +
+ // "\\u10500-\\u10527" +
+ // "\\u10530-\\u10563" +
+ // "\\u10600-\\u10736" +
+ // "\\u10740-\\u10755" +
+ // "\\u10760-\\u10767" +
+ // "\\u10800-\\u10805" +
+ // "\\u10808-\\u10808" +
+ // "\\u1080a-\\u10835" +
+ // "\\u10837-\\u10838" +
+ // "\\u1083c-\\u1083c" +
+ // "\\u1083f-\\u10855" +
+ // "\\u10860-\\u10876" +
+ // "\\u10880-\\u1089e" +
+ // "\\u108e0-\\u108f2" +
+ // "\\u108f4-\\u108f5" +
+ // "\\u10900-\\u10915" +
+ // "\\u10920-\\u10939" +
+ // "\\u10980-\\u109b7" +
+ // "\\u109be-\\u109bf" +
+ // "\\u10a00-\\u10a03" +
+ // "\\u10a05-\\u10a06" +
+ // "\\u10a0c-\\u10a13" +
+ // "\\u10a15-\\u10a17" +
+ // "\\u10a19-\\u10a33" +
+ // "\\u10a38-\\u10a3a" +
+ // "\\u10a3f-\\u10a3f" +
+ // "\\u10a60-\\u10a7c" +
+ // "\\u10a80-\\u10a9c" +
+ // "\\u10ac0-\\u10ac7" +
+ // "\\u10ac9-\\u10ae6" +
+ // "\\u10b00-\\u10b35" +
+ // "\\u10b40-\\u10b55" +
+ // "\\u10b60-\\u10b72" +
+ // "\\u10b80-\\u10b91" +
+ // "\\u10c00-\\u10c48" +
+ // "\\u10c80-\\u10cb2" +
+ // "\\u10cc0-\\u10cf2" +
+ // "\\u11000-\\u11046" +
+ // "\\u11066-\\u1106f" +
+ // "\\u1107f-\\u110ba" +
+ // "\\u110d0-\\u110e8" +
+ // "\\u110f0-\\u110f9" +
+ // "\\u11100-\\u11134" +
+ // "\\u11136-\\u1113f" +
+ // "\\u11150-\\u11173" +
+ // "\\u11176-\\u11176" +
+ // "\\u11180-\\u111c4" +
+ // "\\u111ca-\\u111cc" +
+ // "\\u111d0-\\u111da" +
+ // "\\u111dc-\\u111dc" +
+ // "\\u11200-\\u11211" +
+ // "\\u11213-\\u11237" +
+ // "\\u1123e-\\u1123e" +
+ // "\\u11280-\\u11286" +
+ // "\\u11288-\\u11288" +
+ // "\\u1128a-\\u1128d" +
+ // "\\u1128f-\\u1129d" +
+ // "\\u1129f-\\u112a8" +
+ // "\\u112b0-\\u112ea" +
+ // "\\u112f0-\\u112f9" +
+ // "\\u11300-\\u11303" +
+ // "\\u11305-\\u1130c" +
+ // "\\u1130f-\\u11310" +
+ // "\\u11313-\\u11328" +
+ // "\\u1132a-\\u11330" +
+ // "\\u11332-\\u11333" +
+ // "\\u11335-\\u11339" +
+ // "\\u1133c-\\u11344" +
+ // "\\u11347-\\u11348" +
+ // "\\u1134b-\\u1134d" +
+ // "\\u11350-\\u11350" +
+ // "\\u11357-\\u11357" +
+ // "\\u1135d-\\u11363" +
+ // "\\u11366-\\u1136c" +
+ // "\\u11370-\\u11374" +
+ // "\\u11400-\\u1144a" +
+ // "\\u11450-\\u11459" +
+ // "\\u11480-\\u114c5" +
+ // "\\u114c7-\\u114c7" +
+ // "\\u114d0-\\u114d9" +
+ // "\\u11580-\\u115b5" +
+ // "\\u115b8-\\u115c0" +
+ // "\\u115d8-\\u115dd" +
+ // "\\u11600-\\u11640" +
+ // "\\u11644-\\u11644" +
+ // "\\u11650-\\u11659" +
+ // "\\u11680-\\u116b7" +
+ // "\\u116c0-\\u116c9" +
+ // "\\u11700-\\u11719" +
+ // "\\u1171d-\\u1172b" +
+ // "\\u11730-\\u11739" +
+ // "\\u118a0-\\u118e9" +
+ // "\\u118ff-\\u118ff" +
+ // "\\u11ac0-\\u11af8" +
+ // "\\u11c00-\\u11c08" +
+ // "\\u11c0a-\\u11c36" +
+ // "\\u11c38-\\u11c40" +
+ // "\\u11c50-\\u11c59" +
+ // "\\u11c72-\\u11c8f" +
+ // "\\u11c92-\\u11ca7" +
+ // "\\u11ca9-\\u11cb6" +
+ // "\\u12000-\\u12399" +
+ // "\\u12400-\\u1246e" +
+ // "\\u12480-\\u12543" +
+ // "\\u13000-\\u1342e" +
+ // "\\u14400-\\u14646" +
+ // "\\u16800-\\u16a38" +
+ // "\\u16a40-\\u16a5e" +
+ // "\\u16a60-\\u16a69" +
+ // "\\u16ad0-\\u16aed" +
+ // "\\u16af0-\\u16af4" +
+ // "\\u16b00-\\u16b36" +
+ // "\\u16b40-\\u16b43" +
+ // "\\u16b50-\\u16b59" +
+ // "\\u16b63-\\u16b77" +
+ // "\\u16b7d-\\u16b8f" +
+ // "\\u16f00-\\u16f44" +
+ // "\\u16f50-\\u16f7e" +
+ // "\\u16f8f-\\u16f9f" +
+ // "\\u16fe0-\\u16fe0" +
+ // "\\u17000-\\u187ec" +
+ // "\\u18800-\\u18af2" +
+ // "\\u1b000-\\u1b001" +
+ // "\\u1bc00-\\u1bc6a" +
+ // "\\u1bc70-\\u1bc7c" +
+ // "\\u1bc80-\\u1bc88" +
+ // "\\u1bc90-\\u1bc99" +
+ // "\\u1bc9d-\\u1bc9e" +
+ // "\\u1d165-\\u1d169" +
+ // "\\u1d16d-\\u1d172" +
+ // "\\u1d17b-\\u1d182" +
+ // "\\u1d185-\\u1d18b" +
+ // "\\u1d1aa-\\u1d1ad" +
+ // "\\u1d242-\\u1d244" +
+ // "\\u1d400-\\u1d454" +
+ // "\\u1d456-\\u1d49c" +
+ // "\\u1d49e-\\u1d49f" +
+ // "\\u1d4a2-\\u1d4a2" +
+ // "\\u1d4a5-\\u1d4a6" +
+ // "\\u1d4a9-\\u1d4ac" +
+ // "\\u1d4ae-\\u1d4b9" +
+ // "\\u1d4bb-\\u1d4bb" +
+ // "\\u1d4bd-\\u1d4c3" +
+ // "\\u1d4c5-\\u1d505" +
+ // "\\u1d507-\\u1d50a" +
+ // "\\u1d50d-\\u1d514" +
+ // "\\u1d516-\\u1d51c" +
+ // "\\u1d51e-\\u1d539" +
+ // "\\u1d53b-\\u1d53e" +
+ // "\\u1d540-\\u1d544" +
+ // "\\u1d546-\\u1d546" +
+ // "\\u1d54a-\\u1d550" +
+ // "\\u1d552-\\u1d6a5" +
+ // "\\u1d6a8-\\u1d6c0" +
+ // "\\u1d6c2-\\u1d6da" +
+ // "\\u1d6dc-\\u1d6fa" +
+ // "\\u1d6fc-\\u1d714" +
+ // "\\u1d716-\\u1d734" +
+ // "\\u1d736-\\u1d74e" +
+ // "\\u1d750-\\u1d76e" +
+ // "\\u1d770-\\u1d788" +
+ // "\\u1d78a-\\u1d7a8" +
+ // "\\u1d7aa-\\u1d7c2" +
+ // "\\u1d7c4-\\u1d7cb" +
+ // "\\u1d7ce-\\u1d7ff" +
+ // "\\u1da00-\\u1da36" +
+ // "\\u1da3b-\\u1da6c" +
+ // "\\u1da75-\\u1da75" +
+ // "\\u1da84-\\u1da84" +
+ // "\\u1da9b-\\u1da9f" +
+ // "\\u1daa1-\\u1daaf" +
+ // "\\u1e000-\\u1e006" +
+ // "\\u1e008-\\u1e018" +
+ // "\\u1e01b-\\u1e021" +
+ // "\\u1e023-\\u1e024" +
+ // "\\u1e026-\\u1e02a" +
+ // "\\u1e800-\\u1e8c4" +
+ // "\\u1e8d0-\\u1e8d6" +
+ // "\\u1e900-\\u1e94a" +
+ // "\\u1e950-\\u1e959" +
+ // "\\u1ee00-\\u1ee03" +
+ // "\\u1ee05-\\u1ee1f" +
+ // "\\u1ee21-\\u1ee22" +
+ // "\\u1ee24-\\u1ee24" +
+ // "\\u1ee27-\\u1ee27" +
+ // "\\u1ee29-\\u1ee32" +
+ // "\\u1ee34-\\u1ee37" +
+ // "\\u1ee39-\\u1ee39" +
+ // "\\u1ee3b-\\u1ee3b" +
+ // "\\u1ee42-\\u1ee42" +
+ // "\\u1ee47-\\u1ee47" +
+ // "\\u1ee49-\\u1ee49" +
+ // "\\u1ee4b-\\u1ee4b" +
+ // "\\u1ee4d-\\u1ee4f" +
+ // "\\u1ee51-\\u1ee52" +
+ // "\\u1ee54-\\u1ee54" +
+ // "\\u1ee57-\\u1ee57" +
+ // "\\u1ee59-\\u1ee59" +
+ // "\\u1ee5b-\\u1ee5b" +
+ // "\\u1ee5d-\\u1ee5d" +
+ // "\\u1ee5f-\\u1ee5f" +
+ // "\\u1ee61-\\u1ee62" +
+ // "\\u1ee64-\\u1ee64" +
+ // "\\u1ee67-\\u1ee6a" +
+ // "\\u1ee6c-\\u1ee72" +
+ // "\\u1ee74-\\u1ee77" +
+ // "\\u1ee79-\\u1ee7c" +
+ // "\\u1ee7e-\\u1ee7e" +
+ // "\\u1ee80-\\u1ee89" +
+ // "\\u1ee8b-\\u1ee9b" +
+ // "\\u1eea1-\\u1eea3" +
+ // "\\u1eea5-\\u1eea9" +
+ // "\\u1eeab-\\u1eebb" +
+ // "\\u1f130-\\u1f149" +
+ // "\\u1f150-\\u1f169" +
+ // "\\u1f170-\\u1f189" +
+ // "\\u20000-\\u2a6d6" +
+ // "\\u2a700-\\u2b734" +
+ // "\\u2b740-\\u2b81d" +
+ // "\\u2b820-\\u2cea1" +
+ // "\\u2f800-\\u2fa1d" +
+ // "\\ue0100-\\ue01ef",
+
+ // source: https://github.com/ruby/ruby/blob/ruby_2_4/enc/unicode/9.0.0/name2ctype.h#L4227
+ alnum: "\\u0030-\\u0039" +
+ "\\u0041-\\u005a" +
+ "\\u0061-\\u007a" +
+ "\\u00aa-\\u00aa" +
+ "\\u00b5-\\u00b5" +
+ "\\u00ba-\\u00ba" +
+ "\\u00c0-\\u00d6" +
+ "\\u00d8-\\u00f6" +
+ "\\u00f8-\\u02c1" +
+ "\\u02c6-\\u02d1" +
+ "\\u02e0-\\u02e4" +
+ "\\u02ec-\\u02ec" +
+ "\\u02ee-\\u02ee" +
+ "\\u0345-\\u0345" +
+ "\\u0370-\\u0374" +
+ "\\u0376-\\u0377" +
+ "\\u037a-\\u037d" +
+ "\\u037f-\\u037f" +
+ "\\u0386-\\u0386" +
+ "\\u0388-\\u038a" +
+ "\\u038c-\\u038c" +
+ "\\u038e-\\u03a1" +
+ "\\u03a3-\\u03f5" +
+ "\\u03f7-\\u0481" +
+ "\\u048a-\\u052f" +
+ "\\u0531-\\u0556" +
+ "\\u0559-\\u0559" +
+ "\\u0561-\\u0587" +
+ "\\u05b0-\\u05bd" +
+ "\\u05bf-\\u05bf" +
+ "\\u05c1-\\u05c2" +
+ "\\u05c4-\\u05c5" +
+ "\\u05c7-\\u05c7" +
+ "\\u05d0-\\u05ea" +
+ "\\u05f0-\\u05f2" +
+ "\\u0610-\\u061a" +
+ "\\u0620-\\u0657" +
+ "\\u0659-\\u0669" +
+ "\\u066e-\\u06d3" +
+ "\\u06d5-\\u06dc" +
+ "\\u06e1-\\u06e8" +
+ "\\u06ed-\\u06fc" +
+ "\\u06ff-\\u06ff" +
+ "\\u0710-\\u073f" +
+ "\\u074d-\\u07b1" +
+ "\\u07c0-\\u07ea" +
+ "\\u07f4-\\u07f5" +
+ "\\u07fa-\\u07fa" +
+ "\\u0800-\\u0817" +
+ "\\u081a-\\u082c" +
+ "\\u0840-\\u0858" +
+ "\\u08a0-\\u08b4" +
+ "\\u08b6-\\u08bd" +
+ "\\u08d4-\\u08df" +
+ "\\u08e3-\\u08e9" +
+ "\\u08f0-\\u093b" +
+ "\\u093d-\\u094c" +
+ "\\u094e-\\u0950" +
+ "\\u0955-\\u0963" +
+ "\\u0966-\\u096f" +
+ "\\u0971-\\u0983" +
+ "\\u0985-\\u098c" +
+ "\\u098f-\\u0990" +
+ "\\u0993-\\u09a8" +
+ "\\u09aa-\\u09b0" +
+ "\\u09b2-\\u09b2" +
+ "\\u09b6-\\u09b9" +
+ "\\u09bd-\\u09c4" +
+ "\\u09c7-\\u09c8" +
+ "\\u09cb-\\u09cc" +
+ "\\u09ce-\\u09ce" +
+ "\\u09d7-\\u09d7" +
+ "\\u09dc-\\u09dd" +
+ "\\u09df-\\u09e3" +
+ "\\u09e6-\\u09f1" +
+ "\\u0a01-\\u0a03" +
+ "\\u0a05-\\u0a0a" +
+ "\\u0a0f-\\u0a10" +
+ "\\u0a13-\\u0a28" +
+ "\\u0a2a-\\u0a30" +
+ "\\u0a32-\\u0a33" +
+ "\\u0a35-\\u0a36" +
+ "\\u0a38-\\u0a39" +
+ "\\u0a3e-\\u0a42" +
+ "\\u0a47-\\u0a48" +
+ "\\u0a4b-\\u0a4c" +
+ "\\u0a51-\\u0a51" +
+ "\\u0a59-\\u0a5c" +
+ "\\u0a5e-\\u0a5e" +
+ "\\u0a66-\\u0a75" +
+ "\\u0a81-\\u0a83" +
+ "\\u0a85-\\u0a8d" +
+ "\\u0a8f-\\u0a91" +
+ "\\u0a93-\\u0aa8" +
+ "\\u0aaa-\\u0ab0" +
+ "\\u0ab2-\\u0ab3" +
+ "\\u0ab5-\\u0ab9" +
+ "\\u0abd-\\u0ac5" +
+ "\\u0ac7-\\u0ac9" +
+ "\\u0acb-\\u0acc" +
+ "\\u0ad0-\\u0ad0" +
+ "\\u0ae0-\\u0ae3" +
+ "\\u0ae6-\\u0aef" +
+ "\\u0af9-\\u0af9" +
+ "\\u0b01-\\u0b03" +
+ "\\u0b05-\\u0b0c" +
+ "\\u0b0f-\\u0b10" +
+ "\\u0b13-\\u0b28" +
+ "\\u0b2a-\\u0b30" +
+ "\\u0b32-\\u0b33" +
+ "\\u0b35-\\u0b39" +
+ "\\u0b3d-\\u0b44" +
+ "\\u0b47-\\u0b48" +
+ "\\u0b4b-\\u0b4c" +
+ "\\u0b56-\\u0b57" +
+ "\\u0b5c-\\u0b5d" +
+ "\\u0b5f-\\u0b63" +
+ "\\u0b66-\\u0b6f" +
+ "\\u0b71-\\u0b71" +
+ "\\u0b82-\\u0b83" +
+ "\\u0b85-\\u0b8a" +
+ "\\u0b8e-\\u0b90" +
+ "\\u0b92-\\u0b95" +
+ "\\u0b99-\\u0b9a" +
+ "\\u0b9c-\\u0b9c" +
+ "\\u0b9e-\\u0b9f" +
+ "\\u0ba3-\\u0ba4" +
+ "\\u0ba8-\\u0baa" +
+ "\\u0bae-\\u0bb9" +
+ "\\u0bbe-\\u0bc2" +
+ "\\u0bc6-\\u0bc8" +
+ "\\u0bca-\\u0bcc" +
+ "\\u0bd0-\\u0bd0" +
+ "\\u0bd7-\\u0bd7" +
+ "\\u0be6-\\u0bef" +
+ "\\u0c00-\\u0c03" +
+ "\\u0c05-\\u0c0c" +
+ "\\u0c0e-\\u0c10" +
+ "\\u0c12-\\u0c28" +
+ "\\u0c2a-\\u0c39" +
+ "\\u0c3d-\\u0c44" +
+ "\\u0c46-\\u0c48" +
+ "\\u0c4a-\\u0c4c" +
+ "\\u0c55-\\u0c56" +
+ "\\u0c58-\\u0c5a" +
+ "\\u0c60-\\u0c63" +
+ "\\u0c66-\\u0c6f" +
+ "\\u0c80-\\u0c83" +
+ "\\u0c85-\\u0c8c" +
+ "\\u0c8e-\\u0c90" +
+ "\\u0c92-\\u0ca8" +
+ "\\u0caa-\\u0cb3" +
+ "\\u0cb5-\\u0cb9" +
+ "\\u0cbd-\\u0cc4" +
+ "\\u0cc6-\\u0cc8" +
+ "\\u0cca-\\u0ccc" +
+ "\\u0cd5-\\u0cd6" +
+ "\\u0cde-\\u0cde" +
+ "\\u0ce0-\\u0ce3" +
+ "\\u0ce6-\\u0cef" +
+ "\\u0cf1-\\u0cf2" +
+ "\\u0d01-\\u0d03" +
+ "\\u0d05-\\u0d0c" +
+ "\\u0d0e-\\u0d10" +
+ "\\u0d12-\\u0d3a" +
+ "\\u0d3d-\\u0d44" +
+ "\\u0d46-\\u0d48" +
+ "\\u0d4a-\\u0d4c" +
+ "\\u0d4e-\\u0d4e" +
+ "\\u0d54-\\u0d57" +
+ "\\u0d5f-\\u0d63" +
+ "\\u0d66-\\u0d6f" +
+ "\\u0d7a-\\u0d7f" +
+ "\\u0d82-\\u0d83" +
+ "\\u0d85-\\u0d96" +
+ "\\u0d9a-\\u0db1" +
+ "\\u0db3-\\u0dbb" +
+ "\\u0dbd-\\u0dbd" +
+ "\\u0dc0-\\u0dc6" +
+ "\\u0dcf-\\u0dd4" +
+ "\\u0dd6-\\u0dd6" +
+ "\\u0dd8-\\u0ddf" +
+ "\\u0de6-\\u0def" +
+ "\\u0df2-\\u0df3" +
+ "\\u0e01-\\u0e3a" +
+ "\\u0e40-\\u0e46" +
+ "\\u0e4d-\\u0e4d" +
+ "\\u0e50-\\u0e59" +
+ "\\u0e81-\\u0e82" +
+ "\\u0e84-\\u0e84" +
+ "\\u0e87-\\u0e88" +
+ "\\u0e8a-\\u0e8a" +
+ "\\u0e8d-\\u0e8d" +
+ "\\u0e94-\\u0e97" +
+ "\\u0e99-\\u0e9f" +
+ "\\u0ea1-\\u0ea3" +
+ "\\u0ea5-\\u0ea5" +
+ "\\u0ea7-\\u0ea7" +
+ "\\u0eaa-\\u0eab" +
+ "\\u0ead-\\u0eb9" +
+ "\\u0ebb-\\u0ebd" +
+ "\\u0ec0-\\u0ec4" +
+ "\\u0ec6-\\u0ec6" +
+ "\\u0ecd-\\u0ecd" +
+ "\\u0ed0-\\u0ed9" +
+ "\\u0edc-\\u0edf" +
+ "\\u0f00-\\u0f00" +
+ "\\u0f20-\\u0f29" +
+ "\\u0f40-\\u0f47" +
+ "\\u0f49-\\u0f6c" +
+ "\\u0f71-\\u0f81" +
+ "\\u0f88-\\u0f97" +
+ "\\u0f99-\\u0fbc" +
+ "\\u1000-\\u1036" +
+ "\\u1038-\\u1038" +
+ "\\u103b-\\u1049" +
+ "\\u1050-\\u1062" +
+ "\\u1065-\\u1068" +
+ "\\u106e-\\u1086" +
+ "\\u108e-\\u108e" +
+ "\\u1090-\\u1099" +
+ "\\u109c-\\u109d" +
+ "\\u10a0-\\u10c5" +
+ "\\u10c7-\\u10c7" +
+ "\\u10cd-\\u10cd" +
+ "\\u10d0-\\u10fa" +
+ "\\u10fc-\\u1248" +
+ "\\u124a-\\u124d" +
+ "\\u1250-\\u1256" +
+ "\\u1258-\\u1258" +
+ "\\u125a-\\u125d" +
+ "\\u1260-\\u1288" +
+ "\\u128a-\\u128d" +
+ "\\u1290-\\u12b0" +
+ "\\u12b2-\\u12b5" +
+ "\\u12b8-\\u12be" +
+ "\\u12c0-\\u12c0" +
+ "\\u12c2-\\u12c5" +
+ "\\u12c8-\\u12d6" +
+ "\\u12d8-\\u1310" +
+ "\\u1312-\\u1315" +
+ "\\u1318-\\u135a" +
+ "\\u135f-\\u135f" +
+ "\\u1380-\\u138f" +
+ "\\u13a0-\\u13f5" +
+ "\\u13f8-\\u13fd" +
+ "\\u1401-\\u166c" +
+ "\\u166f-\\u167f" +
+ "\\u1681-\\u169a" +
+ "\\u16a0-\\u16ea" +
+ "\\u16ee-\\u16f8" +
+ "\\u1700-\\u170c" +
+ "\\u170e-\\u1713" +
+ "\\u1720-\\u1733" +
+ "\\u1740-\\u1753" +
+ "\\u1760-\\u176c" +
+ "\\u176e-\\u1770" +
+ "\\u1772-\\u1773" +
+ "\\u1780-\\u17b3" +
+ "\\u17b6-\\u17c8" +
+ "\\u17d7-\\u17d7" +
+ "\\u17dc-\\u17dc" +
+ "\\u17e0-\\u17e9" +
+ "\\u1810-\\u1819" +
+ "\\u1820-\\u1877" +
+ "\\u1880-\\u18aa" +
+ "\\u18b0-\\u18f5" +
+ "\\u1900-\\u191e" +
+ "\\u1920-\\u192b" +
+ "\\u1930-\\u1938" +
+ "\\u1946-\\u196d" +
+ "\\u1970-\\u1974" +
+ "\\u1980-\\u19ab" +
+ "\\u19b0-\\u19c9" +
+ "\\u19d0-\\u19d9" +
+ "\\u1a00-\\u1a1b" +
+ "\\u1a20-\\u1a5e" +
+ "\\u1a61-\\u1a74" +
+ "\\u1a80-\\u1a89" +
+ "\\u1a90-\\u1a99" +
+ "\\u1aa7-\\u1aa7" +
+ "\\u1b00-\\u1b33" +
+ "\\u1b35-\\u1b43" +
+ "\\u1b45-\\u1b4b" +
+ "\\u1b50-\\u1b59" +
+ "\\u1b80-\\u1ba9" +
+ "\\u1bac-\\u1be5" +
+ "\\u1be7-\\u1bf1" +
+ "\\u1c00-\\u1c35" +
+ "\\u1c40-\\u1c49" +
+ "\\u1c4d-\\u1c7d" +
+ "\\u1c80-\\u1c88" +
+ "\\u1ce9-\\u1cec" +
+ "\\u1cee-\\u1cf3" +
+ "\\u1cf5-\\u1cf6" +
+ "\\u1d00-\\u1dbf" +
+ "\\u1de7-\\u1df4" +
+ "\\u1e00-\\u1f15" +
+ "\\u1f18-\\u1f1d" +
+ "\\u1f20-\\u1f45" +
+ "\\u1f48-\\u1f4d" +
+ "\\u1f50-\\u1f57" +
+ "\\u1f59-\\u1f59" +
+ "\\u1f5b-\\u1f5b" +
+ "\\u1f5d-\\u1f5d" +
+ "\\u1f5f-\\u1f7d" +
+ "\\u1f80-\\u1fb4" +
+ "\\u1fb6-\\u1fbc" +
+ "\\u1fbe-\\u1fbe" +
+ "\\u1fc2-\\u1fc4" +
+ "\\u1fc6-\\u1fcc" +
+ "\\u1fd0-\\u1fd3" +
+ "\\u1fd6-\\u1fdb" +
+ "\\u1fe0-\\u1fec" +
+ "\\u1ff2-\\u1ff4" +
+ "\\u1ff6-\\u1ffc" +
+ "\\u2071-\\u2071" +
+ "\\u207f-\\u207f" +
+ "\\u2090-\\u209c" +
+ "\\u2102-\\u2102" +
+ "\\u2107-\\u2107" +
+ "\\u210a-\\u2113" +
+ "\\u2115-\\u2115" +
+ "\\u2119-\\u211d" +
+ "\\u2124-\\u2124" +
+ "\\u2126-\\u2126" +
+ "\\u2128-\\u2128" +
+ "\\u212a-\\u212d" +
+ "\\u212f-\\u2139" +
+ "\\u213c-\\u213f" +
+ "\\u2145-\\u2149" +
+ "\\u214e-\\u214e" +
+ "\\u2160-\\u2188" +
+ "\\u24b6-\\u24e9" +
+ "\\u2c00-\\u2c2e" +
+ "\\u2c30-\\u2c5e" +
+ "\\u2c60-\\u2ce4" +
+ "\\u2ceb-\\u2cee" +
+ "\\u2cf2-\\u2cf3" +
+ "\\u2d00-\\u2d25" +
+ "\\u2d27-\\u2d27" +
+ "\\u2d2d-\\u2d2d" +
+ "\\u2d30-\\u2d67" +
+ "\\u2d6f-\\u2d6f" +
+ "\\u2d80-\\u2d96" +
+ "\\u2da0-\\u2da6" +
+ "\\u2da8-\\u2dae" +
+ "\\u2db0-\\u2db6" +
+ "\\u2db8-\\u2dbe" +
+ "\\u2dc0-\\u2dc6" +
+ "\\u2dc8-\\u2dce" +
+ "\\u2dd0-\\u2dd6" +
+ "\\u2dd8-\\u2dde" +
+ "\\u2de0-\\u2dff" +
+ "\\u2e2f-\\u2e2f" +
+ "\\u3005-\\u3007" +
+ "\\u3021-\\u3029" +
+ "\\u3031-\\u3035" +
+ "\\u3038-\\u303c" +
+ "\\u3041-\\u3096" +
+ "\\u309d-\\u309f" +
+ "\\u30a1-\\u30fa" +
+ "\\u30fc-\\u30ff" +
+ "\\u3105-\\u312d" +
+ "\\u3131-\\u318e" +
+ "\\u31a0-\\u31ba" +
+ "\\u31f0-\\u31ff" +
+ "\\u3400-\\u4db5" +
+ "\\u4e00-\\u9fd5" +
+ "\\ua000-\\ua48c" +
+ "\\ua4d0-\\ua4fd" +
+ "\\ua500-\\ua60c" +
+ "\\ua610-\\ua62b" +
+ "\\ua640-\\ua66e" +
+ "\\ua674-\\ua67b" +
+ "\\ua67f-\\ua6ef" +
+ "\\ua717-\\ua71f" +
+ "\\ua722-\\ua788" +
+ "\\ua78b-\\ua7ae" +
+ "\\ua7b0-\\ua7b7" +
+ "\\ua7f7-\\ua801" +
+ "\\ua803-\\ua805" +
+ "\\ua807-\\ua80a" +
+ "\\ua80c-\\ua827" +
+ "\\ua840-\\ua873" +
+ "\\ua880-\\ua8c3" +
+ "\\ua8c5-\\ua8c5" +
+ "\\ua8d0-\\ua8d9" +
+ "\\ua8f2-\\ua8f7" +
+ "\\ua8fb-\\ua8fb" +
+ "\\ua8fd-\\ua8fd" +
+ "\\ua900-\\ua92a" +
+ "\\ua930-\\ua952" +
+ "\\ua960-\\ua97c" +
+ "\\ua980-\\ua9b2" +
+ "\\ua9b4-\\ua9bf" +
+ "\\ua9cf-\\ua9d9" +
+ "\\ua9e0-\\ua9e4" +
+ "\\ua9e6-\\ua9fe" +
+ "\\uaa00-\\uaa36" +
+ "\\uaa40-\\uaa4d" +
+ "\\uaa50-\\uaa59" +
+ "\\uaa60-\\uaa76" +
+ "\\uaa7a-\\uaa7a" +
+ "\\uaa7e-\\uaabe" +
+ "\\uaac0-\\uaac0" +
+ "\\uaac2-\\uaac2" +
+ "\\uaadb-\\uaadd" +
+ "\\uaae0-\\uaaef" +
+ "\\uaaf2-\\uaaf5" +
+ "\\uab01-\\uab06" +
+ "\\uab09-\\uab0e" +
+ "\\uab11-\\uab16" +
+ "\\uab20-\\uab26" +
+ "\\uab28-\\uab2e" +
+ "\\uab30-\\uab5a" +
+ "\\uab5c-\\uab65" +
+ "\\uab70-\\uabea" +
+ "\\uabf0-\\uabf9" +
+ "\\uac00-\\ud7a3" +
+ "\\ud7b0-\\ud7c6" +
+ "\\ud7cb-\\ud7fb" +
+ "\\uf900-\\ufa6d" +
+ "\\ufa70-\\ufad9" +
+ "\\ufb00-\\ufb06" +
+ "\\ufb13-\\ufb17" +
+ "\\ufb1d-\\ufb28" +
+ "\\ufb2a-\\ufb36" +
+ "\\ufb38-\\ufb3c" +
+ "\\ufb3e-\\ufb3e" +
+ "\\ufb40-\\ufb41" +
+ "\\ufb43-\\ufb44" +
+ "\\ufb46-\\ufbb1" +
+ "\\ufbd3-\\ufd3d" +
+ "\\ufd50-\\ufd8f" +
+ "\\ufd92-\\ufdc7" +
+ "\\ufdf0-\\ufdfb" +
+ "\\ufe70-\\ufe74" +
+ "\\ufe76-\\ufefc" +
+ "\\uff10-\\uff19" +
+ "\\uff21-\\uff3a" +
+ "\\uff41-\\uff5a" +
+ "\\uff66-\\uffbe" +
+ "\\uffc2-\\uffc7" +
+ "\\uffca-\\uffcf" +
+ "\\uffd2-\\uffd7" +
+ "\\uffda-\\uffdc"
+ // "\\u10000-\\u1000b" +
+ // "\\u1000d-\\u10026" +
+ // "\\u10028-\\u1003a" +
+ // "\\u1003c-\\u1003d" +
+ // "\\u1003f-\\u1004d" +
+ // "\\u10050-\\u1005d" +
+ // "\\u10080-\\u100fa" +
+ // "\\u10140-\\u10174" +
+ // "\\u10280-\\u1029c" +
+ // "\\u102a0-\\u102d0" +
+ // "\\u10300-\\u1031f" +
+ // "\\u10330-\\u1034a" +
+ // "\\u10350-\\u1037a" +
+ // "\\u10380-\\u1039d" +
+ // "\\u103a0-\\u103c3" +
+ // "\\u103c8-\\u103cf" +
+ // "\\u103d1-\\u103d5" +
+ // "\\u10400-\\u1049d" +
+ // "\\u104a0-\\u104a9" +
+ // "\\u104b0-\\u104d3" +
+ // "\\u104d8-\\u104fb" +
+ // "\\u10500-\\u10527" +
+ // "\\u10530-\\u10563" +
+ // "\\u10600-\\u10736" +
+ // "\\u10740-\\u10755" +
+ // "\\u10760-\\u10767" +
+ // "\\u10800-\\u10805" +
+ // "\\u10808-\\u10808" +
+ // "\\u1080a-\\u10835" +
+ // "\\u10837-\\u10838" +
+ // "\\u1083c-\\u1083c" +
+ // "\\u1083f-\\u10855" +
+ // "\\u10860-\\u10876" +
+ // "\\u10880-\\u1089e" +
+ // "\\u108e0-\\u108f2" +
+ // "\\u108f4-\\u108f5" +
+ // "\\u10900-\\u10915" +
+ // "\\u10920-\\u10939" +
+ // "\\u10980-\\u109b7" +
+ // "\\u109be-\\u109bf" +
+ // "\\u10a00-\\u10a03" +
+ // "\\u10a05-\\u10a06" +
+ // "\\u10a0c-\\u10a13" +
+ // "\\u10a15-\\u10a17" +
+ // "\\u10a19-\\u10a33" +
+ // "\\u10a60-\\u10a7c" +
+ // "\\u10a80-\\u10a9c" +
+ // "\\u10ac0-\\u10ac7" +
+ // "\\u10ac9-\\u10ae4" +
+ // "\\u10b00-\\u10b35" +
+ // "\\u10b40-\\u10b55" +
+ // "\\u10b60-\\u10b72" +
+ // "\\u10b80-\\u10b91" +
+ // "\\u10c00-\\u10c48" +
+ // "\\u10c80-\\u10cb2" +
+ // "\\u10cc0-\\u10cf2" +
+ // "\\u11000-\\u11045" +
+ // "\\u11066-\\u1106f" +
+ // "\\u11082-\\u110b8" +
+ // "\\u110d0-\\u110e8" +
+ // "\\u110f0-\\u110f9" +
+ // "\\u11100-\\u11132" +
+ // "\\u11136-\\u1113f" +
+ // "\\u11150-\\u11172" +
+ // "\\u11176-\\u11176" +
+ // "\\u11180-\\u111bf" +
+ // "\\u111c1-\\u111c4" +
+ // "\\u111d0-\\u111da" +
+ // "\\u111dc-\\u111dc" +
+ // "\\u11200-\\u11211" +
+ // "\\u11213-\\u11234" +
+ // "\\u11237-\\u11237" +
+ // "\\u1123e-\\u1123e" +
+ // "\\u11280-\\u11286" +
+ // "\\u11288-\\u11288" +
+ // "\\u1128a-\\u1128d" +
+ // "\\u1128f-\\u1129d" +
+ // "\\u1129f-\\u112a8" +
+ // "\\u112b0-\\u112e8" +
+ // "\\u112f0-\\u112f9" +
+ // "\\u11300-\\u11303" +
+ // "\\u11305-\\u1130c" +
+ // "\\u1130f-\\u11310" +
+ // "\\u11313-\\u11328" +
+ // "\\u1132a-\\u11330" +
+ // "\\u11332-\\u11333" +
+ // "\\u11335-\\u11339" +
+ // "\\u1133d-\\u11344" +
+ // "\\u11347-\\u11348" +
+ // "\\u1134b-\\u1134c" +
+ // "\\u11350-\\u11350" +
+ // "\\u11357-\\u11357" +
+ // "\\u1135d-\\u11363" +
+ // "\\u11400-\\u11441" +
+ // "\\u11443-\\u11445" +
+ // "\\u11447-\\u1144a" +
+ // "\\u11450-\\u11459" +
+ // "\\u11480-\\u114c1" +
+ // "\\u114c4-\\u114c5" +
+ // "\\u114c7-\\u114c7" +
+ // "\\u114d0-\\u114d9" +
+ // "\\u11580-\\u115b5" +
+ // "\\u115b8-\\u115be" +
+ // "\\u115d8-\\u115dd" +
+ // "\\u11600-\\u1163e" +
+ // "\\u11640-\\u11640" +
+ // "\\u11644-\\u11644" +
+ // "\\u11650-\\u11659" +
+ // "\\u11680-\\u116b5" +
+ // "\\u116c0-\\u116c9" +
+ // "\\u11700-\\u11719" +
+ // "\\u1171d-\\u1172a" +
+ // "\\u11730-\\u11739" +
+ // "\\u118a0-\\u118e9" +
+ // "\\u118ff-\\u118ff" +
+ // "\\u11ac0-\\u11af8" +
+ // "\\u11c00-\\u11c08" +
+ // "\\u11c0a-\\u11c36" +
+ // "\\u11c38-\\u11c3e" +
+ // "\\u11c40-\\u11c40" +
+ // "\\u11c50-\\u11c59" +
+ // "\\u11c72-\\u11c8f" +
+ // "\\u11c92-\\u11ca7" +
+ // "\\u11ca9-\\u11cb6" +
+ // "\\u12000-\\u12399" +
+ // "\\u12400-\\u1246e" +
+ // "\\u12480-\\u12543" +
+ // "\\u13000-\\u1342e" +
+ // "\\u14400-\\u14646" +
+ // "\\u16800-\\u16a38" +
+ // "\\u16a40-\\u16a5e" +
+ // "\\u16a60-\\u16a69" +
+ // "\\u16ad0-\\u16aed" +
+ // "\\u16b00-\\u16b36" +
+ // "\\u16b40-\\u16b43" +
+ // "\\u16b50-\\u16b59" +
+ // "\\u16b63-\\u16b77" +
+ // "\\u16b7d-\\u16b8f" +
+ // "\\u16f00-\\u16f44" +
+ // "\\u16f50-\\u16f7e" +
+ // "\\u16f93-\\u16f9f" +
+ // "\\u16fe0-\\u16fe0" +
+ // "\\u17000-\\u187ec" +
+ // "\\u18800-\\u18af2" +
+ // "\\u1b000-\\u1b001" +
+ // "\\u1bc00-\\u1bc6a" +
+ // "\\u1bc70-\\u1bc7c" +
+ // "\\u1bc80-\\u1bc88" +
+ // "\\u1bc90-\\u1bc99" +
+ // "\\u1bc9e-\\u1bc9e" +
+ // "\\u1d400-\\u1d454" +
+ // "\\u1d456-\\u1d49c" +
+ // "\\u1d49e-\\u1d49f" +
+ // "\\u1d4a2-\\u1d4a2" +
+ // "\\u1d4a5-\\u1d4a6" +
+ // "\\u1d4a9-\\u1d4ac" +
+ // "\\u1d4ae-\\u1d4b9" +
+ // "\\u1d4bb-\\u1d4bb" +
+ // "\\u1d4bd-\\u1d4c3" +
+ // "\\u1d4c5-\\u1d505" +
+ // "\\u1d507-\\u1d50a" +
+ // "\\u1d50d-\\u1d514" +
+ // "\\u1d516-\\u1d51c" +
+ // "\\u1d51e-\\u1d539" +
+ // "\\u1d53b-\\u1d53e" +
+ // "\\u1d540-\\u1d544" +
+ // "\\u1d546-\\u1d546" +
+ // "\\u1d54a-\\u1d550" +
+ // "\\u1d552-\\u1d6a5" +
+ // "\\u1d6a8-\\u1d6c0" +
+ // "\\u1d6c2-\\u1d6da" +
+ // "\\u1d6dc-\\u1d6fa" +
+ // "\\u1d6fc-\\u1d714" +
+ // "\\u1d716-\\u1d734" +
+ // "\\u1d736-\\u1d74e" +
+ // "\\u1d750-\\u1d76e" +
+ // "\\u1d770-\\u1d788" +
+ // "\\u1d78a-\\u1d7a8" +
+ // "\\u1d7aa-\\u1d7c2" +
+ // "\\u1d7c4-\\u1d7cb" +
+ // "\\u1d7ce-\\u1d7ff" +
+ // "\\u1e000-\\u1e006" +
+ // "\\u1e008-\\u1e018" +
+ // "\\u1e01b-\\u1e021" +
+ // "\\u1e023-\\u1e024" +
+ // "\\u1e026-\\u1e02a" +
+ // "\\u1e800-\\u1e8c4" +
+ // "\\u1e900-\\u1e943" +
+ // "\\u1e947-\\u1e947" +
+ // "\\u1e950-\\u1e959" +
+ // "\\u1ee00-\\u1ee03" +
+ // "\\u1ee05-\\u1ee1f" +
+ // "\\u1ee21-\\u1ee22" +
+ // "\\u1ee24-\\u1ee24" +
+ // "\\u1ee27-\\u1ee27" +
+ // "\\u1ee29-\\u1ee32" +
+ // "\\u1ee34-\\u1ee37" +
+ // "\\u1ee39-\\u1ee39" +
+ // "\\u1ee3b-\\u1ee3b" +
+ // "\\u1ee42-\\u1ee42" +
+ // "\\u1ee47-\\u1ee47" +
+ // "\\u1ee49-\\u1ee49" +
+ // "\\u1ee4b-\\u1ee4b" +
+ // "\\u1ee4d-\\u1ee4f" +
+ // "\\u1ee51-\\u1ee52" +
+ // "\\u1ee54-\\u1ee54" +
+ // "\\u1ee57-\\u1ee57" +
+ // "\\u1ee59-\\u1ee59" +
+ // "\\u1ee5b-\\u1ee5b" +
+ // "\\u1ee5d-\\u1ee5d" +
+ // "\\u1ee5f-\\u1ee5f" +
+ // "\\u1ee61-\\u1ee62" +
+ // "\\u1ee64-\\u1ee64" +
+ // "\\u1ee67-\\u1ee6a" +
+ // "\\u1ee6c-\\u1ee72" +
+ // "\\u1ee74-\\u1ee77" +
+ // "\\u1ee79-\\u1ee7c" +
+ // "\\u1ee7e-\\u1ee7e" +
+ // "\\u1ee80-\\u1ee89" +
+ // "\\u1ee8b-\\u1ee9b" +
+ // "\\u1eea1-\\u1eea3" +
+ // "\\u1eea5-\\u1eea9" +
+ // "\\u1eeab-\\u1eebb" +
+ // "\\u1f130-\\u1f149" +
+ // "\\u1f150-\\u1f169" +
+ // "\\u1f170-\\u1f189" +
+ // "\\u20000-\\u2a6d6" +
+ // "\\u2a700-\\u2b734" +
+ // "\\u2b740-\\u2b81d" +
+ // "\\u2b820-\\u2cea1" +
+ // "\\u2f800-\\u2fa1d"
};
// @license-end
diff --git a/lib/node_info.rb b/lib/node_info.rb
index 0b4657d3a..eb012f98e 100644
--- a/lib/node_info.rb
+++ b/lib/node_info.rb
@@ -6,6 +6,7 @@ module NodeInfo
SCHEMAS = {}
private_constant :VERSIONS, :SCHEMAS
+ # rubocop:disable Metrics/BlockLength
Document = Struct.new(:version, :software, :protocols, :services, :open_registrations, :usage, :metadata) do
Software = Struct.new(:name, :version) do
def initialize(name=nil, version=nil)
@@ -132,6 +133,7 @@ module NodeInfo
end
end
end
+ # rubocop:enable Metrics/BlockLength
def self.schema(version)
SCHEMAS[version] ||= JSON.parse(
diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake
index 88147646b..9cbd410e2 100644
--- a/lib/tasks/assets.rake
+++ b/lib/tasks/assets.rake
@@ -10,9 +10,32 @@ namespace :assets do
BookmarkletRenderer.compile
end
+ desc "Create non digest assets"
+ task non_digest_assets: :environment do
+ logger = ::Logging::Logger["assets:non_digest_assets"]
+
+ non_digest_assets = Diaspora::Application.config.assets.non_digest_assets
+ manifest_path = Dir.glob(File.join(Rails.root, "public/assets/manifest-*.json")).first
+
+ JSON.load(File.new(manifest_path))["assets"].each do |logical_path, digested_path|
+ logical_pathname = Pathname.new(logical_path)
+ next unless non_digest_assets.any? {|testpath| logical_pathname.fnmatch?(testpath, File::FNM_PATHNAME) }
+
+ full_digested_path = File.join(Rails.root, "public/assets", digested_path)
+ full_non_digested_path = File.join(Rails.root, "public/assets", logical_path)
+
+ next unless FileUtils.uptodate?(full_digested_path, [full_non_digested_path])
+
+ logger.info "Copying #{full_digested_path} to #{full_non_digested_path}"
+
+ FileUtils.copy_file(full_digested_path, full_non_digested_path, true)
+ end
+ end
+
# Augment precompile with error page generation
task :precompile do
- Rake::Task['assets:generate_error_pages'].invoke
- Rake::Task['assets:uglify_bookmarklet'].invoke
+ Rake::Task["assets:generate_error_pages"].invoke
+ Rake::Task["assets:uglify_bookmarklet"].invoke
+ Rake::Task["assets:non_digest_assets"].invoke
end
end
diff --git a/script/server b/script/server
index d8d35aad8..715697d44 100755
--- a/script/server
+++ b/script/server
@@ -87,7 +87,7 @@ if [ $? -eq 0 ]; then
fi
# Check if bundle is complete
-if ! bundle check > /dev/null
+if ! bin/bundle check > /dev/null
then
fatal "Your bundle is not up to date, run the command \"bundle install\""
fi
diff --git a/spec/controllers/admins_controller_spec.rb b/spec/controllers/admins_controller_spec.rb
index 8d617d7c9..4dfdd0ef5 100644
--- a/spec/controllers/admins_controller_spec.rb
+++ b/spec/controllers/admins_controller_spec.rb
@@ -140,7 +140,9 @@ describe AdminsController, :type => :controller do
expect(response).to be_success
expect(response).to render_template(:stats)
expect(response.body).to include(
- I18n.translate("admins.stats.display_results", segment: I18n.translate("admins.stats.daily"))
+ I18n.translate(
+ "admins.stats.display_results", segment: "<strong>#{I18n.translate('admins.stats.daily')}</strong>"
+ )
)
end
@@ -150,10 +152,14 @@ describe AdminsController, :type => :controller do
expect(response).to be_success
expect(response).to render_template(:stats)
expect(response.body).not_to include(
- I18n.translate("admins.stats.display_results", segment: I18n.translate("admins.stats.daily"))
+ I18n.translate(
+ "admins.stats.display_results", segment: "<strong>#{I18n.translate('admins.stats.daily')}</strong>"
+ )
)
expect(response.body).to include(
- I18n.translate("admins.stats.display_results", segment: I18n.translate("admins.stats.#{range}"))
+ I18n.translate(
+ "admins.stats.display_results", segment: "<strong>#{I18n.translate("admins.stats.#{range}")}</strong>"
+ )
)
end
end
diff --git a/spec/controllers/api/openid_connect/clients_controller_spec.rb b/spec/controllers/api/openid_connect/clients_controller_spec.rb
index 5477d2fa3..a12ad43b8 100644
--- a/spec/controllers/api/openid_connect/clients_controller_spec.rb
+++ b/spec/controllers/api/openid_connect/clients_controller_spec.rb
@@ -6,7 +6,7 @@ describe Api::OpenidConnect::ClientsController, type: :controller, suppress_csrf
.with(headers: {
"Accept" => "*/*",
"Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
- "User-Agent" => "Faraday v0.9.2"
+ "User-Agent" => "Faraday v0.11.0"
})
.to_return(status: 200, body: "[\"http://localhost\"]", headers: {})
post :create, redirect_uris: ["http://localhost"], client_name: "diaspora client",
@@ -26,7 +26,8 @@ describe Api::OpenidConnect::ClientsController, type: :controller, suppress_csrf
.with(headers: {
"Accept" => "*/*",
"Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
- "User-Agent" => "Faraday v0.9.2"})
+ "User-Agent" => "Faraday v0.11.0"
+ })
.to_return(status: 200, body: "[\"http://localhost\"]", headers: {})
post :create, redirect_uris: ["http://localhost"], client_name: "diaspora client",
response_types: [], grant_types: [], application_type: "web", contacts: [],
@@ -83,14 +84,18 @@ describe Api::OpenidConnect::ClientsController, type: :controller, suppress_csrf
context "when valid parameters with jwks_uri is passed" do
it "should return a client id" do
stub_request(:get, "http://example.com/uris")
- .with(headers: {"Accept" => "*/*",
- "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
- "User-Agent" => "Faraday v0.9.2"})
+ .with(headers: {
+ "Accept" => "*/*",
+ "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
+ "User-Agent" => "Faraday v0.11.0"
+ })
.to_return(status: 200, body: "[\"http://localhost\"]", headers: {})
stub_request(:get, "https://kentshikama.com/api/openid_connect/jwks.json")
- .with(headers: {"Accept" => "*/*",
- "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
- "User-Agent" => "Faraday v0.9.2"})
+ .with(headers: {
+ "Accept" => "*/*",
+ "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
+ "User-Agent" => "Faraday v0.11.0"
+ })
.to_return(status: 200,
body: "{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\",\"n\":\"qpW\",\"use\":\"sig\"}]}", headers: {})
post :create, redirect_uris: ["http://localhost"], client_name: "diaspora client",
diff --git a/spec/controllers/likes_controller_spec.rb b/spec/controllers/likes_controller_spec.rb
index 928b1f64c..b9935a70f 100644
--- a/spec/controllers/likes_controller_spec.rb
+++ b/spec/controllers/likes_controller_spec.rb
@@ -1,8 +1,8 @@
- # Copyright (c) 2010-2011, Diaspora Inc. This file is
+# Copyright (c) 2010-2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
-describe LikesController, :type => :controller do
+describe LikesController, type: :controller do
before do
@alices_aspect = alice.aspects.where(:name => "generic").first
@bobs_aspect = bob.aspects.where(:name => "generic").first
@@ -10,137 +10,114 @@ describe LikesController, :type => :controller do
sign_in(alice, scope: :user)
end
- [Comment, Post].each do |class_const|
- context class_const.to_s do
- let(:id_field){
- "#{class_const.to_s.underscore}_id"
- }
-
- describe '#create' do
- let(:like_hash) {
- {:positive => 1,
- id_field => "#{@target.id}"}
- }
- let(:dislike_hash) {
- {:positive => 0,
- id_field => "#{@target.id}"}
- }
-
- context "on my own post" do
- it 'succeeds' do
- @target = alice.post :status_message, :text => "AWESOME", :to => @alices_aspect.id
- @target = alice.comment!(@target, "hey") if class_const == Comment
- post :create, like_hash.merge(:format => :json)
- expect(response.code).to eq('201')
- end
- end
-
- context "on a post from a contact" do
- before do
- @target = bob.post(:status_message, :text => "AWESOME", :to => @bobs_aspect.id)
- @target = bob.comment!(@target, "hey") if class_const == Comment
- end
-
- it 'likes' do
- post :create, like_hash
- expect(response.code).to eq('201')
- end
-
- it 'dislikes' do
- post :create, dislike_hash
- expect(response.code).to eq('201')
- end
-
- it "doesn't post multiple times" do
- alice.like!(@target)
- post :create, dislike_hash
- expect(response.code).to eq('422')
- end
- end
-
- context "on a post from a stranger" do
- before do
- @target = eve.post :status_message, :text => "AWESOME", :to => eve.aspects.first.id
- @target = eve.comment!(@target, "hey") if class_const == Comment
- end
-
- it "doesn't post" do
- expect(alice).not_to receive(:like!)
- post :create, like_hash
- expect(response.code).to eq('422')
- end
- end
-
- context "when an the exception is raised" do
- before do
- @target = alice.post :status_message, :text => "AWESOME", :to => @alices_aspect.id
- @target = alice.comment!(@target, "hey") if class_const == Comment
- end
-
- it "should be catched when it means that the target is not found" do
- params = like_hash.merge(format: :json, id_field => -1)
- post :create, params
- expect(response.code).to eq('422')
- end
-
- it "should not be catched when it is unexpected" do
- @target = alice.post :status_message, :text => "AWESOME", :to => @alices_aspect.id
- @target = alice.comment!(@target, "hey") if class_const == Comment
- allow(alice).to receive(:like!).and_raise("something")
- allow(@controller).to receive(:current_user).and_return(alice)
- expect { post :create, like_hash.merge(:format => :json) }.to raise_error("something")
- end
- end
+ describe "#create" do
+ let(:like_hash) {
+ {post_id: @target.id}
+ }
+
+ context "on my own post" do
+ it "succeeds" do
+ @target = alice.post :status_message, text: "AWESOME", to: @alices_aspect.id
+ post :create, like_hash.merge(format: :json)
+ expect(response.code).to eq("201")
end
+ end
+
+ context "on a post from a contact" do
+ before do
+ @target = bob.post(:status_message, text: "AWESOME", to: @bobs_aspect.id)
+ end
+
+ it "likes" do
+ post :create, like_hash
+ expect(response.code).to eq("201")
+ end
+
+ it "doesn't post multiple times" do
+ alice.like!(@target)
+ post :create, like_hash
+ expect(response.code).to eq("422")
+ end
+ end
- describe '#index' do
- before do
- @message = alice.post(:status_message, :text => "hey", :to => @alices_aspect.id)
- @message = alice.comment!(@message, "hey") if class_const == Comment
- end
-
- it 'returns a 404 for a post not visible to the user' do
- sign_in eve
- expect{get :index, id_field => @message.id}.to raise_error(ActiveRecord::RecordNotFound)
- end
-
- it 'returns an array of likes for a post' do
- like = bob.like!(@message)
- get :index, id_field => @message.id
- expect(assigns[:likes].map(&:id)).to eq(@message.likes.map(&:id))
- end
-
- it 'returns an empty array for a post with no likes' do
- get :index, id_field => @message.id
- expect(assigns[:likes]).to eq([])
- end
+ context "on a post from a stranger" do
+ before do
+ @target = eve.post :status_message, text: "AWESOME", to: eve.aspects.first.id
end
- describe '#destroy' do
- before do
- @message = bob.post(:status_message, :text => "hey", :to => @alices_aspect.id)
- @message = bob.comment!(@message, "hey") if class_const == Comment
- @like = alice.like!(@message)
- end
-
- it 'lets a user destroy their like' do
- current_user = controller.send(:current_user)
- expect(current_user).to receive(:retract).with(@like)
-
- delete :destroy, :format => :json, id_field => @like.target_id, :id => @like.id
- expect(response.status).to eq(204)
- end
-
- it 'does not let a user destroy other likes' do
- like2 = eve.like!(@message)
- like_count = Like.count
-
- delete :destroy, :format => :json, id_field => like2.target_id, :id => like2.id
- expect(response.status).to eq(404)
- expect(response.body).to eq(I18n.t("likes.destroy.error"))
- expect(Like.count).to eq(like_count)
- end
+ it "doesn't post" do
+ expect(alice).not_to receive(:like!)
+ post :create, like_hash
+ expect(response.code).to eq("422")
end
end
+
+ context "when an the exception is raised" do
+ before do
+ @target = alice.post :status_message, text: "AWESOME", to: @alices_aspect.id
+ end
+
+ it "should be catched when it means that the target is not found" do
+ params = like_hash.merge(format: :json, post_id: -1)
+ post :create, params
+ expect(response.code).to eq("422")
+ end
+
+ it "should not be catched when it is unexpected" do
+ @target = alice.post :status_message, text: "AWESOME", to: @alices_aspect.id
+ allow(alice).to receive(:like!).and_raise("something")
+ allow(@controller).to receive(:current_user).and_return(alice)
+ expect { post :create, like_hash.merge(format: :json) }.to raise_error("something")
+ end
+ end
+ end
+
+ describe "#index" do
+ before do
+ @message = alice.post(:status_message, text: "hey", to: @alices_aspect.id)
+ end
+
+ it "returns a 404 for a post not visible to the user" do
+ sign_in eve
+ expect {
+ get :index, post_id: @message.id
+ }.to raise_error(ActiveRecord::RecordNotFound)
+ end
+
+ it "returns an array of likes for a post" do
+ bob.like!(@message)
+ get :index, post_id: @message.id
+ expect(JSON.parse(response.body).map {|h| h["id"] }).to match_array(@message.likes.map(&:id))
+ end
+
+ it "returns an empty array for a post with no likes" do
+ get :index, post_id: @message.id
+ expect(JSON.parse(response.body).map(&:id)).to eq([])
+ end
+ end
+
+ describe "#destroy" do
+ before do
+ @message = bob.post(:status_message, text: "hey", to: @alices_aspect.id)
+ @like = alice.like!(@message)
+ end
+
+ it "lets a user destroy their like" do
+ current_user = controller.send(:current_user)
+ expect(current_user).to receive(:retract).with(@like)
+
+ delete :destroy, format: :json, post_id: @message.id, id: @like.id
+ expect(response.status).to eq(204)
+ end
+
+ it "does not let a user destroy other likes" do
+ like2 = eve.like!(@message)
+ like_count = Like.count
+
+ delete :destroy, format: :json, post_id: @message.id, id: like2.id
+ expect(response.status).to eq(404)
+ expect(response.body).to eq(I18n.t("likes.destroy.error"))
+ expect(Like.count).to eq(like_count)
+ end
end
end
diff --git a/spec/controllers/reshares_controller_spec.rb b/spec/controllers/reshares_controller_spec.rb
index 2dc48daca..38a65b94e 100644
--- a/spec/controllers/reshares_controller_spec.rb
+++ b/spec/controllers/reshares_controller_spec.rb
@@ -31,8 +31,9 @@ describe ResharesController, :type => :controller do
}.to change(Reshare, :count).by(1)
end
- it 'calls dispatch' do
- expect(bob).to receive(:dispatch_post)
+ it "federates" do
+ allow_any_instance_of(Participation::Generator).to receive(:create!)
+ expect(Diaspora::Federation::Dispatcher).to receive(:defer_dispatch)
post_request!
end
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index 84bc7cc35..8a277d41a 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -68,6 +68,34 @@ describe ApplicationHelper, :type => :helper do
end
end
+ describe "#donations_enabled?" do
+ it "returns false when nothing is set" do
+ expect(helper.donations_enabled?).to be false
+ end
+
+ it "returns true when the paypal donations is enabled" do
+ AppConfig.settings.paypal_donations.enable = true
+ expect(helper.donations_enabled?).to be true
+ end
+
+ it "returns true when the liberapay username is set" do
+ AppConfig.settings.liberapay_username = "foo"
+ expect(helper.donations_enabled?).to be true
+ end
+
+ it "returns true when the bitcoin_address is set" do
+ AppConfig.settings.bitcoin_address = "bar"
+ expect(helper.donations_enabled?).to be true
+ end
+
+ it "returns true when all the donations are enabled" do
+ AppConfig.settings.paypal_donations.enable = true
+ AppConfig.settings.liberapay_username = "foo"
+ AppConfig.settings.bitcoin_address = "bar"
+ expect(helper.donations_enabled?).to be true
+ end
+ end
+
describe "#changelog_url" do
let(:changelog_url_setting) {
double.tap {|double| allow(AppConfig).to receive(:settings).and_return(double(changelog_url: double)) }
diff --git a/spec/helpers/publisher_helper_spec.rb b/spec/helpers/publisher_helper_spec.rb
new file mode 100644
index 000000000..e4a20368c
--- /dev/null
+++ b/spec/helpers/publisher_helper_spec.rb
@@ -0,0 +1,69 @@
+describe PublisherHelper, type: :helper do
+ describe "#public_selected?" do
+ it "returns true when the selected_aspects contains 'public'" do
+ expect(helper.public_selected?(["public"])).to be_truthy
+ end
+
+ it "returns true when the publisher is set to public" do
+ @stream = double(publisher: double(public: true))
+ expect(helper.public_selected?(alice.aspects.to_a)).to be_truthy
+ end
+
+ it "returns false when the selected_aspects does not contain 'public' and the publisher is not public" do
+ @stream = double(publisher: double(public: false))
+ expect(helper.public_selected?(alice.aspects.to_a)).to be_falsey
+ end
+
+ it "returns false when the selected_aspects does not contain 'public' and there is no stream" do
+ expect(helper.public_selected?(alice.aspects.to_a)).to be_falsey
+ end
+ end
+
+ describe "#all_aspects_selected?" do
+ it "returns true when the selected_aspects are the same size as all_aspects from the user" do
+ expect(helper).to receive(:all_aspects).twice.and_return(alice.aspects.to_a)
+ expect(helper.all_aspects_selected?(alice.aspects.to_a)).to be_truthy
+ end
+
+ it "returns false when not all aspects are selected" do
+ alice.aspects.create(name: "other")
+ expect(helper).to receive(:all_aspects).twice.and_return(alice.aspects.to_a)
+ expect(helper.all_aspects_selected?([alice.aspects.first])).to be_falsey
+ end
+
+ it "returns false when the user does not have aspects" do
+ expect(helper).to receive(:all_aspects).and_return([])
+ expect(helper.all_aspects_selected?(alice.aspects.to_a)).to be_falsey
+ end
+
+ it "returns false when the publisher is set to public" do
+ @stream = double(publisher: double(public: true))
+ expect(helper).to receive(:all_aspects).twice.and_return(alice.aspects.to_a)
+ expect(helper.all_aspects_selected?(alice.aspects.to_a)).to be_falsey
+ end
+ end
+
+ describe "#aspect_selected?" do
+ before do
+ alice.aspects.create(name: "other")
+ allow(helper).to receive(:all_aspects).and_return(alice.aspects.to_a)
+ end
+
+ it "returns true when the selected_aspects contains the aspect" do
+ expect(helper.aspect_selected?(alice.aspects.first, [alice.aspects.first])).to be_truthy
+ end
+
+ it "returns false when the selected_aspects does not contain the aspect" do
+ expect(helper.aspect_selected?(alice.aspects.first, [alice.aspects.second])).to be_falsey
+ end
+
+ it "returns false when all aspects are selected" do
+ expect(helper.aspect_selected?(alice.aspects.first, alice.aspects.to_a)).to be_falsey
+ end
+
+ it "returns false when the publisher is set to public" do
+ @stream = double(publisher: double(public: true))
+ expect(helper.aspect_selected?(alice.aspects.first, [alice.aspects.first])).to be_falsey
+ end
+ end
+end
diff --git a/spec/javascripts/app/helpers/text_formatter_spec.js b/spec/javascripts/app/helpers/text_formatter_spec.js
index eb6f95686..c2e8e7bcf 100644
--- a/spec/javascripts/app/helpers/text_formatter_spec.js
+++ b/spec/javascripts/app/helpers/text_formatter_spec.js
@@ -9,21 +9,46 @@ describe("app.helpers.textFormatter", function(){
// https://github.com/svbergerem/markdown-it-hashtag/tree/master/test
context("hashtags", function() {
beforeEach(function() {
- this.tags = [
+ this.goodTags = [
"tag",
"diaspora",
"PARTIES",
- "<3"
+ "<3",
+ "diaspora-dev",
+ "diaspora_dev",
+ // issue #5765
+ "മലയാണ്മ",
+ // issue #5815
+ "ինչո՞ւ",
+ "այո՜ո",
+ "սեւ֊սպիտակ",
+ "գժանո՛ց"
+ ];
+
+ this.badTags = [
+ "tag.tag",
+ "hash:tag",
+ "hash*tag"
];
});
- it("renders tags as links", function() {
- var formattedText = this.formatter('#'+this.tags.join(" #"));
- _.each(this.tags, function(tag) {
- var link ='<a href="/tags/'+tag.toLowerCase()+'" class="tag">#'+tag.replace("<","&lt;")+'</a>';
+ it("renders good tags as links", function() {
+ var self = this;
+ this.goodTags.forEach(function(tag) {
+ var formattedText = self.formatter("#newhashtag #" + tag + " test");
+ var link = "<a href=\"/tags/" + tag.toLowerCase() + "\" class=\"tag\">#" + tag.replace("<", "&lt;") + "</a>";
expect(formattedText).toContain(link);
});
});
+
+ it("doesn't render bad tags as links", function() {
+ var self = this;
+ this.badTags.forEach(function(tag) {
+ var formattedText = self.formatter("#newhashtag #" + tag + " test");
+ var link = "<a href=\"/tags/" + tag.toLowerCase() + "\" class=\"tag\">#" + tag.replace("<", "&lt;") + "</a>";
+ expect(formattedText).not.toContain(link);
+ });
+ });
});
// Some basic specs. For more detailed specs see
diff --git a/spec/javascripts/mobile/mobile_comments_spec.js b/spec/javascripts/mobile/mobile_comments_spec.js
index 602db13f6..7a751443f 100644
--- a/spec/javascripts/mobile/mobile_comments_spec.js
+++ b/spec/javascripts/mobile/mobile_comments_spec.js
@@ -7,7 +7,7 @@ describe("Diaspora.Mobile.Comments", function(){
describe("initialize", function() {
it("calls submitComment when the comment form has been submitted", function() {
- spyOn(Diaspora.Mobile.Comments, "submitComment");
+ spyOn(Diaspora.Mobile.Comments, "submitComment").and.returnValue(false);
Diaspora.Mobile.Comments.initialize();
Diaspora.Mobile.Comments.showCommentBox($(".stream .comment-action").first());
$(".stream .new_comment").first().submit();
diff --git a/spec/lib/diaspora/taggable_spec.rb b/spec/lib/diaspora/taggable_spec.rb
index 501285623..f3b03f0e5 100644
--- a/spec/lib/diaspora/taggable_spec.rb
+++ b/spec/lib/diaspora/taggable_spec.rb
@@ -27,6 +27,42 @@ describe Diaspora::Taggable do
expect(text).to eq("<a class=\"tag\" href=\"/tags/l\">#l</a> <a class=\"tag\" href=\"/tags/lol\">#lol</a>")
end
end
+
+ context "good tags" do
+ it "autolinks" do
+ good_tags = [
+ "tag",
+ "diaspora",
+ "PARTIES",
+ "diaspora-dev",
+ "diaspora_dev",
+ # issue #5765
+ "മലയാണ്മ",
+ # issue #5815
+ "ինչո՞ւ",
+ "այո՜ո",
+ "սեւ֊սպիտակ",
+ "գժանո՛ց"
+ ]
+ good_tags.each do |tag|
+ text = Diaspora::Taggable.format_tags("#newhashtag ##{tag} #newhashtag")
+ expect(text).to match("<a class=\"tag\" href=\"/tags/#{tag}\">##{tag}</a>")
+ end
+ end
+ end
+
+ context "bad tags" do
+ it "doesn't autolink" do
+ bad_tags = [
+ "tag.tag",
+ "hash:tag"
+ ]
+ bad_tags.each do |tag|
+ text = Diaspora::Taggable.format_tags("#newhashtag ##{tag} #newhashtag")
+ expect(text).not_to match("<a class=\"tag\" href=\"/tags/#{tag}\">##{tag}</a>")
+ end
+ end
+ end
end
describe "#format_tags_for_mail" do
diff --git a/spec/services/comment_service_spec.rb b/spec/services/comment_service_spec.rb
index 930e7c6f4..9ec6facff 100644
--- a/spec/services/comment_service_spec.rb
+++ b/spec/services/comment_service_spec.rb
@@ -26,7 +26,7 @@ describe CommentService do
it "fail if the user can not see the post" do
expect {
- CommentService.new(eve).create("unknown id", "hi")
+ CommentService.new(eve).create(post.id, "hi")
}.to raise_error ActiveRecord::RecordNotFound
end
end
diff --git a/spec/services/like_service_spec.rb b/spec/services/like_service_spec.rb
new file mode 100644
index 000000000..2d711b612
--- /dev/null
+++ b/spec/services/like_service_spec.rb
@@ -0,0 +1,121 @@
+describe LikeService do
+ let(:post) { alice.post(:status_message, text: "hello", to: alice.aspects.first) }
+
+ describe "#create" do
+ it "creates a like on my own post" do
+ expect {
+ LikeService.new(alice).create(post.id)
+ }.not_to raise_error
+ end
+
+ it "creates a like on a post of a contact" do
+ expect {
+ LikeService.new(bob).create(post.id)
+ }.not_to raise_error
+ end
+
+ it "attaches the like to the post" do
+ like = LikeService.new(alice).create(post.id)
+ expect(post.likes.first.id).to eq(like.id)
+ end
+
+ it "fails if the post does not exist" do
+ expect {
+ LikeService.new(bob).create("unknown id")
+ }.to raise_error ActiveRecord::RecordNotFound
+ end
+
+ it "fails if the user can't see the post" do
+ expect {
+ LikeService.new(eve).create(post.id)
+ }.to raise_error ActiveRecord::RecordNotFound
+ end
+
+ it "fails if the user already liked the post" do
+ LikeService.new(alice).create(post.id)
+ expect {
+ LikeService.new(alice).create(post.id)
+ }.to raise_error ActiveRecord::RecordInvalid
+ end
+ end
+
+ describe "#destroy" do
+ let(:like) { LikeService.new(bob).create(post.id) }
+
+ it "lets the user destroy their own like" do
+ result = LikeService.new(bob).destroy(like.id)
+ expect(result).to be_truthy
+ end
+
+ it "doesn't let the parent author destroy others likes" do
+ result = LikeService.new(alice).destroy(like.id)
+ expect(result).to be_falsey
+ end
+
+ it "doesn't let someone destroy others likes" do
+ result = LikeService.new(eve).destroy(like.id)
+ expect(result).to be_falsey
+ end
+
+ it "fails if the like doesn't exist" do
+ expect {
+ LikeService.new(bob).destroy("unknown id")
+ }.to raise_error ActiveRecord::RecordNotFound
+ end
+ end
+
+ describe "#find_for_post" do
+ context "with user" do
+ it "returns likes for a public post" do
+ post = alice.post(:status_message, text: "hello", public: true)
+ like = LikeService.new(alice).create(post.id)
+ expect(LikeService.new(eve).find_for_post(post.id)).to include(like)
+ end
+
+ it "returns likes for a visible private post" do
+ like = LikeService.new(alice).create(post.id)
+ expect(LikeService.new(bob).find_for_post(post.id)).to include(like)
+ end
+
+ it "doesn't return likes for a private post the user can not see" do
+ LikeService.new(alice).create(post.id)
+ expect {
+ LikeService.new(eve).find_for_post(post.id)
+ }.to raise_error ActiveRecord::RecordNotFound
+ end
+
+ it "returns the user's like first" do
+ post = alice.post(:status_message, text: "hello", public: true)
+ [alice, bob, eve].map {|user| LikeService.new(user).create(post.id) }
+
+ [alice, bob, eve].each do |user|
+ expect(
+ LikeService.new(user).find_for_post(post.id).first.author.id
+ ).to be user.person.id
+ end
+ end
+ end
+
+ context "without user" do
+ it "returns likes for a public post" do
+ post = alice.post(:status_message, text: "hello", public: true)
+ like = LikeService.new(alice).create(post.id)
+ expect(LikeService.new.find_for_post(post.id)).to include(like)
+ end
+
+ it "doesn't return likes a for private post" do
+ LikeService.new(alice).create(post.id)
+ expect {
+ LikeService.new.find_for_post(post.id)
+ }.to raise_error Diaspora::NonPublic
+ end
+ end
+
+ it "returns all likes of a post" do
+ post = alice.post(:status_message, text: "hello", public: true)
+ likes = [alice, bob, eve].map {|user| LikeService.new(user).create(post.id) }
+
+ expect(LikeService.new.find_for_post(post.id)).to match_array(likes)
+ end
+ end
+end
diff --git a/spec/services/reshare_service.rb b/spec/services/reshare_service.rb
new file mode 100644
index 000000000..4541b64e2
--- /dev/null
+++ b/spec/services/reshare_service.rb
@@ -0,0 +1,107 @@
+describe ReshareService do
+ let(:post) { alice.post(:status_message, text: "hello", public: true) }
+
+ describe "#create" do
+ it "doesn't create a reshare of my own post" do
+ expect {
+ ReshareService.new(alice).create(post.id)
+ }.not_to raise_error
+ end
+
+ it "creates a reshare of a post of a contact" do
+ expect {
+ ReshareService.new(bob).create(post.id)
+ }.not_to raise_error
+ end
+
+ it "attaches the reshare to the post" do
+ reshare = ReshareService.new(bob).create(post.id)
+ expect(post.reshares.first.id).to eq(reshare.id)
+ end
+
+ it "reshares the original post when called with a reshare" do
+ reshare = ReshareService.new(bob).create(post.id)
+ reshare2 = ReshareService.new(eve).create(reshare.id)
+ expect(post.reshares.map(&:id)).to include(reshare2.id)
+ end
+
+ it "fails if the post does not exist" do
+ expect {
+ ReshareService.new(bob).create("unknown id")
+ }.to raise_error ActiveRecord::RecordNotFound
+ end
+
+ it "fails if the post is not public" do
+ post = alice.post(:status_message, text: "hello", to: alice.aspects.first)
+
+ expect {
+ ReshareService.new(bob).create(post.id)
+ }.to raise_error ActiveRecord::RecordInvalid
+ end
+
+ it "fails if the user already reshared the post" do
+ ReshareService.new(bob).create(post.id)
+ expect {
+ ReshareService.new(bob).create(post.id)
+ }.to raise_error ActiveRecord::RecordInvalid
+ end
+
+ it "fails if the user already reshared the original post" do
+ reshare = ReshareService.new(bob).create(post.id)
+ expect {
+ ReshareService.new(bob).create(reshare.id)
+ }.to raise_error ActiveRecord::RecordInvalid
+ end
+ end
+
+ describe "#find_for_post" do
+ context "with user" do
+ it "returns reshares for a public post" do
+ reshare = ReshareService.new(bob).create(post.id)
+ expect(ReshareService.new(eve).find_for_post(post.id)).to include(reshare)
+ end
+
+ it "returns reshares for a visible private post" do
+ post = alice.post(:status_message, text: "hello", to: alice.aspects.first)
+ expect(ReshareService.new(bob).find_for_post(post.id)).to be_empty
+ end
+
+ it "doesn't return reshares for a private post the user can not see" do
+ post = alice.post(:status_message, text: "hello", to: alice.aspects.first)
+ expect {
+ ReshareService.new(eve).find_for_post(post.id)
+ }.to raise_error ActiveRecord::RecordNotFound
+ end
+
+ it "returns the user's reshare first" do
+ [alice, bob, eve].map {|user| ReshareService.new(user).create(post.id) }
+
+ [alice, bob, eve].each do |user|
+ expect(
+ ReshareService.new(user).find_for_post(post.id).first.author.id
+ ).to be user.person.id
+ end
+ end
+ end
+
+ context "without user" do
+ it "returns reshares for a public post" do
+ reshare = ReshareService.new(alice).create(post.id)
+ expect(ReshareService.new.find_for_post(post.id)).to include(reshare)
+ end
+
+ it "doesn't return reshares a for private post" do
+ post = alice.post(:status_message, text: "hello", to: alice.aspects.first)
+ expect {
+ ReshareService.new.find_for_post(post.id)
+ }.to raise_error Diaspora::NonPublic
+ end
+ end
+
+ it "returns all reshares of a post" do
+ reshares = [alice, bob, eve].map {|user| ReshareService.new(user).create(post.id) }
+
+ expect(ReshareService.new.find_for_post(post.id)).to match_array(reshares)
+ end
+ end
+end
diff --git a/spec/shared_behaviors/taggable.rb b/spec/shared_behaviors/taggable.rb
index 7d3dd21de..e7a61fb5f 100644
--- a/spec/shared_behaviors/taggable.rb
+++ b/spec/shared_behaviors/taggable.rb
@@ -10,23 +10,35 @@ shared_examples_for "it is taggable" do
link_to "##{s}", "/tags/#{s}", :class => 'tag'
end
- describe '.format_tags' do
+ describe ".format_tags" do
+ let(:tag_list) {
+ [
+ "what",
+ "hey",
+ "vöglein",
+ "മലയാണ്മ",
+ "գժանո՛ց"
+ ]
+ }
+
before do
- @str = '#what #hey #vöglein'
+ @str = tag_list.map {|tag| "##{tag}" }.join(" ")
@object.send(@object.class.field_with_tags_setter, @str)
@object.build_tags
@object.save!
end
it "supports non-ascii characters" do
- expect(@object.tags(true).map(&:name)).to include('vöglein')
+ tag_list.each do |tag|
+ expect(@object.tags(true).map(&:name)).to include(tag)
+ end
end
- it 'links each tag' do
+ it "links each tag" do
formatted_string = Diaspora::Taggable.format_tags(@str)
- expect(formatted_string).to include(tag_link('what'))
- expect(formatted_string).to include(tag_link('hey'))
- expect(formatted_string).to include(tag_link('vöglein'))
+ tag_list.each do |tag|
+ expect(formatted_string).to include(tag_link(tag))
+ end
end
it 'responds to plain_text' do