diff --git a/Gemfile b/Gemfile
index 2e77fb42a69025..1321a1c01a4b30 100644
--- a/Gemfile
+++ b/Gemfile
@@ -79,7 +79,7 @@ gem 'ruby-progressbar', '~> 1.11'
gem 'sanitize', '~> 6.0'
gem 'scenic', '~> 1.6'
gem 'sidekiq', '~> 6.4'
-gem 'sidekiq-scheduler', '~> 4.0'
+gem 'sidekiq-scheduler', '~> 5.0'
gem 'sidekiq-unique-jobs', '~> 7.1'
gem 'sidekiq-bulk', '~> 0.2.0'
gem 'simple-navigation', '~> 4.3'
@@ -97,6 +97,7 @@ gem 'webauthn', '~> 3.0.0.alpha1'
gem 'json-ld'
gem 'json-ld-preloaded', '~> 3.2'
gem 'rdf-normalize', '~> 0.5'
+gem 'ruby-bbcode'
group :development, :test do
gem 'fabrication', '~> 2.28'
diff --git a/Gemfile.lock b/Gemfile.lock
index e12fdc237dc4a4..e0f02b4377d0c5 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -263,7 +263,7 @@ GEM
fog-json (>= 1.0)
ipaddress (>= 0.8)
formatador (0.2.5)
- fugit (1.5.3)
+ fugit (1.8.1)
et-orbi (~> 1, >= 1.2.7)
raabro (~> 1.4)
fuubar (2.5.1)
@@ -583,12 +583,14 @@ GEM
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.7.0, < 2.0)
+ ruby-bbcode (2.0.2)
+ activesupport (>= 3.2.3)
ruby-progressbar (1.11.0)
ruby-saml (1.13.0)
nokogiri (>= 1.10.5)
rexml
ruby2_keywords (0.0.5)
- rufus-scheduler (3.8.1)
+ rufus-scheduler (3.9.0)
fugit (~> 1.1, >= 1.1.6)
safety_net_attestation (0.4.0)
jwt (~> 2.0)
@@ -606,10 +608,9 @@ GEM
redis (>= 4.2.0)
sidekiq-bulk (0.2.0)
sidekiq
- sidekiq-scheduler (4.0.0)
- redis (>= 4.2.0)
+ sidekiq-scheduler (5.0.3)
rufus-scheduler (~> 3.2)
- sidekiq (>= 4)
+ sidekiq (>= 6, < 8)
tilt (>= 1.4.0)
sidekiq-unique-jobs (7.1.22)
brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
@@ -653,7 +654,7 @@ GEM
terrapin (0.6.0)
climate_control (>= 0.0.3, < 1.0)
thor (1.2.1)
- tilt (2.0.10)
+ tilt (2.2.0)
tpm-key_attestation (0.9.0)
bindata (~> 2.4)
openssl-signature_algorithm (~> 0.4.0)
@@ -670,7 +671,7 @@ GEM
twitter-text (3.1.0)
idn-ruby
unf (~> 0.1.0)
- tzinfo (2.0.4)
+ tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2022.1)
tzinfo (>= 1.0.0)
@@ -822,12 +823,13 @@ DEPENDENCIES
rspec_junit_formatter (~> 0.5)
rubocop (~> 1.29)
rubocop-rails (~> 2.14)
+ ruby-bbcode
ruby-progressbar (~> 1.11)
sanitize (~> 6.0)
scenic (~> 1.6)
sidekiq (~> 6.4)
sidekiq-bulk (~> 0.2.0)
- sidekiq-scheduler (~> 4.0)
+ sidekiq-scheduler (~> 5.0)
sidekiq-unique-jobs (~> 7.1)
simple-navigation (~> 4.3)
simple_form (~> 5.1)
@@ -846,3 +848,9 @@ DEPENDENCIES
webpacker (~> 5.4)
webpush (~> 0.3)
xorcist (~> 1.1)
+
+RUBY VERSION
+ ruby 3.0.3p157
+
+BUNDLED WITH
+ 2.2.32
diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb
index 9270117dad5842..e25e5eca1edd0d 100644
--- a/app/controllers/api/v1/statuses_controller.rb
+++ b/app/controllers/api/v1/statuses_controller.rb
@@ -48,6 +48,7 @@ def create
scheduled_at: status_params[:scheduled_at],
application: doorkeeper_token.application,
poll: status_params[:poll],
+ public_in_local: status_params[:public_in_local],
idempotency: request.headers['Idempotency-Key'],
with_rate_limit: true
)
@@ -107,6 +108,7 @@ def status_params
:in_reply_to_id,
:sensitive,
:spoiler_text,
+ :public_in_local,
:visibility,
:language,
:scheduled_at,
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 3d2f8280b15f21..8151ff87486c84 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -14,6 +14,20 @@ class ApplicationController < ActionController::Base
helper_method :current_account
helper_method :current_session
helper_method :current_theme
+ helper_method :current_emoji_size_simple
+ helper_method :current_emoji_size_detailed
+ helper_method :current_emoji_size_name
+ helper_method :current_column_size
+ helper_method :current_bbcode_spin
+ helper_method :current_bbcode_flip
+ helper_method :current_bbcode_size
+ helper_method :current_bbcode_color
+ helper_method :current_bbcode_pulse
+ helper_method :current_bbcode_large
+ helper_method :current_bbcode_i
+ helper_method :current_bbcode_b
+ helper_method :current_bbcode_s
+ helper_method :current_bbcode_u
helper_method :single_user_mode?
helper_method :use_seamless_external_login?
helper_method :whitelist_mode?
@@ -138,6 +152,62 @@ def current_theme
return Setting.theme unless Themes.instance.names.include? current_user&.setting_theme
current_user.setting_theme
end
+
+ def current_emoji_size_simple
+ return current_user&.setting_emoji_size_simple
+ end
+
+ def current_emoji_size_detailed
+ return current_user&.setting_emoji_size_detailed
+ end
+
+ def current_emoji_size_name
+ return current_user&.setting_emoji_size_name
+ end
+
+ def current_column_size
+ return current_user&.setting_column_size
+ end
+
+ def current_bbcode_spin
+ return current_user&.setting_bbcode_spin
+ end
+
+ def current_bbcode_pulse
+ return current_user&.setting_bbcode_pulse
+ end
+
+ def current_bbcode_flip
+ return current_user&.setting_bbcode_flip
+ end
+
+ def current_bbcode_color
+ return current_user&.setting_bbcode_color
+ end
+
+ def current_bbcode_large
+ return current_user&.setting_bbcode_large
+ end
+
+ def current_bbcode_size
+ return current_user&.setting_bbcode_size
+ end
+
+ def current_bbcode_b
+ return current_user&.setting_bbcode_b
+ end
+
+ def current_bbcode_i
+ return current_user&.setting_bbcode_i
+ end
+
+ def current_bbcode_u
+ return current_user&.setting_bbcode_u
+ end
+
+ def current_bbcode_s
+ return current_user&.setting_bbcode_s
+ end
def respond_with_error(code)
respond_to do |format|
diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb
index 1c3adbd786bd91..5424b17f34e977 100644
--- a/app/controllers/auth/registrations_controller.rb
+++ b/app/controllers/auth/registrations_controller.rb
@@ -22,6 +22,12 @@ def new
super(&:build_invite_request)
end
+ def create
+ super do |resource|
+ UserSettingsDecorator.new(resource).update(params.require(:user).permit(:setting_advanced_layout).to_h) unless resource.id.nil?
+ end
+ end
+
def destroy
not_found
end
diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb
index bfe651bc667554..9a7a8b779ebf9f 100644
--- a/app/controllers/settings/preferences_controller.rb
+++ b/app/controllers/settings/preferences_controller.rb
@@ -55,6 +55,21 @@ def user_settings_params
:setting_trends,
:setting_crop_images,
:setting_always_send_emails,
+ :setting_emoji_size_simple,
+ :setting_emoji_size_detailed,
+ :setting_emoji_size_name,
+ :setting_column_size,
+ :setting_bbcode_spin,
+ :setting_bbcode_pulse,
+ :setting_bbcode_flip,
+ :setting_bbcode_large,
+ :setting_bbcode_size,
+ :setting_bbcode_color,
+ :setting_bbcode_b,
+ :setting_bbcode_i,
+ :setting_bbcode_u,
+ :setting_bbcode_s,
+ :setting_show_cw_box,
notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account trending_tag appeal),
interactions: %i(must_be_follower must_be_following must_be_following_dm)
)
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index bba7070d0d6def..701da84d7a5e6e 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -209,7 +209,7 @@ def render_initial_state
text: [params[:title], params[:text], params[:url]].compact.join(' '),
}
- permit_visibilities = %w(public unlisted private direct)
+ permit_visibilities = %w(public local unlisted private direct)
default_privacy = current_account&.user&.setting_default_privacy
permit_visibilities.shift(permit_visibilities.index(default_privacy) + 1) if default_privacy.present?
state_params[:visibility] = params[:visibility] if permit_visibilities.include? params[:visibility]
diff --git a/app/javascript/fonts/VCR_OSD_MONO.ttf b/app/javascript/fonts/VCR_OSD_MONO.ttf
new file mode 100644
index 00000000000000..dcca687a434d5c
Binary files /dev/null and b/app/javascript/fonts/VCR_OSD_MONO.ttf differ
diff --git a/app/javascript/fonts/galyon/Galyon-Bold.otf b/app/javascript/fonts/galyon/Galyon-Bold.otf
new file mode 100644
index 00000000000000..a4a6be4489bed7
Binary files /dev/null and b/app/javascript/fonts/galyon/Galyon-Bold.otf differ
diff --git a/app/javascript/fonts/galyon/Galyon-Bold.woff b/app/javascript/fonts/galyon/Galyon-Bold.woff
new file mode 100644
index 00000000000000..fde62a5e355322
Binary files /dev/null and b/app/javascript/fonts/galyon/Galyon-Bold.woff differ
diff --git a/app/javascript/fonts/galyon/Galyon-Italic.otf b/app/javascript/fonts/galyon/Galyon-Italic.otf
new file mode 100644
index 00000000000000..551a667e2a684e
Binary files /dev/null and b/app/javascript/fonts/galyon/Galyon-Italic.otf differ
diff --git a/app/javascript/fonts/galyon/Galyon-Italic.woff b/app/javascript/fonts/galyon/Galyon-Italic.woff
new file mode 100644
index 00000000000000..94377d73618e64
Binary files /dev/null and b/app/javascript/fonts/galyon/Galyon-Italic.woff differ
diff --git a/app/javascript/fonts/galyon/Galyon-Regular.otf b/app/javascript/fonts/galyon/Galyon-Regular.otf
new file mode 100644
index 00000000000000..30cca18ee168db
Binary files /dev/null and b/app/javascript/fonts/galyon/Galyon-Regular.otf differ
diff --git a/app/javascript/fonts/galyon/Galyon-Regular.woff b/app/javascript/fonts/galyon/Galyon-Regular.woff
new file mode 100644
index 00000000000000..2544b3adb637d6
Binary files /dev/null and b/app/javascript/fonts/galyon/Galyon-Regular.woff differ
diff --git a/app/javascript/fonts/opensans/LICENSE.txt b/app/javascript/fonts/opensans/LICENSE.txt
new file mode 100644
index 00000000000000..d645695673349e
--- /dev/null
+++ b/app/javascript/fonts/opensans/LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/app/javascript/fonts/opensans/OpenSans-Bold.ttf b/app/javascript/fonts/opensans/OpenSans-Bold.ttf
new file mode 100644
index 00000000000000..efdd5e84a0397e
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-Bold.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-Bold.woff2 b/app/javascript/fonts/opensans/OpenSans-Bold.woff2
new file mode 100644
index 00000000000000..e98487337fd7a8
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-Bold.woff2 differ
diff --git a/app/javascript/fonts/opensans/OpenSans-BoldItalic.ttf b/app/javascript/fonts/opensans/OpenSans-BoldItalic.ttf
new file mode 100644
index 00000000000000..9bf9b4e97b6576
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-BoldItalic.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-BoldItalic.woff2 b/app/javascript/fonts/opensans/OpenSans-BoldItalic.woff2
new file mode 100644
index 00000000000000..68666ea6f66034
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-BoldItalic.woff2 differ
diff --git a/app/javascript/fonts/opensans/OpenSans-ExtraBold.ttf b/app/javascript/fonts/opensans/OpenSans-ExtraBold.ttf
new file mode 100644
index 00000000000000..67fcf0fb2af0c0
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-ExtraBold.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-ExtraBold.woff2 b/app/javascript/fonts/opensans/OpenSans-ExtraBold.woff2
new file mode 100644
index 00000000000000..abdc7b7cab5786
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-ExtraBold.woff2 differ
diff --git a/app/javascript/fonts/opensans/OpenSans-ExtraBoldItalic.ttf b/app/javascript/fonts/opensans/OpenSans-ExtraBoldItalic.ttf
new file mode 100644
index 00000000000000..086722809c74d5
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-ExtraBoldItalic.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-ExtraBoldItalic.woff2 b/app/javascript/fonts/opensans/OpenSans-ExtraBoldItalic.woff2
new file mode 100644
index 00000000000000..6e83375232655e
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-ExtraBoldItalic.woff2 differ
diff --git a/app/javascript/fonts/opensans/OpenSans-Italic.ttf b/app/javascript/fonts/opensans/OpenSans-Italic.ttf
new file mode 100644
index 00000000000000..117856707b9b86
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-Italic.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-Italic.woff2 b/app/javascript/fonts/opensans/OpenSans-Italic.woff2
new file mode 100644
index 00000000000000..9398fd5da0866b
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-Italic.woff2 differ
diff --git a/app/javascript/fonts/opensans/OpenSans-Light.ttf b/app/javascript/fonts/opensans/OpenSans-Light.ttf
new file mode 100644
index 00000000000000..6580d3a169e895
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-Light.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-Light.woff2 b/app/javascript/fonts/opensans/OpenSans-Light.woff2
new file mode 100644
index 00000000000000..8496eb0f918cad
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-Light.woff2 differ
diff --git a/app/javascript/fonts/opensans/OpenSans-LightItalic.ttf b/app/javascript/fonts/opensans/OpenSans-LightItalic.ttf
new file mode 100644
index 00000000000000..1e0c3319810ad7
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-LightItalic.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-LightItalic.woff2 b/app/javascript/fonts/opensans/OpenSans-LightItalic.woff2
new file mode 100644
index 00000000000000..3ccefa9cbdd18b
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-LightItalic.woff2 differ
diff --git a/app/javascript/fonts/opensans/OpenSans-Regular.ttf b/app/javascript/fonts/opensans/OpenSans-Regular.ttf
new file mode 100644
index 00000000000000..29bfd35a2bfdd9
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-Regular.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-Regular.woff2 b/app/javascript/fonts/opensans/OpenSans-Regular.woff2
new file mode 100644
index 00000000000000..a8b53198935fc9
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-Regular.woff2 differ
diff --git a/app/javascript/fonts/opensans/OpenSans-SemiBold.ttf b/app/javascript/fonts/opensans/OpenSans-SemiBold.ttf
new file mode 100644
index 00000000000000..54e7059cf36359
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-SemiBold.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-SemiBold.woff2 b/app/javascript/fonts/opensans/OpenSans-SemiBold.woff2
new file mode 100644
index 00000000000000..90d827308feda3
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-SemiBold.woff2 differ
diff --git a/app/javascript/fonts/opensans/OpenSans-SemiBoldItalic.ttf b/app/javascript/fonts/opensans/OpenSans-SemiBoldItalic.ttf
new file mode 100644
index 00000000000000..aebcf1421226d0
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-SemiBoldItalic.ttf differ
diff --git a/app/javascript/fonts/opensans/OpenSans-SemiBoldItalic.woff2 b/app/javascript/fonts/opensans/OpenSans-SemiBoldItalic.woff2
new file mode 100644
index 00000000000000..ca7c2011a4fc2d
Binary files /dev/null and b/app/javascript/fonts/opensans/OpenSans-SemiBoldItalic.woff2 differ
diff --git a/app/javascript/fonts/premillenium/MSSansSerif.ttf b/app/javascript/fonts/premillenium/MSSansSerif.ttf
new file mode 100644
index 00000000000000..3afd76ff2db50d
Binary files /dev/null and b/app/javascript/fonts/premillenium/MSSansSerif.ttf differ
diff --git a/app/javascript/fonts/pressstart2p/PressStart2P-Regular.ttf b/app/javascript/fonts/pressstart2p/PressStart2P-Regular.ttf
new file mode 100644
index 00000000000000..39adf42efa5979
Binary files /dev/null and b/app/javascript/fonts/pressstart2p/PressStart2P-Regular.ttf differ
diff --git a/app/javascript/images/background/fundo3invertido.png b/app/javascript/images/background/fundo3invertido.png
new file mode 100644
index 00000000000000..6c429ae6fa21f0
Binary files /dev/null and b/app/javascript/images/background/fundo3invertido.png differ
diff --git a/app/javascript/images/background/fundo3plus.png b/app/javascript/images/background/fundo3plus.png
new file mode 100644
index 00000000000000..18a6c6b759772d
Binary files /dev/null and b/app/javascript/images/background/fundo3plus.png differ
diff --git a/app/javascript/images/background/fundo_rosa_bolinhas.png b/app/javascript/images/background/fundo_rosa_bolinhas.png
new file mode 100644
index 00000000000000..ef7e07a7d1c8e5
Binary files /dev/null and b/app/javascript/images/background/fundo_rosa_bolinhas.png differ
diff --git a/app/javascript/images/background/fundo_rosa_brilhos.png b/app/javascript/images/background/fundo_rosa_brilhos.png
new file mode 100644
index 00000000000000..c4510ddee873e6
Binary files /dev/null and b/app/javascript/images/background/fundo_rosa_brilhos.png differ
diff --git a/app/javascript/images/clippy_frame.png b/app/javascript/images/clippy_frame.png
new file mode 100644
index 00000000000000..7f2cd6a59dd4ed
Binary files /dev/null and b/app/javascript/images/clippy_frame.png differ
diff --git a/app/javascript/images/clippy_wave.gif b/app/javascript/images/clippy_wave.gif
new file mode 100644
index 00000000000000..4d2e38a3df4aa7
Binary files /dev/null and b/app/javascript/images/clippy_wave.gif differ
diff --git a/app/javascript/images/colorwave_mascot.png b/app/javascript/images/colorwave_mascot.png
new file mode 100644
index 00000000000000..59f2eb2b545863
Binary files /dev/null and b/app/javascript/images/colorwave_mascot.png differ
diff --git a/app/javascript/images/envelope_closed-0.png b/app/javascript/images/envelope_closed-0.png
new file mode 100644
index 00000000000000..04e0248f32cf34
Binary files /dev/null and b/app/javascript/images/envelope_closed-0.png differ
diff --git a/app/javascript/images/icon_about.png b/app/javascript/images/icon_about.png
new file mode 100644
index 00000000000000..08b76dcd9ddbe1
Binary files /dev/null and b/app/javascript/images/icon_about.png differ
diff --git a/app/javascript/images/icon_blocks.png b/app/javascript/images/icon_blocks.png
new file mode 100644
index 00000000000000..8b1490875fc271
Binary files /dev/null and b/app/javascript/images/icon_blocks.png differ
diff --git a/app/javascript/images/icon_follow_requests.png b/app/javascript/images/icon_follow_requests.png
new file mode 100644
index 00000000000000..4123e2a6909a3d
Binary files /dev/null and b/app/javascript/images/icon_follow_requests.png differ
diff --git a/app/javascript/images/icon_home.png b/app/javascript/images/icon_home.png
new file mode 100644
index 00000000000000..66ce779c0d7e4a
Binary files /dev/null and b/app/javascript/images/icon_home.png differ
diff --git a/app/javascript/images/icon_keyboard_shortcuts.png b/app/javascript/images/icon_keyboard_shortcuts.png
new file mode 100644
index 00000000000000..d66f3939e104c2
Binary files /dev/null and b/app/javascript/images/icon_keyboard_shortcuts.png differ
diff --git a/app/javascript/images/icon_likes.png b/app/javascript/images/icon_likes.png
new file mode 100644
index 00000000000000..17d7a9c59bd180
Binary files /dev/null and b/app/javascript/images/icon_likes.png differ
diff --git a/app/javascript/images/icon_lists.png b/app/javascript/images/icon_lists.png
new file mode 100644
index 00000000000000..3828946e81b86f
Binary files /dev/null and b/app/javascript/images/icon_lists.png differ
diff --git a/app/javascript/images/icon_local.png b/app/javascript/images/icon_local.png
new file mode 100644
index 00000000000000..5f82df395659a4
Binary files /dev/null and b/app/javascript/images/icon_local.png differ
diff --git a/app/javascript/images/icon_logout.png b/app/javascript/images/icon_logout.png
new file mode 100644
index 00000000000000..7ff806f58623f2
Binary files /dev/null and b/app/javascript/images/icon_logout.png differ
diff --git a/app/javascript/images/icon_mutes.png b/app/javascript/images/icon_mutes.png
new file mode 100644
index 00000000000000..c2225e966eb718
Binary files /dev/null and b/app/javascript/images/icon_mutes.png differ
diff --git a/app/javascript/images/icon_pin.png b/app/javascript/images/icon_pin.png
new file mode 100644
index 00000000000000..2329d8c54d8b17
Binary files /dev/null and b/app/javascript/images/icon_pin.png differ
diff --git a/app/javascript/images/icon_public.png b/app/javascript/images/icon_public.png
new file mode 100644
index 00000000000000..3c09460dba5428
Binary files /dev/null and b/app/javascript/images/icon_public.png differ
diff --git a/app/javascript/images/icon_settings.png b/app/javascript/images/icon_settings.png
new file mode 100644
index 00000000000000..07f5c45192a959
Binary files /dev/null and b/app/javascript/images/icon_settings.png differ
diff --git a/app/javascript/images/palmeiras.png b/app/javascript/images/palmeiras.png
new file mode 100644
index 00000000000000..fcf3b626c6e8a8
Binary files /dev/null and b/app/javascript/images/palmeiras.png differ
diff --git a/app/javascript/images/screenshot.jpg b/app/javascript/images/screenshot.jpg
new file mode 100644
index 00000000000000..45b270fbb0a662
Binary files /dev/null and b/app/javascript/images/screenshot.jpg differ
diff --git a/app/javascript/images/start.png b/app/javascript/images/start.png
new file mode 100644
index 00000000000000..7843455b60d86e
Binary files /dev/null and b/app/javascript/images/start.png differ
diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js
index bd4c1d0024fd93..0b7b3a5b740c2e 100644
--- a/app/javascript/mastodon/actions/compose.js
+++ b/app/javascript/mastodon/actions/compose.js
@@ -155,6 +155,13 @@ export function submitCompose(routerHistory) {
if ((!status || !status.length) && media.size === 0) {
return;
}
+
+ var visibility = getState().getIn(['compose', 'privacy']);
+ var publicInLocal = false;
+ if (visibility === 'local') {
+ visibility = 'unlisted';
+ publicInLocal = true;
+ }
dispatch(submitComposeRequest());
@@ -168,6 +175,7 @@ export function submitCompose(routerHistory) {
sensitive: getState().getIn(['compose', 'sensitive']),
spoiler_text: getState().getIn(['compose', 'spoiler']) ? getState().getIn(['compose', 'spoiler_text'], '') : '',
visibility: getState().getIn(['compose', 'privacy']),
+ public_in_local: publicInLocal,
poll: getState().getIn(['compose', 'poll'], null),
language: getState().getIn(['compose', 'language']),
},
@@ -200,6 +208,8 @@ export function submitCompose(routerHistory) {
insertIfOnline('community');
insertIfOnline('public');
insertIfOnline(`account:${response.data.account.id}`);
+ } else if (response.data.in_reply_to_id === null && response.data.visibility === 'unlisted' && response.data.public_in_local === true) {
+ insertIfOnline('community');
}
}).catch(function (error) {
dispatch(submitComposeFail(error));
diff --git a/app/javascript/mastodon/components/media_gallery.js b/app/javascript/mastodon/components/media_gallery.js
index 2e7ce2e608f928..df722df66feb13 100644
--- a/app/javascript/mastodon/components/media_gallery.js
+++ b/app/javascript/mastodon/components/media_gallery.js
@@ -236,6 +236,7 @@ class MediaGallery extends React.PureComponent {
visible: PropTypes.bool,
autoplay: PropTypes.bool,
onToggleVisibility: PropTypes.func,
+ parentHidden: PropTypes.bool,
};
static defaultProps = {
@@ -271,6 +272,12 @@ class MediaGallery extends React.PureComponent {
trailing: true,
});
+ componentDidUpdate () {
+ if (!this.props.parentHidden && this.elementRef && this.elementRef.offsetWidth && this.elementRef.offsetWidth !== this.state.containerWidth) {
+ this._setDimensions()
+ }
+ }
+
handleOpen = () => {
if (this.props.onToggleVisibility) {
this.props.onToggleVisibility();
diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js
index 76609322667a81..393fc641666949 100644
--- a/app/javascript/mastodon/components/status.js
+++ b/app/javascript/mastodon/components/status.js
@@ -57,6 +57,7 @@ const messages = defineMessages({
unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' },
private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' },
direct_short: { id: 'privacy.direct.short', defaultMessage: 'Mentioned people only' },
+ local_short: { id: 'privacy.local.short', defaultMessage: 'Local' },
edited: { id: 'status.edited', defaultMessage: 'Edited {date}' },
});
@@ -298,6 +299,7 @@ class Status extends ImmutablePureComponent {
let statusAvatar, prepend, rebloggedByText;
const { intl, hidden, featured, otherAccounts, unread, showThread, scrollKey, pictureInPicture } = this.props;
+ let mediaIcon = null;
let { status, account, ...other } = this.props;
@@ -368,6 +370,10 @@ class Status extends ImmutablePureComponent {
status = status.get('reblog');
}
+ if (status.get('poll')) {
+ mediaIcon = 'tasks';
+ }
+
if (pictureInPicture.get('inUse')) {
media = ;
} else if (status.get('media_attachments').size > 0) {
@@ -421,10 +427,12 @@ class Status extends ImmutablePureComponent {
deployPictureInPicture={pictureInPicture.get('available') ? this.handleDeployPictureInPicture : undefined}
visible={this.state.showMedia}
onToggleVisibility={this.handleToggleMediaVisibility}
+ parentHidden={status.get('hidden')}
/>
)}
);
+ mediaIcon = 'video-camera';
} else {
media = (
@@ -438,10 +446,12 @@ class Status extends ImmutablePureComponent {
defaultWidth={this.props.cachedMediaWidth}
visible={this.state.showMedia}
onToggleVisibility={this.handleToggleMediaVisibility}
+ parentHidden={status.get('hidden')}
/>
)}
);
+ mediaIcon = 'picture-o';
}
} else if (status.get('spoiler_text').length === 0 && status.get('card')) {
media = (
@@ -469,9 +479,10 @@ class Status extends ImmutablePureComponent {
'unlisted': { icon: 'unlock', text: intl.formatMessage(messages.unlisted_short) },
'private': { icon: 'lock', text: intl.formatMessage(messages.private_short) },
'direct': { icon: 'at', text: intl.formatMessage(messages.direct_short) },
+ 'local': { icon: 'users', text: intl.formatMessage(messages.local_short) },
};
- const visibilityIcon = visibilityIconInfo[status.get('visibility')];
+ const visibilityIcon = status.get('public_in_local') ? visibilityIconInfo.local : visibilityIconInfo[status.get('visibility')];
return (
@@ -496,9 +507,11 @@ class Status extends ImmutablePureComponent {
-
+
+
+ {media}
- {media}
+
diff --git a/app/javascript/mastodon/components/status_action_bar.js b/app/javascript/mastodon/components/status_action_bar.js
index 1d8fe23dae8685..04d232be11bf4f 100644
--- a/app/javascript/mastodon/components/status_action_bar.js
+++ b/app/javascript/mastodon/components/status_action_bar.js
@@ -261,7 +261,7 @@ class StatusActionBar extends ImmutablePureComponent {
}
if (writtenByMe) {
- // menu.push({ text: intl.formatMessage(messages.edit), action: this.handleEditClick });
+ menu.push({ text: intl.formatMessage(messages.edit), action: this.handleEditClick });
menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });
menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick });
} else {
diff --git a/app/javascript/mastodon/components/status_content.js b/app/javascript/mastodon/components/status_content.js
index d01365afbfe659..4794d6245a1f71 100644
--- a/app/javascript/mastodon/components/status_content.js
+++ b/app/javascript/mastodon/components/status_content.js
@@ -24,6 +24,8 @@ export default class StatusContent extends React.PureComponent {
onClick: PropTypes.func,
collapsable: PropTypes.bool,
onCollapsedToggle: PropTypes.func,
+ mediaIcon: PropTypes.string,
+ children: PropTypes.element,
};
state = {
@@ -168,7 +170,7 @@ export default class StatusContent extends React.PureComponent {
}
render () {
- const { status } = this.props;
+ const { status, children, mediaIcon } = this.props;
const hidden = this.props.onExpandedToggle ? !this.props.expanded : this.state.hidden;
const renderReadMore = this.props.onClick && status.get('collapsed');
@@ -203,7 +205,7 @@ export default class StatusContent extends React.PureComponent {
)).reduce((aggregate, item) => [...aggregate, item, ' '], []);
- const toggleText = hidden ? : ;
+ const toggleText = hidden ? [, mediaIcon ? : null] : [];
if (hidden) {
mentionsPlaceholder =
title: "%{instance} Terms of Service and Privacy Policy"
themes:
+ colorwave: Colorwave
contrast: Mastodon (High contrast)
- default: Mastodon (Dark)
+ default: Colorides
mastodon-light: Mastodon (Light)
+ mastodon: Mastodon (Dark)
+ purple-haze: Purple Haze
+ win95: Windows 95
+ meemu-purple: Meemu Purple
+ meemu-vaporwave: Meemu Vaporwave
+ flamingo: Flamingo
+ sediroloc: Sediroloc
+ sunset: Sunset
+ rosaceae: Rosaceae
+ quartzo: Quartzo
+ teal: São Paulo Line 10
+ terminal: Terminal (WIP)
time:
formats:
default: "%b %d, %Y, %H:%M"
@@ -1727,3 +1743,8 @@ en:
not_supported: This browser doesn't support security keys
otp_required: To use security keys please enable two-factor authentication first.
registered_on: Registered on %{date}
+ bbcode:
+ title: BBCode
+ explanation_html: 'You can choose which BBCodes are visible for you. Beside these options, [quote] and [code] are also available.'
+ setting_enable_all: Enable all
+ setting_disable_all: Disable all
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index e647b4c0141cd3..272f81f3a26d59 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -1,94 +1,94 @@
---
pt-BR:
about:
- about_hashtag_html: Estes são toots públicos com a hashtag #%{hashtag}. Você pode interagir com eles se tiver uma conta em qualquer lugar no fediverso.
+ about_hashtag_html: Estes são brilhos públicos com a hashtag #%{hashtag}. Você pode interagir com eles se tiver uma conta em qualquer lugar no fediverso.
about_mastodon_html: 'A rede social do futuro: Sem anúncios, sem vigilância corporativa, com design ético e muita descentralização! Possua seus próprios dados com o Mastodon!'
about_this: Sobre
- active_count_after: ativo
- active_footnote: Usuários Ativos Mensalmente (UAM)
- administered_by: 'Administrado por:'
+ active_count_after: atives
+ active_footnote: Contas que usaram Colorid.es no último mês
+ administered_by: 'Administração por:'
api: API
apps: Aplicativos
apps_platforms: Use o Mastodon a partir do iOS, Android e outras plataformas
browse_directory: Navegue pelo diretório de perfis e filtre por interesses
- browse_local_posts: Navegue pelos toots públicos locais em tempo real
- browse_public_posts: Navegue pelos toots públicos globais em tempo real
+ browse_local_posts: Navegue pelos brilhos públicos locais em tempo real
+ browse_public_posts: Navegue pelos brilhos públicos globais em tempo real
contact: Contato
contact_missing: Não definido
- contact_unavailable: Não disponível
+ contact_unavailable: N/D
continue_to_web: Continuar no aplicativo web
- discover_users: Descubra usuários
+ discover_users: Descubra usuáries
documentation: Documentação
federation_hint_html: Com uma conta em %{instance} você vai poder seguir e interagir com pessoas de qualquer canto do fediverso.
get_apps: Experimente um aplicativo
hosted_on: Instância Mastodon em %{domain}
instance_actor_flash: |
- Esta conta é um ator virtual usado para representar o próprio servidor e não qualquer usuário individual.
- É usado para propósitos de federação e não deve ser bloqueado a menos que queira bloquear toda a instância, o que no caso devia usar um bloqueio de domínio.
+ Esta conta é ume atore virtual usade para representar a própria instância.
+ É usada para fins de federação e não deve ser bloqueada a menos que você queira bloquear toda a instância, e nesse caso é melhor usar a função de bloquear domínios.
learn_more: Saiba mais
- logged_in_as_html: Você está atualmente logado como %{username}.
- logout_before_registering: Já está logado.
+ logged_in_as_html: Você entrou como %{username}.
+ logout_before_registering: Sua conta já está logada.
privacy_policy: Política de Privacidade
rules: Regras do servidor
- rules_html: 'Abaixo está um resumo das regras que você precisa seguir se você quer ter uma conta neste servidor do Mastodon:'
+ rules_html: 'Abaixo está um resumo das regras que você precisa seguir se você quer ter uma conta em colorid.es:'
see_whats_happening: Veja o que está acontecendo
- server_stats: 'Estatísticas da instância:'
+ server_stats: 'Estatísticas de Colorid.es:'
source_code: Código-fonte
status_count_after:
- one: toot
- other: toots
- status_count_before: Autores de
- tagline: Siga seus amigos e faça novas amizades
+ one: brilho
+ other: brilhos
+ status_count_before: Que enviaram
+ tagline: Siga quem conhece e faça novas amizades
terms: Termos de serviço
unavailable_content: Conteúdo indisponível
unavailable_content_description:
domain: Instância
reason: 'Motivo:'
- rejecting_media: 'Arquivos de mídia destas instâncias não serão processados ou armazenados e nenhuma miniatura será exibida, exigindo que o usuário abra o arquivo original manualmente:'
+ rejecting_media: 'Arquivos de mídia destas instâncias não serão processados ou armazenados e nenhuma miniatura será exibida, exigindo que e usuárie abra o arquivo original manualmente:'
rejecting_media_title: Mídia filtrada
- silenced: 'Toots destas instâncias serão ocultos em linhas e conversas públicas, e nenhuma notificação será gerada a partir das interações dos seus usuários, a menos que esteja sendo seguido:'
+ silenced: 'Brilhos destas instâncias serão ocultas em linhas do tempo e conversas públicas, e nenhuma notificação será gerada a partir das interações de sues usuáries, a menos que as contas estejam sendo acompanhadas por você:'
silenced_title: Servidores silenciados
suspended: 'Você não será capaz de seguir ninguém destas instâncias, e nenhum dado delas será processado, armazenado ou trocado:'
suspended_title: Servidores banidos
- unavailable_content_html: Mastodon geralmente permite que você veja o conteúdo e interaja com usuários de qualquer outra instância no fediverso. Estas são as exceções desta instância em específico.
+ unavailable_content_html: Mastodon geralmente permite que você veja o conteúdo e interaja com usuáries de qualquer outra instância no fediverso. Estas são as exceções específicas de colorid.es.
user_count_after:
- one: usuário
- other: usuários
+ one: usuárie
+ other: usuáries
user_count_before: Casa de
what_is_mastodon: O que é Mastodon?
accounts:
- choices_html: 'Sugestões de %{name}:'
+ choices_html: 'Escolhas de %{name}:'
endorsements_hint: Você pode sugerir pessoas que você segue, elas aparecerão aqui.
featured_tags_hint: Você pode destacar hashtags específicas, elas aparecerão aqui.
- follow: Seguir
+ follow: Acompanhar
followers:
- one: Seguidor
- other: Seguidores
- following: Seguindo
- instance_actor_flash: Esta conta é um ator virtual usado para representar o próprio servidor e não um usuário individual. É utilizada para fins de federação e não deve ser suspensa.
+ one: Acompanha
+ other: Acompanham
+ following: Acompanhando
+ instance_actor_flash: Esta conta é utilizada para representar o próprio servidor e não ume usuárie individual. É utilizada para fins de federação e não deve ser suspensa.
joined: Entrou em %{date}
last_active: última atividade
link_verified_on: O link foi verificado em %{date}
media: Mídia
moved_html: "%{name} se mudou para %{new_profile_link}:"
network_hidden: Informação indisponível
- nothing_here: Nada aqui!
- people_followed_by: Pessoas que %{name} segue
- people_who_follow: Pessoas que seguem %{name}
+ nothing_here: Não há nada aqui!
+ people_followed_by: Contas acompanhadas por %{name}
+ people_who_follow: Contas que acompanham %{name}
pin_errors:
- following: Você deve estar seguindo a pessoa que você deseja sugerir
+ following: Você tem que estar acompanhando a conta que você quer sugerir
posts:
- one: Toot
- other: Toots
- posts_tab_heading: Toots
- posts_with_replies: Toots e respostas
+ one: Brilho
+ other: Brilhos
+ posts_tab_heading: Brilhos
+ posts_with_replies: Brilhos e respostas
roles:
- admin: Admin
+ admin: Administração
bot: Robô
group: Grupo
- moderator: Moderador
+ moderator: Moderação
unavailable: Perfil indisponível
- unfollow: Deixar de seguir
+ unfollow: Não acompanhar
admin:
account_actions:
action: Tomar uma atitude
@@ -98,7 +98,7 @@ pt-BR:
created_msg: Nota de moderação criada com sucesso!
destroyed_msg: Nota de moderação excluída com sucesso!
accounts:
- add_email_domain_block: Adicionar o domínio de e-mail à lista negra
+ add_email_domain_block: Bloquear domínio de e-mail
approve: Aprovar
approved_msg: Aprovado com sucesso o pedido de registro de %{username}
are_you_sure: Você tem certeza?
@@ -110,7 +110,7 @@ pt-BR:
label: Alterar e-mail
new_email: Novo e-mail
submit: Alterar e-mail
- title: Alterar e-mail para %{username}
+ title: Alterar e-mail de %{username}
confirm: Confirmar
confirmed: Confirmado
confirming: Confirmando
@@ -120,7 +120,7 @@ pt-BR:
demote: Rebaixar
destroyed_msg: Os dados de %{username} estão na fila para serem excluídos em breve
disable: Congelar
- disable_sign_in_token_auth: Desativar autenticação via token por email
+ disable_sign_in_token_auth: Desativar autenticação via token por e-mail
disable_two_factor_authentication: Desativar autenticação de dois fatores
disabled: Desativada
display_name: Nome de exibição
@@ -131,37 +131,37 @@ pt-BR:
enable: Descongelar
enable_sign_in_token_auth: Ativar autenticação via token por email
enabled: Ativada
- enabled_msg: Descongelada com sucesso a conta de %{username}
- followers: Seguidores
- follows: Seguindo
- header: Capa
+ enabled_msg: Descongelada com sucesso a conta %{username}
+ followers: Acompanham
+ follows: Acompanhando
+ header: Cabeçalho
inbox_url: URL da caixa de entrada
invite_request_text: Motivos para entrar
- invited_by: Convidado por
+ invited_by: Convidade por
ip: IP
joined: Entrou
location:
- all: Todos
- local: Local
- remote: Remoto
+ all: Todas
+ local: Locais
+ remote: Remotas
title: Localização
login_status: Situação da conta
media_attachments: Mídias anexadas
memorialize: Converter em memorial
memorialized: Convertidas em memorial
- memorialized_msg: Transformou com sucesso %{username} em uma conta memorial
+ memorialized_msg: A conta %{username} foi convertida em uma conta memorial com sucesso
moderation:
- active: Ativo
- all: Todos
- pending: Pendente
- suspended: Banidos
+ active: Ativas
+ all: Todas
+ pending: Pendentes
+ suspended: Banidas
title: Moderação
moderation_notes: Notas de moderação
most_recent_activity: Atividade mais recente
most_recent_ip: IP mais recente
no_account_selected: Nenhuma conta foi alterada, pois nenhuma conta foi selecionada
no_limits_imposed: Nenhum limite imposto
- not_subscribed: Não inscrito
+ not_subscribed: Não inscrite
pending: Revisão pendente
perform_full_suspension: Banir
previous_strikes: Ataques anteriores
@@ -173,15 +173,15 @@ pt-BR:
public: Público
push_subscription_expires: Inscrição PuSH expira
redownload: Atualizar perfil
- redownloaded_msg: Atualizado com sucesso o perfil de %{username} a partir da origem
+ redownloaded_msg: Atualizado o perfil de %{username} a partir da origem com sucesso
reject: Vetar
- rejected_msg: Rejeitado com sucesso o pedido de registro de %{username}
+ rejected_msg: O pedido de registro de %{username} foi rejeitado com sucesso
remove_avatar: Remover imagem de perfil
- remove_header: Remover capa
- removed_avatar_msg: Removida com sucesso a imagem de avatar de %{username}
- removed_header_msg: Removida com sucesso a imagem de capa de %{username}
+ remove_header: Remover imagem de cabeçalho
+ removed_avatar_msg: A imagem de avatar de %{username} foi removida com sucesso
+ removed_header_msg: A imagem de cabeçalho de %{username} foi removida com sucesso
resend_confirmation:
- already_confirmed: Este usuário já está confirmado
+ already_confirmed: Esta conta já está confirmada
send: Reenviar o e-mail de confirmação
success: E-mail de confirmação enviado com sucesso!
reset: Redefinir
@@ -189,13 +189,13 @@ pt-BR:
resubscribe: Reinscrever-se
role: Permissões
roles:
- admin: Administrador
- moderator: Moderador
+ admin: Administração
+ moderator: Moderação
staff: Equipe
- user: Usuário
+ user: Usuárie
search: Pesquisar
- search_same_email_domain: Outros usuários com o mesmo domínio de e-mail
- search_same_ip: Outros usuários com o mesmo IP
+ search_same_email_domain: Outras contas com o mesmo domínio de e-mail
+ search_same_ip: Outras contas com o mesmo IP
security_measures:
only_password: Somente senha
password_and_2fa: Senha e 2FA
@@ -203,28 +203,28 @@ pt-BR:
sensitized: marcadas como sensíveis
shared_inbox_url: Link da caixa de entrada compartilhada
show:
- created_reports: Denúncias desta conta
- targeted_reports: Denúncias sobre esta conta
+ created_reports: Denúncias feitas por esta conta
+ targeted_reports: Denúncias feitas sobre esta conta
silence: Silenciar
- silenced: Silenciado
- statuses: Toots
- strikes: Ataques anteriores
+ silenced: Silenciade
+ statuses: Brilhos
+ strikes: Avisos anteriores
subscribe: Inscrever-se
- suspend: Suspender
- suspended: Banido
+ suspend: Banir
+ suspended: Banide
suspension_irreversible: Os dados desta conta foram excluídos de forma irreversível. Você pode remover a suspensão da conta para torná-la utilizável, mas ela não irá recuperar nenhum dado que ela possuía anteriormente.
suspension_reversible_hint_html: A conta foi suspensa e os dados serão totalmente removidos em %{date}. Até lá, a conta pode ser restaurada sem nenhum efeito negativo. Se você deseja remover todos os dados da conta imediatamente, você pode fazer isso abaixo.
title: Contas
unblock_email: Desbloquear endereço de e-mail
unblocked_email_msg: Endereço de e-mail de %{username} desbloqueado com sucesso
unconfirmed_email: E-mail não confirmado
- undo_sensitized: Desfazer sensível
+ undo_sensitized: Desfazer marcação de brilhos como sensíveis
undo_silenced: Desfazer silêncio
undo_suspension: Desbanir
- unsilenced_msg: Removidas com sucesso as limitações da conta de %{username}
+ unsilenced_msg: As limitações da conta de %{username} foram removidas com sucesso
unsubscribe: Cancelar inscrição
- unsuspended_msg: Removida com sucesso a suspensão da conta de %{username}
- username: Nome de usuário
+ unsuspended_msg: A suspensão da conta de %{username} foi removida com sucesso
+ username: Nome da conta
view_domain: Ver resumo para o domínio
warn: Notificar
web: Web
@@ -232,19 +232,19 @@ pt-BR:
action_logs:
action_types:
approve_appeal: Aprovar recurso
- approve_user: Aprovar Usuário
- assigned_to_self_report: Adicionar relatório
- change_email_user: Editar e-mail do usuário
- confirm_user: Confirmar Usuário
- create_account_warning: Criar Aviso
- create_announcement: Criar Anúncio
- create_custom_emoji: Criar Emoji Personalizado
+ approve_user: Aprovar conta
+ assigned_to_self_report: Designar denúncia para si
+ change_email_user: Editar e-mail da conta
+ confirm_user: Confirmar conta
+ create_account_warning: Criar aviso
+ create_announcement: Criar anúncio
+ create_custom_emoji: Adicionar emojos
create_domain_allow: Adicionar domínio permitido
create_domain_block: Criar Bloqueio de Domínio
create_email_domain_block: Criar Bloqueio de Domínio de E-mail
create_ip_block: Criar regra de IP
- create_unavailable_domain: Criar domínio indisponível
- demote_user: Rebaixar usuário
+ create_unavailable_domain: Adicionar domínio indisponível
+ demote_user: Rebaixar conta
destroy_announcement: Excluir anúncio
destroy_custom_emoji: Excluir emoji personalizado
destroy_domain_allow: Excluir domínio permitido
@@ -252,19 +252,19 @@ pt-BR:
destroy_email_domain_block: Excluir bloqueio de domínio de e-mail
destroy_instance: Limpar Domínio
destroy_ip_block: Excluir regra de IP
- destroy_status: Excluir Status
- destroy_unavailable_domain: Deletar domínio indisponível
+ destroy_status: Excluir brilho
+ destroy_unavailable_domain: Excluir domínio indisponível
disable_2fa_user: Desativar autenticação de dois fatores
disable_custom_emoji: Desativar Emoji Personalizado
- disable_sign_in_token_auth_user: Desativar autenticação via token por email para Usuário
- disable_user: Desativar usuário
+ disable_sign_in_token_auth_user: Desativar autenticação via token por e-mail para conta
+ disable_user: Desativar conta
enable_custom_emoji: Ativar Emoji Personalizado
- enable_sign_in_token_auth_user: Ativar autenticação via token por email para Usuário
- enable_user: Ativar usuário
+ enable_sign_in_token_auth_user: Ativar autenticação via token por e-mail para conta
+ enable_user: Ativar conta
memorialize_account: Converter conta em memorial
- promote_user: Promover usuário
+ promote_user: Promover conta
reject_appeal: Rejeitar recurso
- reject_user: Rejeitar Usuário
+ reject_user: Rejeitar conta
remove_avatar_user: Remover Avatar
reopen_report: Reabrir Relatório
reset_password_user: Redefinir a senha
@@ -280,13 +280,13 @@ pt-BR:
update_announcement: Editar anúncio
update_custom_emoji: Editar Emoji Personalizado
update_domain_block: Atualizar bloqueio de domínio
- update_status: Editar Status
+ update_status: Editar brilho
actions:
approve_appeal_html: "%{name} aprovou o recurso de decisão de moderação de %{target}"
approve_user_html: "%{name} aprovado inscrição de %{target}"
assigned_to_self_report_html: "%{name} atribuiu o relatório %{target} para si"
- change_email_user_html: "%{name} alterou o endereço de e-mail do usuário %{target}"
- confirm_user_html: "%{name} confirmou o endereço de e-mail do usuário %{target}"
+ change_email_user_html: "%{name} alterou o endereço de e-mail da conta %{target}"
+ confirm_user_html: "%{name} confirmou o endereço de e-mail da conta %{target}"
create_account_warning_html: "%{name} enviou um aviso para %{target}"
create_announcement_html: "%{name} criou o novo anúncio %{target}"
create_custom_emoji_html: "%{name} enviou o novo emoji %{target}"
@@ -295,7 +295,7 @@ pt-BR:
create_email_domain_block_html: "%{name} bloqueou do domínio de e-mail %{target}"
create_ip_block_html: "%{name} criou regra para o IP %{target}"
create_unavailable_domain_html: "%{name} parou a entrega ao domínio %{target}"
- demote_user_html: "%{name} rebaixou o usuário %{target}"
+ demote_user_html: "%{name} rebaixou a conta %{target}"
destroy_announcement_html: "%{name} excluiu o anúncio %{target}"
destroy_custom_emoji_html: "%{name} excluiu emoji %{target}"
destroy_domain_allow_html: "%{name} bloqueou federação com domínio %{target}"
@@ -305,7 +305,7 @@ pt-BR:
destroy_ip_block_html: "%{name} excluiu regra para o IP %{target}"
destroy_status_html: "%{name} excluiu post de %{target}"
destroy_unavailable_domain_html: "%{name} retomou a entrega ao domínio %{target}"
- disable_2fa_user_html: "%{name} desativou a exigência de autenticação de dois fatores para o usuário %{target}"
+ disable_2fa_user_html: "%{name} desativou a exigência de autenticação de dois fatores para a conta %{target}"
disable_custom_emoji_html: "%{name} desativou o emoji %{target}"
disable_sign_in_token_auth_user_html: "%{name} desativou a autenticação via token por email para %{target}"
disable_user_html: "%{name} desativou o login para %{target}"
@@ -313,7 +313,7 @@ pt-BR:
enable_sign_in_token_auth_user_html: "%{name} ativou a autenticação via token por email para %{target}"
enable_user_html: "%{name} ativou o login para %{target}"
memorialize_account_html: "%{name} transformou a conta de %{target} em um memorial"
- promote_user_html: "%{name} promoveu o usuário %{target}"
+ promote_user_html: "%{name} promoveu a conta %{target}"
reject_appeal_html: "%{name} rejeitou recurso de decisão de moderação de %{target}"
reject_user_html: "%{name} rejeitou a inscrição de %{target}"
remove_avatar_user_html: "%{name} removeu a imagem de perfil de %{target}"
@@ -335,7 +335,7 @@ pt-BR:
deleted_status: "(status excluído)"
empty: Nenhum registro encontrado.
filter_by_action: Filtrar por ação
- filter_by_user: Filtrar por usuário
+ filter_by_user: Filtrar por conta
title: Auditar histórico
announcements:
destroyed_msg: Anúncio excluído com sucesso!
@@ -359,7 +359,7 @@ pt-BR:
by_domain: Domínio
copied_msg: Cópia local do emoji criada com sucesso
copy: Copiar
- copy_failed_msg: Não foi possível criar cópia local do emoji
+ copy_failed_msg: Não foi possível criar uma cópia local deste emoji
create_new_category: Criar nova categoria
created_msg: Emoji criado com sucesso!
delete: Excluir
@@ -383,15 +383,15 @@ pt-BR:
title: Emojis personalizados
uncategorized: Não categorizado
unlist: Não listar
- unlisted: Não-listado
+ unlisted: Não listado
update_failed_msg: Não foi possível atualizar esse emoji
updated_msg: Emoji atualizado com sucesso!
upload: Enviar
dashboard:
- active_users: usuários ativos
+ active_users: usuáries atives
interactions: interações
media_storage: Armazenamento de mídia
- new_users: novos usuários
+ new_users: usuáries noves
opened_reports: denúncias abertas
pending_appeals_html:
one: "%{count} recurso pendente"
@@ -403,8 +403,8 @@ pt-BR:
one: "%{count} hashtag pendente"
other: "%{count} hashtags pendentes"
pending_users_html:
- one: "%{count} usuário pendente"
- other: "%{count} usuários pendentes"
+ one: "%{count} conta pendente"
+ other: "%{count} contas pendentes"
resolved_reports: denúncias solucionadas
software: Software
sources: Origem das inscrições
@@ -416,24 +416,24 @@ pt-BR:
disputes:
appeals:
empty: Nenhum recurso encontrado.
- title: Apelações
+ title: Recursos
domain_allows:
add_new: Permitir domínio
created_msg: Domínio foi permitido
destroyed_msg: Domínio foi bloqueado
undo: Bloquear
domain_blocks:
- add_new: Adicionar novo bloqueio de domínio
- created_msg: Domínio está sendo bloqueado
- destroyed_msg: Domínio desbloqueado
+ add_new: Adicionar novo bloqueio
+ created_msg: Bloqueio de domínio está sendo processado
+ destroyed_msg: Bloqueio de domínio desfeito
domain: Domínio
edit: Editar bloqueio de domínio
existing_domain_block_html: Você já impôs limites mais estritos em %{name}, você precisa desbloqueá-lo primeiro.
new:
create: Criar bloqueio
- hint: O bloqueio de domínio não vai prevenir a criação de entradas de contas na base de dados, mas vai retroativamente e automaticamente aplicar métodos específicos de moderação nessas contas.
+ hint: O bloqueio de domínio não prevenirá a criação de entradas de contas na base de dados, mas vai reatroativamente e automaticamente aplicar métodos específicos de moderação nestas contas.
severity:
- desc_html: "Silenciar vai fazer os posts da conta invisíveis para qualquer um que não os esteja seguindo. Suspender vai remover todo o conteúdo, mídia, e dados de perfil da conta. Use Nenhum se você só quer rejeitar arquivos de mídia."
+ desc_html: "Silenciar vai fazer os brilhos da conta invisíveis para qualquer ume que não esteja acompanhando. Banir vai remover todo o conteúdo, mídia, e dados de perfil da conta. Use Nenhum se você só quer rejeitar arquivos de mídia."
noop: Nenhum
silence: Silenciar
suspend: Banir
@@ -441,11 +441,11 @@ pt-BR:
obfuscate: Ofuscar nome de domínio
obfuscate_hint: Ofuscar parcialmente o domínio na lista se a exibição da lista de domínios limitados estiver habilitada
private_comment: Comentário privado
- private_comment_hint: Comente sobre essa restrição ao domínio para uso interno dos moderadores.
+ private_comment_hint: Comente sobre essa restrição ao domínio para uso interno da moderação.
public_comment: Comentário público
public_comment_hint: Comente sobre essa restrição ao domínio para o público geral, caso a divulgação da lista de bloqueio esteja ativada.
reject_media: Rejeitar arquivos de mídia
- reject_media_hint: Remove arquivos de mídia armazenados localmente e recusa fazer download de qualquer um no futuro. Irrelevante para suspensões
+ reject_media_hint: Remove arquivos de mídia armazenados localmente e recusa quaisquer outros no futuro. Irrelevante para suspensões
reject_reports: Rejeitar denúncias
reject_reports_hint: Ignora todas as denúncias vindo deste domínio. Irrelevante para suspensões
undo: Desfazer bloqueio de domínio
@@ -453,9 +453,9 @@ pt-BR:
email_domain_blocks:
add_new: Adicionar novo
attempts_over_week:
- one: "%{count} tentativa na última semana"
+ one: "%{count} tentativa de inscrição na última semana"
other: "%{count} tentativas de inscrição na última semana"
- created_msg: Domínio de e-mail adicionado à lista negra com sucesso
+ created_msg: Domínio de e-mail bloqueado com sucesso
delete: Excluir
dns:
types:
@@ -464,17 +464,17 @@ pt-BR:
new:
create: Adicionar domínio
resolve: Resolver domínio
- title: Nova entrada de lista negra de e-mail
+ title: Novo bloqueio de domínio de e-mail
no_email_domain_block_selected: Nenhum bloco de domínio de e-mail foi alterado, pois nenhum foi selecionado
resolved_dns_records_hint_html: O nome de domínio resolve os seguintes domínios MX, que são responsáveis finais por aceitar o e-mail. Bloquear um domínio MX bloqueará inscrições de qualquer endereço de e-mail que use o mesmo domínio MX, mesmo que o nome de domínio visível seja diferente. Cuidado para não bloquear os principais provedores de e-mail.
resolved_through_html: Resolvido através de %{domain}
- title: Lista de negra de e-mail
+ title: E-mails bloqueados
follow_recommendations:
- description_html: "A recomendação de contas ajuda os novos usuários a encontrar rapidamente conteúdo interessante. Quando um usuário ainda não tiver interagido o suficiente para gerar recomendações de contas, essas contas serão recomendadas. Essas recomendações são recalculadas diariamente a partir de uma lista de contas com alto engajamento e maior número de seguidores locais em uma dada língua."
+ description_html: "A recomendação de contas ajuda noves usuáries a encontrar rapidamente conteúdo interessante. Quando ume usuárie ainda não tiver interagido o suficiente para gerar recomendações de contas, essas contas serão recomendadas. Essas recomendações são recalculadas diariamente a partir de uma lista de contas com alto engajamento e maior número de acompanhamentos locais em uma dada língua."
language: Na língua
status: Situação
suppress: Remover recomendação de contas
- suppressed: Removida
+ suppressed: Removidas
title: Recomendações de contas
unsuppress: Restaurar recomendação de contas
instances:
@@ -515,7 +515,7 @@ pt-BR:
instance_reports_measure: relatórios sobre eles
instance_statuses_measure: publicações armazenadas
delivery:
- all: Todos
+ all: Todas
clear: Limpar erros de entrega
failing: Falhando
restart: Reiniciar a entrega
@@ -530,26 +530,26 @@ pt-BR:
one: "%{count} conta conhecida"
other: "%{count} contas conhecidas"
moderation:
- all: Todos
- limited: Limitados
+ all: Todas
+ limited: Limitadas
title: Moderação
private_comment: Comentário privado
public_comment: Comentário público
purge: Limpar
purge_description_html: Se você acredita que este domínio está offline definitivamente, você pode excluir todos os registros de conta e dados associados deste domínio do seu armazenamento. Isso pode demorar um pouco.
title: Federação
- total_blocked_by_us: Bloqueado por nós
- total_followed_by_them: Seguidos por eles
- total_followed_by_us: Seguidos por nós
- total_reported: Denúncias sobre eles
+ total_blocked_by_us: Bloqueadas por nós
+ total_followed_by_them: Seguidas por elus
+ total_followed_by_us: Seguidas por nós
+ total_reported: Denúncias sobre elus
total_storage: Mídias anexadas
totals_time_period_hint_html: Os totais exibidos abaixo incluem dados para todo o tempo.
invites:
deactivate_all: Desativar todos
filter:
all: Todos
- available: Disponível
- expired: Expirado
+ available: Disponíveis
+ expired: Expirados
title: Filtro
title: Convites
ip_blocks:
@@ -572,13 +572,13 @@ pt-BR:
relays:
add_new: Adicionar novo repetidor
delete: Excluir
- description_html: Um repetidor de federação é um servidor intermediário que troca um grande volume de toots públicos entre instâncias que se inscrevem e publicam nele. O repetidor pode ser usado para ajudar instâncias pequenas e médias a descobrir conteúdo pelo fediverso, que normalmente precisariam que usuários locais manualmente seguissem outras pessoas em instâncias remotas.
+ description_html: Um repetidor de federação é um servidor intermediário que troca um grande volume de brilhos públicos entre servidores que se inscrevem e publicam nele. O repetidor pode ser usado para ajudar servidores pequenos e médios a descobrir conteúdo do fediverso, que normalmente precisariam que usuáries locais manualmente acompanhassem contas em servidores remotos.
disable: Desativar
disabled: Desativado
enable: Ativar
- enable_hint: Uma vez ativado, sua instância se inscreverá para receber todos os toots públicos desse repetidor; E vai começar a enviar todos os toots públicos desta instância para o repetidor.
+ enable_hint: Uma vez habilitado, seu servidor vai se inscrever para receber todos os brilhos públicos desse repetidor; e vai começar a enviar todos os brilhos públicos desse servidor para o repetidor.
enabled: Ativado
- inbox_url: Link do repetidor
+ inbox_url: URL do repetidor
pending: Esperando pela aprovação do repetidor
save_and_enable: Salvar e ativar
setup: Configurar uma conexão de repetidor
@@ -594,28 +594,28 @@ pt-BR:
notes:
one: "%{count} nota"
other: "%{count} notas"
- action_log: Logs de auditoria
- action_taken_by: Atitude tomada por
+ action_log: Registros de ações
+ action_taken_by: Ação realizada por
actions:
other_description_html: Veja mais opções para controlar o comportamento da conta e personalizar a comunicação com a conta reportada.
- silence_description_html: O perfil será visível apenas para aqueles que já o seguem ou que o procuram manualmente, limitando severamente seu alcance. Pode ser sempre revertido.
- suspend_description_html: O perfil e todo o seu conteúdo ficarão inacessíveis até que seja eventualmente excluído. Interagir com a conta será impossível. Reversível dentro de 30 dias.
+ silence_description_html: A conta será visível apenas para aquelus que já a acompanham ou que a procuram manualmente, limitando severamente seu alcance. A ação pode ser sempre revertida.
+ suspend_description_html: A conta e todo o seu conteúdo ficarão inacessíveis até que sejam excluídes eventualmente. Interagir com a conta será impossível. Reversível dentro de 30 dias.
add_to_report: Adicionar mais ao relatório
are_you_sure: Você tem certeza?
- assign_to_self: Pegar
- assigned: Moderador responsável
+ assign_to_self: Designar para mim
+ assigned: Moderadore designade
by_target_domain: Domínio da conta denunciada
category: Categoria
- category_description_html: O motivo pelo qual esta conta e/ou conteúdo foi reportado será citado na comunicação com a conta reportada
+ category_description_html: O motivo pelo qual esta conta e/ou conteúdo foi denunciade será citado na comunicação com a conta reportada
comment:
none: Nenhum
comment_description_html: 'Para fornecer mais informações, %{name} escreveu:'
- created_at: Denunciado
+ created_at: Denunciade
delete_and_resolve: Excluir mensagens
- forwarded: Encaminhados
- forwarded_to: Encaminhado para %{domain}
- mark_as_resolved: Marcar como resolvido
- mark_as_unresolved: Marcar como não resolvido
+ forwarded: Encaminhadas
+ forwarded_to: Encaminhada para %{domain}
+ mark_as_resolved: Marcar como resolvida
+ mark_as_unresolved: Marcar como não resolvida
no_one_assigned: Ninguém
notes:
create: Adicionar nota
@@ -624,23 +624,23 @@ pt-BR:
delete: Excluir
placeholder: Descreva que ações foram tomadas, ou quaisquer outras atualizações relacionadas…
title: Notas
- notes_description_html: Visualize e deixe anotações para outros moderadores e para o seu "eu" do futuro
+ notes_description_html: Visualize e deixe anotações para o resto da equipe e para sua versão futura
quick_actions_description_html: 'Tome uma ação rápida ou role para baixo para ver o conteúdo relatado:'
reopen: Reabrir denúncia
report: 'Denúncia #%{id}'
reported_account: Conta denunciada
reported_by: Denunciada por
- resolved: Resolvido
+ resolved: Resolvida
resolved_msg: Denúncia resolvida com sucesso!
skip_to_actions: Pular para ações
status: Situação
statuses: Conteúdo denunciado
- statuses_description_html: Conteúdo Ofensivo será citado em comunicação com a conta relatada
- target_origin: Origem da conta relatada
+ statuses_description_html: Conteúdo ofensivo será citado em comunicação com a conta denunciada
+ target_origin: Origem da conta denunciada
title: Denúncias
unassign: Largar
- unresolved: Não resolvido
- updated_at: Atualizado
+ unresolved: Não resolvida
+ updated_at: Atualizada
view_profile: Ver perfil
rules:
add_new: Adicionar regra
@@ -651,66 +651,66 @@ pt-BR:
title: Regras do servidor
settings:
activity_api_enabled:
- desc_html: Contagem de toots locais, usuários ativos e novos usuários semanalmente
- title: Publicar estatísticas agregadas sobre atividade de usuários
+ desc_html: Contagem de brilhos locais, usuáries atives e novos cadastros filtrados semanalmente
+ title: Publicar estatísticas agregadas sobre atividade de usuáries
bootstrap_timeline_accounts:
- desc_html: Separe nomes de usuário através de vírgulas. Funciona apenas com contas locais e destrancadas. O padrão quando vazio são todos os administradores locais.
- title: Usuários a serem seguidos por padrão por novas contas
+ desc_html: Separe os nomes das contas através de vírgulas. Funciona apenas com contas locais e destrancadas. O padrão quando vazio são todes es administradories locais.
+ title: Usuáries a serem seguides por padrão por novas contas
contact_information:
email: E-mail
- username: Usuário de contato
+ username: Contate usuárie
custom_css:
- desc_html: Alterar o visual com CSS carregado em todas as páginas
+ desc_html: Modificar o visual com CSS carregado em todas as páginas
title: CSS personalizado
default_noindex:
- desc_html: Afeta qualquer usuário que não tenha alterado esta configuração manualmente
- title: Optar por excluir usuários da indexação de mecanismos de pesquisa por padrão
+ desc_html: Afeta qualquer usuárie que não tenha alterado esta configuração manualmente
+ title: Optar por excluir usuáries da indexação de mecanismos de pesquisa por padrão
domain_blocks:
- all: Para todos
+ all: Para todes
disabled: Para ninguém
title: Mostrar domínios bloqueados
- users: Para usuários locais logados
+ users: Para usuáries locais logades
domain_blocks_rationale:
title: Mostrar motivo
hero:
- desc_html: Aparece na página inicial. Recomendado ao menos 600x100px. Se não estiver definido, a miniatura da instância é usada no lugar
+ desc_html: Aparece na página inicial. Recomenda-se ao menos 600x100px. Se não estiver definida, a miniatura da instância é usada no lugar
title: Imagem de capa
mascot:
- desc_html: Mostrado em diversas páginas. Recomendado ao menos 293×205px. Quando não está definido, o mascote padrão é mostrado
- title: Imagem do mascote
+ desc_html: Mostrada em diversas páginas. Recomenda-se ao menos 293×205px. Quando não está definida, mascote padrão é mostrade
+ title: Imagem de mascote
peers_api_enabled:
desc_html: Nomes de domínio que essa instância encontrou no fediverso
title: Publicar lista de instâncias descobertas
preview_sensitive_media:
- desc_html: A prévia do link em outros sites vai incluir uma miniatura mesmo se a mídia estiver marcada como sensível
- title: Mostrar mídia sensível em prévias OpenGraph
+ desc_html: A pré-visualização do link em outros sites vai incluir uma miniatura mesmo se a mídia estiver marcada como sensível
+ title: Mostrar mídia sensível em pré-visualizações OpenGraph
profile_directory:
- desc_html: Permitir que usuários possam ser descobertos
+ desc_html: Permitir que usuáries possam ser descobertes
title: Ativar diretório de perfis
registrations:
closed_message:
- desc_html: Mostrado na página inicial quando a instância está fechada. Você pode usar tags HTML
- title: Mensagem de instância fechada
+ desc_html: Mostrada na página inicial quando cadastros estão fechados. Você pode usar tags HTML
+ title: Mensagem de cadastros fechados
deletion:
- desc_html: Permitir que qualquer um exclua a própria conta
+ desc_html: Permitir que qualquer ume exclua a própria conta
title: Exclusão aberta de contas
min_invite_role:
disabled: Ninguém
title: Permitir convites de
require_invite_text:
desc_html: Quando o cadastro de novas contas exigir aprovação manual, tornar obrigatório, ao invés de opcional, o texto de solicitação de convite em "Por que você deseja criar uma conta aqui?"
- title: Exigir que novos usuários preencham um texto de solicitação de convite
+ title: Exigir que noves usuáries preencham um texto de solicitação de convite
registrations_mode:
modes:
approved: Aprovação necessária para criar conta
none: Ninguém pode criar conta
- open: Qualquer um pode criar conta
- title: Modo de novos usuários
+ open: Qualquer ume pode criar conta
+ title: Noves usuáries?
show_known_fediverse_at_about_page:
- desc_html: Quando ativado, mostra toots globais na prévia da linha, se não, mostra somente toots locais
- title: Mostrar toots globais na prévia da linha
+ desc_html: Quando ligado, vai mostrar brilhos de todo o fediverso conhecido na prévia da linha do tempo. Senão, mostra somente brilhos locais.
+ title: Mostrar brilhos de todo o fediverso na prévia da linha do tempo
show_staff_badge:
- desc_html: Mostrar uma insígnia de Equipe na página de usuário
+ desc_html: Mostrar insígnias de equipe nas páginas de usuáries
title: Mostrar insígnia de equipe
site_description:
desc_html: Parágrafo introdutório na página inicial. Descreva o que faz esse servidor especial, e qualquer outra coisa de importante. Você pode usar tags HTML, em especial <a> e <em>.
@@ -719,28 +719,28 @@ pt-BR:
desc_html: Um ótimo lugar para seu código de conduta, regras, diretrizes e outras coisas para diferenciar a sua instância. Você pode usar tags HTML
title: Informação estendida personalizada
site_short_description:
- desc_html: Mostrada na barra lateral e em etiquetas de metadados. Descreve o que é o Mastodon e o que torna esta instância especial num único parágrafo. Se deixada em branco, é substituído pela descrição da instância.
+ desc_html: Mostrada na barra lateral e em etiquetas de metadados. Descreve o que é o Mastodon e o que torna esta instância especial num único parágrafo. Se deixada em branco, é substituída pela descrição da instância.
title: Descrição curta da instância
site_terms:
- desc_html: Você pode escrever a sua própria Política de Privacidade, Termos de Serviço, entre outras coisas. Você pode usar tags HTML
+ desc_html: Você pode escrever a sua própria política de privacidade, termos de serviço, entre outras coisas. Você pode usar tags HTML
title: Termos de serviço personalizados
site_title: Nome da instância
thumbnail:
desc_html: Usada para prévias via OpenGraph e API. Recomenda-se 1200x630px
title: Miniatura da instância
timeline_preview:
- desc_html: Mostra a linha do tempo pública na página inicial e permite acesso da API à mesma sem autenticação
+ desc_html: Exibir a linha do tempo pública na página inicial e permite acesso da API à mesma sem autenticação
title: Permitir acesso não autenticado à linha pública
title: Configurações do site
trendable_by_default:
- desc_html: Afeta as hashtags que não foram reprovadas anteriormente
+ desc_html: Afeta as hashtags que não foram proibidas anteriormente
title: Permitir que hashtags fiquem em alta sem revisão prévia
trends:
desc_html: Mostrar publicamente hashtags previamente revisadas que estão em alta
title: Hashtags em alta
site_uploads:
delete: Excluir arquivo enviado
- destroyed_msg: Upload do site excluído com sucesso!
+ destroyed_msg: Item excluído com sucesso!
statuses:
back_to_account: Voltar para página da conta
back_to_report: Voltar às denúncias
@@ -749,39 +749,39 @@ pt-BR:
deleted: Excluídos
media:
title: Mídia
- no_status_selected: Nenhum status foi modificado porque nenhum estava selecionado
- title: Toots da conta
+ no_status_selected: Nenhum brilho foi modificado porque nenhum estava selecionado
+ title: Brilhos da conta
with_media: Com mídia
system_checks:
database_schema_check:
message_html: Existem migrações de banco de dados pendentes. Por favor, execute-as para garantir que o aplicativo se comporte como esperado
rules_check:
action: Gerenciar regras do servidor
- message_html: Você não definiu nenhuma regra de servidor.
+ message_html: Você não definiu nenhuma regra do servidor.
tags:
review: Status da revisão
updated_msg: Configurações de hashtag atualizadas com sucesso
title: Administração
trends:
allow: Permitir
- approved: Aprovado
+ approved: Aprovada
disallow: Anular
links:
allow: Permitir link
- allow_provider: Permitir editor
+ allow_provider: Permitir fonte
disallow: Proibir link
- disallow_provider: Anular editor
- title: Em alta no momento
- usage_comparison: Compartilhado %{today} vezes hoje, em comparação com %{yesterday} de ontem
+ disallow_provider: Anular fonte
+ title: Links em alta
+ usage_comparison: Compartilharam %{today} vezes hoje, em comparação com %{yesterday} de ontem
pending_review: Revisão pendente
preview_card_providers:
- allowed: Links deste editor podem tender
- rejected: Links deste editor não vão tender
- title: Editor
- rejected: Rejeitado
+ allowed: Links desta fonte podem ficar em alta
+ rejected: Links desta fonte não vão ficar em alta
+ title: Fontes
+ rejected: Rejeitada
statuses:
allow: Permitir postagem
- allow_account: Permitir autor
+ allow_account: Permitir autoria
title: Publicações em alta
tags:
current_score: Pontuação atual %{score}
@@ -790,30 +790,30 @@ pt-BR:
tag_languages_dimension: Idiomas principais
tag_servers_dimension: Servidores mais populares
tag_servers_measure: servidores diferentes
- listable: Pode ser sugerido
- not_listable: Não será sugerido
+ listable: Pode ser sugerida
+ not_listable: Não será sugerida
not_trendable: Não aparecerá em alta
- not_usable: Não pode ser usado
+ not_usable: Não pode ser usada
title: Hashtags em alta
trendable: Aparecerá em alta
- trending_rank: 'Em alta #%{rank}'
- usable: Pode ser usado
- usage_comparison: Usado %{today} vezes hoje, em comparação com %{yesterday} de ontem
+ trending_rank: 'Em alta como #%{rank}'
+ usable: Pode ser usada
+ usage_comparison: Usada %{today} vezes hoje, em comparação com %{yesterday} de ontem
title: Em alta
warning_presets:
- add_new: Adicionar novo
+ add_new: Adicionar nova
delete: Excluir
- edit_preset: Editar o aviso pré-definido
- empty: Você ainda não definiu nenhuma predefinição de alerta.
- title: Gerenciar os avisos pré-definidos
+ edit_preset: Editar a denúncia pré-definida
+ empty: Você ainda não definiu nenhuma predefinição de denúncia.
+ title: Gerenciar denúncias pré-definidas
admin_mailer:
new_pending_account:
body: Os detalhes da nova conta estão abaixo. Você pode aprovar ou vetar.
subject: Nova conta para revisão em %{instance} (%{username})
new_report:
body: "%{reporter} denunciou %{target}"
- body_remote: Alguém da instância %{domain} reportou %{target}
- subject: Nova denúncia sobre %{instance} (#%{id})
+ body_remote: Alguém da instância %{domain} denunciou %{target}
+ subject: Nova denúncia em %{instance} (#%{id})
new_trends:
new_trending_statuses:
title: Publicações em alta
@@ -823,12 +823,12 @@ pt-BR:
title: Hashtags em alta
subject: Novas tendências para revisão em %{instance}
aliases:
- add_new: Criar alias
- created_msg: Um novo alias foi criado com sucesso. Agora você pode iniciar a mudança da conta antiga.
- deleted_msg: Alias removido com sucesso. Não será mais possível se mudar daquela conta para esta conta.
- empty: Você não tem alias.
- hint_html: Se você quiser migrar de uma outra conta para esta, você pode criar um alias aqui, o que é necessário antes que você possa migrar os seguidores da conta antiga para esta. Esta ação por si só é inofensiva e reversível. A migração da conta é iniciada pela conta antiga.
- remove: Desvincular alias
+ add_new: Vincular conta
+ created_msg: Um novo vínculo foi criado com sucesso. Agora você pode iniciar a mudança da conta antiga.
+ deleted_msg: Conta vinculada removida com sucesso. Não será mais possível se mudar daquela conta para esta conta.
+ empty: Nenhuma conta vinculada.
+ hint_html: Se você quiser migrar de uma outra conta para esta, você pode vincular uma conta aqui, o que é necessário antes que você possa migrar quem acompanhava sua conta antiga para esta. Esta ação por si só é inofensiva e reversível. A migração da conta é iniciada pela conta antiga.
+ remove: Desvincular conta
appearance:
advanced_web_interface: Interface avançada de colunas
advanced_web_interface_hint: 'Se você deseja usar toda a sua largura de tela, a interface avançada permite que você configure muitas colunas diferentes para ver tantas informações ao mesmo tempo quanto você deseja: Página inicial, notificações, linha local, linha global, qualquer número de listas e hashtags.'
@@ -836,37 +836,38 @@ pt-BR:
confirmation_dialogs: Diálogos de confirmação
discovery: Descobrir
localization:
- body: Mastodon é traduzido por voluntários.
+ body: Mastodon é traduzido por voluntáries.
guide_link: https://br.crowdin.com/project/mastodon
- guide_link_text: Todos podem contribuir.
+ guide_link_text: Todes podem contribuir.
sensitive_content: Conteúdo sensível
- toot_layout: Layout do Toot
+ toot_layout: Layout do Brilho
application_mailer:
notification_preferences: Alterar preferências de e-mail
salutation: "%{name},"
settings: 'Alterar e-mail de preferência: %{link}'
view: 'Ver:'
view_profile: Ver perfil
- view_status: Ver toot
+ view_status: Ver brilho
applications:
- created: Aplicativo criado com sucesso
- destroyed: Aplicativo excluído com sucesso
- invalid_url: O link fornecido é inválido
+ created: Aplicação criada com sucesso
+ destroyed: Aplicação excluída com sucesso
+ invalid_url: A URL provida é inválida
regenerate_token: Gerar código de acesso
token_regenerated: Código de acesso gerado com sucesso
warning: Tenha cuidado com estes dados. Nunca compartilhe com alguém!
- your_token: Seu código de acesso
+ your_token: Seu código/token de acesso
auth:
apply_for_account: Solicitar convite
change_password: Senha
- checkbox_agreement_html: Concordo com as regras da instância e com os termos de serviço
- checkbox_agreement_without_rules_html: Concordo com os termos do serviço
+ checkbox_agreement_html: Concordo com as regras de colorid.es e com os termos de serviço
+ checkbox_agreement_without_rules_html: Concordo com os termos de serviço
+ advanced_layout: Habilitar layout avançado de múltiplas colunas (você pode habilitar isto tarde)
delete_account: Excluir conta
- delete_account_html: Se você deseja excluir sua conta, você pode fazer isso aqui. Uma confirmação será solicitada.
+ delete_account_html: Se você deseja excluir a sua conta, você pode fazer isso aqui. Uma confirmação será requisitada.
description:
- prefix_invited_by_user: "@%{name} convidou você para entrar nesta instância Mastodon!"
- prefix_sign_up: Crie uma conta no Mastodon hoje!
- suffix: Com uma conta, você poderá seguir pessoas, postar atualizações, trocar mensagens com usuários de qualquer instância Mastodon e muito mais!
+ prefix_invited_by_user: "@%{name} convidou você para entrar em colorid.es!"
+ prefix_sign_up: Crie uma conta em colorid.es hoje!
+ suffix: Com uma conta, você poderá seguir pessoas, postar atualizações, trocar mensagens com usuáries de vários servidores Mastodon e muito mais!
didnt_get_confirmation: Não recebeu instruções de confirmação?
dont_have_your_security_key: Não está com a sua chave de segurança?
forgot_password: Esqueceu a sua senha?
@@ -883,7 +884,7 @@ pt-BR:
cas: CAS
saml: SAML
register: Criar conta
- registration_closed: "%{instance} não está aceitando novos membros"
+ registration_closed: "%{instance} não está aceitando novas contas"
resend_confirmation: Reenviar instruções de confirmação
reset_password: Redefinir senha
security: Segurança
@@ -903,17 +904,17 @@ pt-BR:
trouble_logging_in: Problemas para entrar?
use_security_key: Usar chave de segurança
authorize_follow:
- already_following: Você já segue
- already_requested: Você já enviou uma solicitação para seguir esta conta
+ already_following: Você já está acompanhando esta conta
+ already_requested: Você já enviou uma solicitação para acompanhar esta conta
error: Infelizmente, ocorreu um erro ao buscar a conta remota
- follow: Seguir
- follow_request: 'Você mandou solicitação para seguir para:'
- following: 'Sucesso! Você agora está seguindo:'
+ follow: Acompanhar
+ follow_request: 'Você mandou uma solicitação para acompanhar:'
+ following: 'Sucesso! Você agora está acompanhando:'
post_follow:
close: Ou você pode simplesmente fechar esta janela.
- return: Mostrar o perfil do usuário
- web: Voltar à página inicial
- title: Seguir %{acct}
+ return: Exibir o perfil de usuárie
+ web: Voltar para a página inicial
+ title: Acompanhar %{acct}
challenge:
confirm: Continuar
hint_html: "Dica: Não pediremos novamente sua senha pela próxima hora."
@@ -943,25 +944,25 @@ pt-BR:
x_seconds: "%{count}seg"
deletes:
challenge_not_passed: As informações que você inseriu não estão corretas
- confirm_password: Digite a sua senha atual para verificar a sua identidade
- confirm_username: Digite seu nome de usuário para confirmar o procedimento
+ confirm_password: Insira a sua senha atual para verificar a sua identidade
+ confirm_username: Digite o nome de sua conta para confirmar o procedimento
proceed: Excluir conta
success_msg: A sua conta foi excluída com sucesso
warning:
before: 'Antes de prosseguir, por favor leia com cuidado:'
caches: Conteúdo que foi armazenado em cache por outras instâncias pode continuar a existir
- data_removal: Seus toots e outros dados serão removidos permanentemente
+ data_removal: Seus brilhos e outros dados serão removidos permanentemente
email_change_html: Você pode alterar seu endereço de e-mail sem excluir sua conta
email_contact_html: Se você ainda não recebeu, você pode enviar um e-mail pedindo ajuda para %{email}
email_reconfirmation_html: Se você não está recebendo o e-mail de confirmação, você pode solicitá-lo novamente
irreversible: Você não conseguirá restaurar ou reativar a sua conta
more_details_html: Para mais detalhes, consulte a Política de Privacidade.
- username_available: Seu nome de usuário ficará disponível novamente
- username_unavailable: Seu nome de usuário permanecerá indisponível
+ username_available: Seu nome de tela ficará disponível novamente
+ username_unavailable: Seu nome de tela permanecerá indisponível
directories:
directory: Diretório de perfis
- explanation: Descobrir usuários baseado em seus interesses
- explore_mastodon: Explore o %{title}
+ explanation: Descubra usuáries com base em seus interesses
+ explore_mastodon: Explore %{title}
disputes:
strikes:
action_taken: Ações tomadas
@@ -1001,20 +1002,20 @@ pt-BR:
'422':
content: Falha na verificação de segurança. Você está bloqueando cookies?
title: Falha na verificação de segurança
- '429': Muitas solicitações
+ '429': Muitas requisições
'500':
content: Desculpe, algo deu errado por aqui.
title: Esta página não está certa
'503': A página não pôde ser carregada devido a uma falha temporária do servidor.
- noscript_html: Para usar o aplicativo web do Mastodon, por favor ative o JavaScript. Ou, se quiser, experimente um dos aplicativos nativos para o Mastodon em sua plataforma.
+ noscript_html: Para usar colorid.es pelo navegador, por favor ative o JavaScript. Ou, se quiser, experimente um dos aplicativos nativos para o Mastodon em sua plataforma.
existing_username_validator:
- not_found: não foi possível encontrar um usuário local com esse nome de usuário
+ not_found: não foi possível encontrar uma conta local com este nome
not_found_multiple: não foi possível encontrar %{usernames}
exports:
archive_takeout:
date: Data
download: Baixe o seu arquivo
- hint_html: Você pode pedir um arquivo dos seus toots e mídias enviadas. Os dados exportados estarão no formato ActivityPub, que podem ser lidos por qualquer software compatível. Você pode pedir um arquivo a cada 7 dias.
+ hint_html: Você pode pedir um arquivo dos seus brilhos e mídia enviada. Os dados exportados estarão no formato ActivityPub, que podem ser lidos por qualquer software compatível. Você pode pedir um arquivo a cada 7 dias.
in_progress: Preparando o seu arquivo...
request: Solicitar o seu arquivo
size: Tamanho
@@ -1029,33 +1030,33 @@ pt-BR:
add_new: Adicionar hashtag
errors:
limit: Você atingiu o limite de hashtags em destaque
- hint_html: "O que são hashtags em destaque? Elas são mostradas no seu perfil público e permitem que as pessoas acessem seus toots públicos que contenham especificamente essas hashtags. São uma excelente ferramenta para acompanhar os trabalhos criativos ou os projetos de longo prazo."
+ hint_html: "O que são hashtags em destaque? Elas são mostradas no seu perfil público e permitem que as pessoas acessem seus brilhos públicos que contenham especificamente essas hashtags. São uma excelente ferramenta para acompanhar trabalhos criativos ou projetos de longo prazo."
filters:
contexts:
account: Perfis
home: Página inicial
notifications: Notificações
- public: Linhas públicas
+ public: Linhas do tempo públicas
thread: Conversas
edit:
title: Editar filtro
errors:
invalid_context: Contexto inválido ou nenhum contexto informado
- invalid_irreversible: O filtro irreversível só funciona com os contextos página inicial e notificações
+ invalid_irreversible: O filtro irreversível só funciona no contexto de página inicial ou notificações
index:
delete: Remover
empty: Sem filtros.
title: Filtros
new:
- title: Adicionar filtro
+ title: Adicionar novo filtro
footer:
- developers: Desenvolvedores
+ developers: Desenvolvimento
more: Mais…
resources: Recursos
trending_now: Em alta no momento
generic:
all: Tudo
- changes_saved_msg: Alterações foram salvas com sucesso!
+ changes_saved_msg: Mudanças salvas com sucesso!
copy: Copiar
delete: Excluir
none: Nenhum
@@ -1063,8 +1064,8 @@ pt-BR:
save_changes: Salvar alterações
today: hoje
validation_errors:
- one: Algo errado não está certo! Por favor, analise o erro abaixo
- other: Algo errado não está certo! Por favor, analise os %{count} erros abaixo
+ one: Algo não está certo! Por favor, reveja o erro abaixo
+ other: Algo não está certo! Por favor, reveja os %{count} erros abaixo
html_validator:
invalid_markup: 'contém HTML inválido: %{error}'
imports:
@@ -1075,14 +1076,14 @@ pt-BR:
merge_long: Manter os registros existentes e adicionar novos
overwrite: Sobrescrever
overwrite_long: Substituir os registros atuais com os novos
- preface: Você pode importar dados que você exportou de outra instância, como a lista de pessoas que você segue ou bloqueou.
+ preface: Você pode importar dados que você exportou de outra instância, como a lista de pessoas que você acompanha ou bloqueou.
success: Os seus dados foram enviados com sucesso e serão processados em instantes
types:
blocking: Lista de bloqueio
bookmarks: Marcadores
domain_blocking: Lista de domínios bloqueados
- following: Pessoas que você segue
- muting: Lista de silenciados
+ following: Contas que você acompanha
+ muting: Lista de silêncio
upload: Enviar
in_memoriam_html: Em memória.
invites:
@@ -1097,39 +1098,39 @@ pt-BR:
'86400': 1 dia
expires_in_prompt: Nunca
generate: Gerar convite
- invited_by: 'Você recebeu convite de:'
+ invited_by: 'Você recebeu um convite de:'
max_uses:
one: 1 uso
other: "%{count} usos"
max_uses_prompt: Sem limite
- prompt: Gere e compartilhe links para permitir acesso a essa instância
+ prompt: Gerar e compartilhar links com outras pessoas para permitir que façam conta aqui
table:
expires_at: Expira em
uses: Usos
title: Convidar pessoas
lists:
errors:
- limit: Você atingiu o máximo de listas
+ limit: Você atingiu o número máximo de listas
login_activities:
authentication_methods:
otp: autenticação de dois fatores
password: senha
sign_in_token: código de segurança do e-mail
webauthn: chaves de segurança
- description_html: Se você vir atividades suspeitas ou não reconhecidas, considere alterar sua senha e ativar a autenticação de dois fatores.
+ description_html: Se você perceber atividades suspeitas ou não reconhecidas, considere alterar sua senha e ativar a autenticação de dois fatores.
empty: Sem histórico de autenticação disponível
failed_sign_in_html: Falha na tentativa de login com %{method} de %{ip} (%{browser})
successful_sign_in_html: Login bem-sucedido com %{method} de %{ip} (%{browser})
title: Histórico de autenticação
media_attachments:
validations:
- images_and_video: Não foi possível anexar um vídeo a um toot que já contém imagens
+ images_and_video: Não é possível anexar um vídeo a um brilho que já contém imagens
not_ready: Não é possível anexar arquivos que não terminaram de ser processados. Tente novamente daqui a pouco!
- too_many: Não foi possível anexar mais de 4 imagens
+ too_many: Não é possível anexar mais de 4 imagens
migrations:
acct: Mudou-se para
cancel: Cancelar redirecionamento
- cancel_explanation: Cancelar o redirecionamento reativará a sua conta atual, mas não trará de volta os seguidores que não foram migrados para aquela conta.
+ cancel_explanation: Cancelar o redirecionamento reativará a sua conta atual, mas não trará de volta as contas que te acompanhavam que não foram migradas para aquela conta.
cancelled_msg: Redirecionamento cancelado com sucesso.
errors:
already_moved: é a mesma conta que você migrou
@@ -1137,14 +1138,14 @@ pt-BR:
move_to_self: não pode ser a conta atual
not_found: não pôde ser encontrado
on_cooldown: Você está no período de espera
- followers_count: Seguidores no momento da mudança
+ followers_count: Contas te acompanhando no momento da mudança
incoming_migrations: Migrando de outra conta
- incoming_migrations_html: Para mover de outra conta para esta, você precisa criar um alias.
- moved_msg: Agora sua conta está redirecionando para %{acct} e seus seguidores estão sendo movidos.
+ incoming_migrations_html: Para mover de outra conta para esta, você precisa vinculá-la.
+ moved_msg: Agora sua conta está redirecionando para %{acct} e as contas que te acompanhavam estão sendo movidas.
not_redirecting: Sua conta não está redirecionando para nenhuma outra conta atualmente.
on_cooldown: Você migrou recentemente sua conta. Esta função ficará disponível novamente em %{count} dias.
past_migrations: Migrações passadas
- proceed_with_move: Migrar seguidores
+ proceed_with_move: Migrar contas que te acompanham
redirected_msg: Agora sua conta está redirecionando para %{acct}.
redirecting_to: Sua conta está redirecionando para %{acct}.
set_redirect: Definir redirecionamento
@@ -1156,13 +1157,13 @@ pt-BR:
followers: Esta ação moverá todos os seguidores da conta atual para a nova conta
only_redirect_html: Alternativamente, você pode apenas colocar um redirecionamento no seu perfil.
other_data: Nenhum outro dado será movido automaticamente
- redirect: O perfil atual da sua conta será atualizado com um aviso de redirecionamento e também será excluído das pesquisas
+ redirect: O perfil atual da sua conta será atualizado com um aviso de redirecionamento e será excluído de pesquisas
moderation:
title: Moderação
move_handler:
- carry_blocks_over_text: Este usuário mudou de %{acct}, que você havia bloqueado.
- carry_mutes_over_text: Este usuário mudou de %{acct}, que você havia silenciado.
- copy_account_note_text: 'Este usuário saiu de %{acct}, aqui estão suas notas anteriores sobre ele:'
+ carry_blocks_over_text: A conta bloqueada %{acct} mudou-se.
+ carry_mutes_over_text: A conta silenciada %{acct} mudou-se.
+ copy_account_note_text: '%{acct} mudou de conta, aqui estão as notas feitas na conta anterior:'
notification_mailer:
admin:
sign_up:
@@ -1172,25 +1173,25 @@ pt-BR:
body: Aqui está um breve resumo das mensagens que você perdeu desde o seu último acesso em %{since}
mention: "%{name} te mencionou em:"
new_followers_summary:
- one: Você tem um novo seguidor! Uia!
- other: Você tem %{count} novos seguidores! AÊÊÊ!
+ one: Uma conta começou a acompanhar você! Uia!
+ other: "%{count} contas começaram a acompanhar a sua! Andou brilhando bastante, hein?"
subject:
one: "Uma nova notificação desde o seu último acesso 🐘"
other: "%{count} novas notificações desde o seu último acesso 🐘"
title: Enquanto você estava ausente...
favourite:
- body: "%{name} favoritou seu toot:"
- subject: "%{name} favoritou seu toot"
+ body: '%{name} favoritou seu brilho:'
+ subject: "%{name} favoritou seu brilho"
title: Novo favorito
follow:
- body: "%{name} te seguiu!"
- subject: "%{name} te seguiu"
- title: Novo seguidor
+ body: "%{name} está acompanhando sua conta!"
+ subject: "%{name} está acompanhando sua conta"
+ title: Uma conta começou a acompanhar a sua
follow_request:
- action: Gerenciar seguidores pendentes
- body: "%{name} quer te seguir"
- subject: 'Seguidor pendente: %{name}'
- title: Novo seguidor pendente
+ action: Gerenciar solicitações para acompanhar sua conta
+ body: "%{name} quer acompanhar sua conta"
+ subject: 'Pedido de acompanhamento pendente: %{name}'
+ title: Nova solicitação de acompanhamento
mention:
action: Responder
body: "%{name} te mencionou em:"
@@ -1199,11 +1200,11 @@ pt-BR:
poll:
subject: Uma enquete por %{name} terminou
reblog:
- body: "%{name} deu boost no seu toot:"
- subject: "%{name} deu boost no seu toot"
- title: Novo boost
+ body: 'Seu brilho for refletido (compartilhado) por %{name}:'
+ subject: "%{name} refletiu seu brilho:"
+ title: Novo reflexo
status:
- subject: "%{name} acabou de postar"
+ subject: "%{name} acabou de enviar um brilho"
update:
subject: "%{name} editou uma publicação"
notifications:
@@ -1229,9 +1230,9 @@ pt-BR:
setup: Configurar
wrong_code: O código digitado é inválido! O horário do servidor e o horário do dispositivo estão corretos?
pagination:
- newer: Mais novo
- next: Próximo
- older: Mais antigo
+ newer: Mais recente
+ next: Próxima
+ older: Mais antiga
prev: Anterior
truncate: "…"
polls:
@@ -1239,14 +1240,14 @@ pt-BR:
already_voted: Enquete votada
duplicate_options: contém itens duplicados
duration_too_long: é muito longe no futuro
- duration_too_short: é curto demais
+ duration_too_short: é um tempo curto demais
expired: A enquete já terminou
invalid_choice: Opção inválida
over_character_limit: não pode ter mais que %{max} caracteres em cada
too_few_options: deve ter mais que um item
too_many_options: não pode ter mais que %{max} itens
preferences:
- other: Outro
+ other: Outras
posting_defaults: Padrões de publicação
public_timelines: Linhas públicas
reactions:
@@ -1255,51 +1256,51 @@ pt-BR:
unrecognized_emoji: não é um emoji reconhecido
relationships:
activity: Atividade da conta
- dormant: Inativo
- follow_selected_followers: Seguir os seguidores selecionados
- followers: Seguidores
- following: Seguindo
- invited: Convidado
+ dormant: Inativa
+ follow_selected_followers: Acompanhar estas contas que te acompanham
+ followers: Acompanham você
+ following: Acompanhando
+ invited: Convidade
last_active: Última atividade
most_recent: Mais recente
moved: Mudou-se
- mutual: Mútuo
- primary: Primário
+ mutual: Mútua
+ primary: Primária
relationship: Relação
- remove_selected_domains: Remover todos os seguidores dos domínios selecionados
- remove_selected_followers: Remover os seguidores selecionados
- remove_selected_follows: Deixar de seguir usuários selecionados
- status: Status da conta
+ remove_selected_domains: Remover contas que acompanham você dos domínios selecionados
+ remove_selected_followers: Remover contas que acompanham você selecionadas
+ remove_selected_follows: Deixar de acompanhar contas selecionadas
+ status: Tipo da conta
remote_follow:
- acct: Digite o seu usuário@domínio para continuar
- missing_resource: Não foi possível encontrar o link de redirecionamento para sua conta
- no_account_html: Não tem uma conta? Você pode criar uma aqui
- proceed: Continue para seguir
- prompt: 'Você seguirá:'
+ acct: Digite sua conta@domínio a partir da qual você deseja agir
+ missing_resource: Não foi possível encontrar a URL de direcionamento para a sua conta
+ no_account_html: Não tem uma conta? Você pode cadastrar-se aqui
+ proceed: Prosseguir para acompanhar
+ prompt: 'Você irá acompanhar:'
reason_html: "Por que esse passo é necessário?%{instance} pode não ser a instância onde você se hospedou, então precisamos redirecionar você para a sua instância primeiro."
remote_interaction:
favourite:
proceed: Continue para favoritar
- prompt: 'Você favoritará este toot:'
+ prompt: 'Você quer favoritar este brilho:'
reblog:
- proceed: Continue para dar boost
- prompt: 'Você dará boost neste toot:'
+ proceed: Continue para refletir
+ prompt: 'Você refletirá este brilho:'
reply:
proceed: Continue para responder
- prompt: 'Você responderá este toot:'
+ prompt: 'Você responderá a este brilho:'
reports:
errors:
invalid_rules: não faz referência a regras válidas
scheduled_statuses:
- over_daily_limit: Você excedeu o limite de %{limit} toots agendados para esse dia
- over_total_limit: Você excedeu o limite de %{limit} toots agendados
+ over_daily_limit: Você excedeu o limite de %{limit} brilhos agendados para esse dia
+ over_total_limit: Você excedeu o limite de %{limit} brilhos agendados
too_soon: A data agendada precisa ser no futuro
sessions:
activity: Última atividade
browser: Navegador
browsers:
alipay: Alipay
- blackberry: BlackBerry
+ blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1332,17 +1333,17 @@ pt-BR:
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
- revoke: Fechar
- revoke_success: Sessão fechada com sucesso
+ revoke: Revogar
+ revoke_success: Sessão revogada com sucesso
title: Sessões
view_authentication_history: Ver histórico de autenticação da sua conta
settings:
account: Conta
account_settings: Configurações da conta
- aliases: Alias da conta
+ aliases: Conta vinculada
appearance: Aparência
authorized_apps: Aplicativos autorizados
- back: Voltar para o Mastodon
+ back: Voltar para colorid.es
delete: Exclusão de conta
development: Desenvolvimento
edit_profile: Editar perfil
@@ -1354,9 +1355,9 @@ pt-BR:
notifications: Notificações
preferences: Preferências
profile: Perfil
- relationships: Seguindo e seguidores
- statuses_cleanup: Exclusão automatizada de publicações
- strikes: Moderação de ataques
+ relationships: Acompanhamentos
+ statuses_cleanup: Exclusão automatizada
+ strikes: Avisos de moderação
two_factor_authentication: Autenticação de dois fatores
webauthn_authentication: Chaves de segurança
statuses:
@@ -1364,29 +1365,29 @@ pt-BR:
audio:
one: "%{count} áudio"
other: "%{count} áudios"
- description: 'Anexado: %{attached}'
+ description: 'Em anexo: %{attached}'
image:
one: "%{count} imagem"
other: "%{count} imagens"
video:
one: "%{count} vídeo"
other: "%{count} vídeos"
- boosted_from_html: Boost de %{acct_link}
- content_warning: 'Aviso de Conteúdo: %{warning}'
+ boosted_from_html: Refletido de %{acct_link}
+ content_warning: 'Aviso de conteúdo: %{warning}'
default_language: Igual ao idioma da interface
disallowed_hashtags:
one: 'continha hashtag não permitida: %{tags}'
other: 'continha hashtags não permitidas: %{tags}'
edited_at_html: Editado em %{date}
errors:
- in_reply_not_found: O toot que você quer responder parece não existir.
+ in_reply_not_found: O brilho ao qual você quer responder parece não existir.
open_in_web: Abrir no navegador
over_character_limit: limite de caracteres de %{max} excedido
pin_errors:
- direct: Posts visíveis apenas para usuários mencionados não podem ser fixados
- limit: Quantidade máxima de toots excedida
- ownership: Toots dos outros não podem ser fixados
- reblog: Boosts não podem ser fixados
+ direct: Brilhos visíveis apenas para usuáries mencionades não podem ser fixados
+ limit: Você já destacou a quantidade máxima de brilhos
+ ownership: Brilhos de outras contas não podem ser destacados
+ reblog: Reflexos não podem ser destacados
poll:
total_people:
one: "%{count} pessoa"
@@ -1403,33 +1404,35 @@ pt-BR:
title: '%{name}: "%{quote}"'
visibilities:
direct: Direto
- private: Privado
- private_long: Posta apenas para seguidores
+ private: Limitado
+ private_long: Será visto apenas por quem acompanha
public: Público
- public_long: Posta em linhas públicas
- unlisted: Não-listado
- unlisted_long: Não posta em linhas públicas
+ public_long: Todes podem ver
+ unlisted: Não listado
+ unlisted_long: Todes podem ver, porém não aparecerá nas linhas do tempo públicas
+ local: Local
+ local_long: Todes podem ver, e aparece na linha do tempo local sem aparecer na federada
statuses_cleanup:
- enabled: Excluir publicações antigas automaticamente
- enabled_hint: Exclui suas publicações automaticamente assim que elas alcançam sua validade, a não ser que se enquadrem em alguma das exceções abaixo
+ enabled: Excluir brilhos automaticamente
+ enabled_hint: Exclui seus brilhos automaticamente assim que eles alcançam sua validade, a não ser que se enquadrem em alguma das exceções abaixo
exceptions: Exceções
- explanation: Já que a exclusão de publicações é uma operação custosa, ela é feita lentamente quando o servidor não está ocupado. Por isso suas publicações podem ser excluídas algum tempo depois de alcançarem sua validade.
- ignore_favs: Ignorar favoritos
- ignore_reblogs: Ignorar boosts
+ explanation: Já que a exclusão de brilhos é uma operação custosa, ela é feita lentamente quando o servidor não está ocupado. Por isso seus brilhos podem ser excluídos algum tempo depois da validade ser alcançada.
+ ignore_favs: Ignorar brilhos favoritos
+ ignore_reblogs: Ignorar brilhos refletidos
interaction_exceptions: Exceções baseadas nas interações
- interaction_exceptions_explanation: Note que não há garantia de que as publicações sejam excluídas se ficarem abaixo do limite de favoritos ou boosts depois de tê-lo ultrapassado.
+ interaction_exceptions_explanation: Note que não há garantia de que os brilhos sejam excluídos se ficarem abaixo dos limites de brilhos favoritados ou refletidos depois destes terem sido ultrapassados.
keep_direct: Manter mensagens diretas
keep_direct_hint: Não deleta nenhuma de suas mensagens diretas
- keep_media: Manter publicações com mídia
- keep_media_hint: Não exclui nenhuma de suas publicações com mídia
- keep_pinned: Manter publicações fixadas
- keep_pinned_hint: Não exclui nenhuma publicação fixada
+ keep_media: Manter brilhos com mídia
+ keep_media_hint: Não exclui nenhum de seus brilhos com mídia
+ keep_pinned: Manter brilhos destacados
+ keep_pinned_hint: Não exclui nenhum brilho destacado
keep_polls: Manter enquetes
keep_polls_hint: Não exclui nenhuma de suas enquetes
- keep_self_bookmark: Manter publicações que você salvou
- keep_self_bookmark_hint: Não exclui suas próprias publicações se você as tiver salvado
- keep_self_fav: Manter publicações que você favoritou
- keep_self_fav_hint: Não exclui suas próprias publicações se você as tiver favoritado
+ keep_self_bookmark: Manter brilhos que você salvou
+ keep_self_bookmark_hint: Não exclui seus próprios brilhos se você tiver salvado-os
+ keep_self_fav: Manter brilhos que você favoritou
+ keep_self_fav_hint: Não exclui seus próprios brilhos se você tiver favoritado-os
min_age:
'1209600': 2 semanas
'15778476': 6 meses
@@ -1440,103 +1443,118 @@ pt-BR:
'63113904': 2 anos
'7889238': 3 meses
min_age_label: Validade
- min_favs: Manter publicações favoritadas por ao menos
- min_favs_hint: Não exclui publicações que tiverem sido favoritados ao menos essa quantidade de vezes. Deixe em branco para excluir publicações independente da quantidade de favoritos
- min_reblogs: Manter publicações boostadas por ao menos
- min_reblogs_hint: Não exclui publicações que tiverem sido boostadas ao menos essa quantidade de vezes. Deixe em branco para excluir publicações independente da quantidade de boosts
+ min_favs: Manter brilhos favoritados por ao menos
+ min_favs_hint: Não exclui brilhos que tiverem sido favoritados ao menos essa quantidade de vezes. Deixe em branco para excluir brilhos independente da quantidade de favoritos
+ min_reblogs: Manter brilhos refletidos por ao menos
+ min_reblogs_hint: Não exclui brilhos que tiverem sido refletidos ao menos essa quantidade de vezes. Deixe em branco para excluir brilhos independente da quantidade de contas que os refletiram
stream_entries:
- pinned: Toot fixado
- reblogged: deu boost
+ pinned: Brilho destacado
+ reblogged: refletiu
sensitive_content: Conteúdo sensível
tags:
- does_not_match_previous_name: não corresponde ao nome anterior
+ does_not_match_previous_name: não corresponde ao nome anterior
terms:
body_html: |
-
Política de Privacidade
-
Quais dados nós coletamos?
+
Política de privacidade
+
Que informação nós coletamos?
-
Dados básicos de conta: Se você criar conta nesta instância, um nome de usuário, um e-mail e uma senha serão exigidos. Você também pode adicionar dados extras como nome de exibição, biografia, imagem de perfil e capa. Com exceção do e-mail e da senha, os dados citados sempre são públicos.
-
Toots, seguindo e outros dados públicos: A lista de pessoas que você segue e a sua lista de seguidores são públicas. Ao enviar um toot, a data, a hora e o aplicativo usado são armazenados. Toots podem conter mídias anexadas, como áudios, imagens e vídeos. Toots públicos e não-listados são visíveis publicamente. Os toots fixados no seu perfil são públicos. Seus toots são enviados aos seus seguidores, em alguns casos isso significa que os toots são enviados para instâncias diferentes e cópias são armazenadas lá. Quando você exclui toots, essa informação também é enviada aos seus seguidores. O ato de dar boost ou favoritar outro toot é sempre público.
-
Mensagens Diretas e toots privados: Todos os toots são armazenados e processados na instância. Toots privados são enviados aos seus seguidores e aos usuários mencionados neles; Mensagens Diretas (ou toots diretos) são enviadas somente aos usuários mencionados nelas. Em alguns casos isso significa que os toots são enviados para instâncias diferentes e cópias são armazenadas lá. Nós trabalhamos constantemente para limitar o acesso a estes toots somente às pessoas autorizadas, porém outras instâncias podem não fazer o mesmo. Portanto, é importante analisar as instâncias dos seus seguidores. Você pode trancar a conta para aprovar ou vetar novos seguidores manualmente nas configurações. Por favor, tenha em mente que os operadores da instância em que se está e das instâncias receptoras podem ver tais toots, e que os destinatários podem fazer capturas de tela, copiar ou usar outra maneira para compartilhar os toots. Não compartilhe informação confidencial pelo Mastodon.
-
IPs e outros metadados: Ao entrar na sua conta, nós armazenamos o seu endereço de IP e o nome do navegador usado. Todas as sessões abertas estão disponíveis para serem analisadas e revogadas nas configurações. O último endereço de IP usado é armazenado por até 12 meses. Nós também podemos reter históricos da instância que incluem o endereço de IP de todas as conexões à nossa instância.
+
Informação básica da conta: Se você se registrar nesse servidor, vamos pedir que você utilize um nome para a conta, um e-mail e uma senha. Você também pode adicionar informações extras como um nome de exibição e biografia; enviar uma imagem de perfil e imagem de cabeçalho. Nome da conta, nome de exibição, biografia, imagem de perfil e imagem de cabeçalho são informações sempre listadas publicamente.
+
Brilhos (postagens), informação de quem acompanha e outras informações públicas: A lista de pessoas que você acompanha é listada publicamente, o mesmo é verdade para quem te segue. Quando você envia uma mensagem, a data e o horário são armazenades, assim como a aplicação que você usou para enviar a mensagem. Mensagens podem conter mídias anexadas, como imagens e vídeos. Brilhos públicos, locais e não listados estão disponíveis publicamente. Quando você destaca um brilho em seu perfil, isso também é uma informação pública. Seus brilhos são entregues às contas que te acompanham e isso pode significar que eles são enviados para servidores diferentes e cópias são armazenadas em tais servidores. Quando você exclui brilhos, essa informação também é entregue a quem te acompanha. O ato de refletir (compartilhar) ou favoritar um outro brilho é sempre público.
+
Mensagens diretas e brilhos somente para quem te acompanha: Todos os brilhos são armazenados e processados no servidor. Brilhos somente para quem te acompanha são entregues a contas que te acompanham e a usuáries mencionades neles; mensagens diretas são entregues somente aes usuáries mencionades nelas. Em alguns casos, isso significa que as mensagens são entregues para servidores diferentes e cópias são armazenadas nesses servidores. Nós fazemos esforços substanciais para limitar o acesso dessas mensagens somente para as pessoas autorizadas, mas outros servidores podem não fazer o mesmo. É importante portanto revisar os servidores aos quais as contas que te acompanham pertencem. Você pode usar uma opção para aprovar ou rejeitar contas que acompanham a sua manualmente nas configurações. Por favor tenha em mente que a administração do servidor e de quaisquer servidores de destinatáries podem ver tais mensagens, e que es destinatáries podem fazer capturas de tela, copiar ou de outra maneira compartilhar as mensagens. Não compartilhe informação confidencial pelo Mastodon.
+
IPs e outros metadados: Quando você faz uma conta e se autentica (entra/faz login), guardamos o endereço de IP que você usou ao se autenticar e o nome do seu navegador da internet. Todas as sessões autenticadas estão disponíveis para serem analisadas e revogadas nas configurações. O último endereço de IP usado é guardado por até 12 meses. Nós também podemos reter históricos do servidor que incluem o endereço de IP de todas as requisições ao nosso servidor.
Como usamos os seus dados?
-
Todo dado que coletamos pode ser usado das seguintes maneiras:
+
Toda informação que coletamos de você pode ser usada das seguintes maneiras:
-
Para prover a funcionalidade básica do Mastodon. Você só pode interagir com o conteúdo de outras pessoas e postar seu próprio conteúdo usando uma conta. Por exemplo, você pode seguir outras pessoas para ver seus toots na sua própria linha do tempo personalizada.
-
Para auxiliar na moderação da comunidade, por exemplo ao comparar o seu endereço de IP com outros endereços de IP conhecidos para determinar evasão de banimento e outras violações.
-
O endereço de e-mail que você fornecer pode ser usado para te enviar informações, notificações sobre outras pessoas interagindo com o seu conteúdo ou contigo e para responder a questões ou outras solicitações.
+
Para prover a funcionalidade básica do Mastodon. Você só pode interagir com o conteúdo de outras pessoas e postar seu próprio conteúdo estando autenticade. Por exemplo, você pode acompanhar outras pessoas para ver seus brilhos combinados na sua linha do tempo personalizada.
+
Para auxiliar na moderação da comunidade, por exemplo ao comparar o seu endereço de IP com outros endereços de IP conhecidos para determinar evasão de banimento e outras violações.
+
O endereço de e-mail que você prover pode ser usado para lhe enviar informação, notificação sobre outras pessoas interagindo com o seu conteúdo ou lhe enviando mensagens e para responder a questões ou outros pedidos.
-
Como protegemos seus dados?
+
Como protegemos as suas informações?
-
Nós implementamos diversas medidas de segurança para manter suas informações pessoais seguras quando você as acessa ou as envia. Entre outras coisas, sua sessão do navegador, bem como o tráfego entre os aplicativos e a API são asseguradas usando SSL e a sua senha é guardada usando um algoritmo forte de criptografia de mão única. Você pode ativar autenticação em dois fatores como forma de aumentar a segurança no acesso à sua conta.
+
Nós implementamos diversas medidas de segurança para manter a segurança das suas informações pessoais quando você as acessa ou as envia. Entre outras coisas, sua sessão do navegador, bem como o tráfego entre as aplicações e a API são asseguradas usando SSL e a sua senha é guardada usando um algoritmo forte de encriptação de mão única. Você pode ativar autenticação em dois fatores como forma de aumentar a segurança no acesso à sua conta.
Qual é a nossa política de retenção de dados?
-
Nós trabalhamos constantemente para:
+
Nós fazemos esforços substanciais para:
-
Reter o histórico da instância contendo os endereços de IP de todas as conexões a essa instância. O histórico é mantido por não mais que 90 dias.
-
Reter os endereços de IP associados à usuários da instância por não mais que 12 meses.
+
Reter o histórico do servidor contendo os endereços de IP de todas as requisições feitas à esse servidor, e com respeito a quanto tempo esses logs são retidos, não mais que 90 dias.
+
Reter o endereço de IP associado com usuáries registrades não mais que 12 meses.
-
Você pode solicitar e baixar um arquivo de todo o conteúdo da sua conta, incluindo seus toots, suas mídias, imagem de perfil e capa.
+
Você pode pedir e fazer o download de um arquivo de todo o conteúdo da sua conta, incluindo as suas mensagens, suas mídias anexadas, imagem de perfil e imagem de cabeçalho.
-
YVocê pode excluir a sua conta irreversivelmente a qualquer momento.
+
Você pode remover irreversivelmente a sua conta a qualquer momento.
Nós usamos cookies?
-
Sim. Cookies são pequenos arquivos que um site ou serviço baixa através do seu navegador (se você permitir). Esses cookies permitem ao site conhecer seu navegador e, se você tiver uma conta, associá-lo a ela.
+
Sim. Cookies são pequenos arquivos que um site ou serviço transfere ao seu disco rígido do seu computador através do seu navegador da web (se você permitir). Esses cookies permitem ao site conhecer seu navegador e, se você tiver uma conta registrada, associá-lo à sua conta.
-
Nós usamos cookies para salvar suas preferências para futuras visitas.
+
Nós usamos cookies para compreender e salvar suas preferências para visitas futuras.
-
Nós compartilhamos algum dado para terceiros?
+
Nós compartilhamos qualquer informação para terceires?
-
Nós não vendemos, trocamos ou compartilhamos de qualquer maneira dados que possam te identificar à terceiros. Isso não inclui terceiros confiáveis que nos auxiliam a operar o nosso site, realizar nosso serviço ou prestar assistência, contanto que esses terceiros se comprometam a manter essa informação confidencial. Nós podemos também divulgar informação quando acreditamos que é apropriado para obedecer a lei, para fazer cumprir nossas políticas ou proteger os nossos direitos, propriedade ou segurança, ou de outrém.
+
Nós não vendemos, trocamos ou transferimos de qualquer maneira informação que pode lhe identificar à terceires. Isso não inclui terceires que podem nos auxiliar a operar nosso servidor, realizar nosso serviço ou prestar assistência, contanto tais terceires se comprometam a manter essa informação confidencial. Nós também podemos divulgar informação quando acreditamos que é apropriado para obedecer a lei, para fazer cumprir nossas políticas ou proteger nossos direitos, propriedade ou segurança ou o direito, propriedade e segurança de outrém.
-
Seu conteúdo público pode ser acessado por outras instâncias na rede. Seus toots públicos e privados são enviados às instâncias dos seus seguidores e seus toots diretos são enviados às instâncias dos usuários mencionados neles, contanto que esses seguidores ou usuários estejam em uma instância diferente desta.
+
Seu conteúdo público pode ser acessado por outros servidores na rede. Suas mensagens públicas e somente para quem acompanha sua conta são entregues aos servidores onde há contas que acompanham a sua e as suas mensagens diretas são entregues aos servidores des usuáries mencionades nelas, contanto que tais usuáries residam em servidores diferente deste.
-
Quando você autoriza um aplicativo a usar sua conta, dependendo do nível de autorização das permissões que você aprovar, o aplicativo pode acessar seus dados públicos, a lista de usuários que você segue, seus seguidores, suas listas, suas Mensagens Diretas e seus toots favoritos. Aplicativos nunca podem acessar o seu endereço de e-mail ou senha.
+
Quando você autoriza uma aplicação a usar sua conta, dependendo do escopo de permissões que você aprovar, a aplicação pode acessar sua informação pública, a lista de contas que você acompanha, que acompanham sua conta, suas listas, suas mensagens e suas mensagens favoritas. Aplicações nunca podem acessar o seu endereço de e-mail ou senha.
-
Uso desse site por crianças
+
Uso desse site por crianças e adolescentes
-
Se a instância está na UE ou no EEE: Nosso site, produto e serviço são direcionados às pessoas que tem ao menos 16 anos de idade. Se você tem menos de 16 anos, de acordo com os requisitos da RGPD (Regulamento Geral sobre Proteção de Dados) não use este site.
+
Se este servidor está na UE ou no EEE: Nosso site, produto e serviços são direcionados à pessoas que tem ao menos 16 anos de idade. Se você tem menos de 16 anos, de acordo com os requisitos da RGPD (Regulamento Geral sobre a Proteção de Dados) não use este site.
-
Se esta instância está nos EUA: Nosso site, produto e serviço são direcionados às pessoas que tem ao menos 13 anos de idade. Se você tem menos de 13 anos, de acordo com os requerimentos da COPPA (Children's Online Privacy Protection Act) não use este site
+
Se este servidor está hospedado nos EUA: Nosso site, produto e serviços são direcionados à pessoas que tem ao menos 13 anos de idade. Se você tem menos de 13 anos, de acordo com os requerimentos da COPPA (Children's Online Privacy Protection Act) não use este site
-
Os requisitos da lei podem ser diferentes em outra jurisdição.
+
Colorid.es está num servidor estadunidense, mas nosso TLD (.es) é espanhol.
+
+
Além disso, pedimos para que menores de idade não interajam com conteúdo marcado como apenas para maiores de 18 (o qual deverá estar marcado segundo as regras da instância) e que não produzam conteúdo para idades além de sua faixa etária segundo as leis brasileiras. Contas não obedecendo isso serão removidas.
-
Alterações na nossa Política de Privacidade
+
Alterações na nossa nossa política de privacidade
-
Se decidirmos mudar nossa Política de Privacidade, iremos disponibilizar as alterações nesta página.
+
Se decidirmos mudar nossa política de privacidade, nós iremos disponibilizar as mudanças nesta página.
-
CC-BY-SA. Atualizado pela última vez em 7 de março de 2018.
+
Este documento é CC-BY-SA. Sua última alteração substancial ocorreu em 7 de março de 2018.
+ title: "%{instance} Termos de Serviço e Política de Privacidade"
themes:
+ colorwave: Colorwave
contrast: Mastodon (Alto contraste)
- default: Mastodon (Noturno)
+ default: Colorides
mastodon-light: Mastodon (Diurno)
+ mastodon: Mastodon (Noturno)
+ purple-haze: Purple Haze
+ win95: Windows 95
+ meemu-purple: Meemu Roxo
+ meemu-vaporwave: Meemu Vaporwave
+ flamingo: Flamingo
+ sediroloc: Sediroloc
+ sunset: Pôr-do-sol
+ rosaceae: Rosaceae
+ quartzo: Quartzo
+ teal: Linha 10
+ terminal: Terminal (trabalho em progresso)
time:
formats:
default: "%H:%M em %d de %b de %Y"
@@ -1586,35 +1604,35 @@ pt-BR:
violation: O conteúdo viola as seguintes diretrizes da comunidade
explanation:
disable: Você não poderá mais usar a sua conta, mas o seu perfil e outros dados permanecem intactos. Você pode solicitar um backup dos seus dados, mudar as configurações ou excluir sua conta.
- sensitive: A partir de agora, todos os seus arquivos de mídia enviados serão marcados como confidenciais e escondidos por trás de um aviso de clique.
+ sensitive: A partir de agora, todos os seus arquivos de mídia enviados serão marcados como sensíveis e escondidos por trás de um aviso de clique.
reason: 'Motivo:'
subject:
- disable: Sua conta %{acct} foi bloqueada
+ disable: Sua conta %{acct} foi congelada
none: Aviso para %{acct}
silence: Sua conta %{acct} foi silenciada
suspend: Sua conta %{acct} foi banida
title:
- delete_statuses: Publicações removidas
- disable: Conta bloqueada
- mark_statuses_as_sensitive: Postagens marcadas como sensíveis
+ delete_statuses: Brilhos removidos
+ disable: Conta congelada
+ mark_statuses_as_sensitive: Brilhos marcados como sensíveis
none: Aviso
silence: Conta silenciada
suspend: Conta banida
welcome:
edit_profile_action: Configurar perfil
- edit_profile_step: Você pode personalizar o seu perfil enviando um avatar, uma capa, alterando seu nome de exibição e etc. Se você preferir aprovar seus novos seguidores antes de eles te seguirem, você pode trancar a sua conta.
+ edit_profile_step: Você pode personalizar o seu perfil enviando um avatar, uma imagem de cabeçalho, alterando seu nome de exibição e etc (não se esqueça de colocar créditos nas imagens). Se você gostaria de revisar contas antes que elas possam acompanhar a sua, você pode trancar sua conta.
explanation: Aqui estão algumas dicas para você começar
- final_action: Comece a tootar
- final_step: 'Comece a tootar! Mesmo sem seguidores, suas mensagens públicas podem ser vistas pelos outros, por exemplo, na linha local e nas hashtags. Você pode querer fazer uma introdução usando a hashtag #introdução, ou em inglês usando a hashtag #introductions.'
- full_handle: Seu nome de usuário completo
- full_handle_hint: Isso é o que você compartilha com aos seus amigos para que eles possam te mandar toots ou te seguir a partir de outra instância.
+ final_action: Comece a brilhar
+ final_step: 'Comece a brilhar (postar)! Mesmo que nenhuma conta acompanhe a sua, seus brilhos públicos podem ser vistos por outres, como nas linhas do tempo locais e buscando hashtags. Você pode querer fazer uma introdução usando a hashtag #introdução, ou em inglês usando a hashtag #introductions.'
+ full_handle: O nome completo de sua conta
+ full_handle_hint: Isso é o que você compartilha com suas amizades para que possam te mandar mensagens ou te seguir a partir de outro servidor.
review_preferences_action: Alterar preferências
- review_preferences_step: Não se esqueça de configurar suas preferências, como quais e-mails você gostaria de receber, que nível de privacidade você gostaria que seus toots tenham por padrão. Se você não sofre de enjoo com movimento, você pode habilitar GIFs animado automaticamente.
- subject: Boas-vindas ao Mastodon
- tip_federated_timeline: A linha global é uma visão contínua da rede do Mastodon. Mas ela só inclui pessoas de instâncias que a sua instância conhece, então não é a rede completa.
- tip_following: Você vai seguir administrador(es) da sua instância por padrão. Para encontrar mais gente interessante, confira as linhas local e global.
- tip_local_timeline: A linha local é uma visão contínua das pessoas em %{instance}. Estes são seus vizinhos!
- tip_mobile_webapp: Se o seu navegador móvel oferecer a opção de adicionar Mastodon à tela inicial, você pode receber notificações push. Será como um aplicativo nativo!
+ review_preferences_step: Não se esqueça de configurar suas preferências, como quais e-mails você gostaria de receber, e que nível de privacidade você gostaria que seus brilhos tenham por padrão. Se você não sofre de enjôo com movimento, você pode habilitar GIFs animando automaticamente.
+ subject: Boas-vindas a colorid.es
+ tip_federated_timeline: A linha do tempo federada é uma visão contínua da rede do Fediverso. Mas ela só inclui pessoas que outras pessoas em colorid.es estão seguindo, então não é a rede completa.
+ tip_following: Você vai acompanhar algumas contas de colorid.es por padrão. Para encontrar mais contas interessantes, confira as linhas do tempo local e federada.
+ tip_local_timeline: A linha do tempo local é uma visão contínua das pessoas que estão em %{instance}. São sues vizinhes próximes!
+ tip_mobile_webapp: Se o seu navegador móvel oferecer a opção de adicionar colorid.es à tela inicial, você pode receber notificações push. Vai funcionar como um aplicativo!
tips: Dicas
title: Boas vindas, %{name}!
users:
@@ -1624,7 +1642,7 @@ pt-BR:
seamless_external_login: Você entrou usando um serviço externo, então configurações de e-mail e senha não estão disponíveis.
signed_in_as: 'Entrou como:'
verification:
- explanation_html: 'Você pode verificar os links nos metadados do seu perfil. Para isso, o site citado deve conter um link de volta para o seu perfil do Mastodon. O link de volta deve conter um atributo rel="me". O conteúdo ou texto do link não importa. Aqui está um exemplo:'
+ explanation_html: 'Você pode verificar os links nos metadados do seu perfil. Para isso, a página citada deve conter um link de volta para o seu perfil em colorid.es. O link de volta deve conter um atributo rel="me". O conteúdo ou texto do link não importa. Aqui está um exemplo:'
verification: Verificação
webauthn_credentials:
add: Adicionar nova chave de segurança
@@ -1643,3 +1661,8 @@ pt-BR:
not_supported: Este navegador não tem suporte a chaves de segurança
otp_required: Para usar chaves de segurança, por favor habilite primeiro a autenticação de dois fatores.
registered_on: Registrado em %{date}
+ bbcode:
+ title: BBCode
+ explanation_html: 'Você pode configurar quais tipos de BBCode serão visíveis para você. Além destas opções, estão também disponíveis [quote] e [code].'
+ setting_enable_all: Habilitar tudo
+ setting_disable_all: Desabilitar tudo
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 49cee32d0a0418..aca3471714071c 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -1480,6 +1480,8 @@ pt-PT:
public_long: Todos podem ver
unlisted: Público, mas não mostre no timeline público
unlisted_long: Todos podem ver, porém não será postado nas timelines públicas
+ local: Local
+ local_long: Todos podem ver, porém será listado somente na timeline pública local
statuses_cleanup:
enabled: Apagar publicações antigas automaticamente
enabled_hint: Apaga automaticamente as suas publicações assim que atingirem um limite de idade específico, a não ser que correspondam a uma das exceções abaixo
@@ -1609,8 +1611,19 @@ pt-PT:
title: "%{instance} Termos de Serviço e Política de Privacidade"
themes:
contrast: Mastodon (Elevado contraste)
- default: Mastodon
+ default: Mastodon Colorides
mastodon-light: Mastodon (Claro)
+ mastodon: Mastodon
+ purple-haze: Neblina Roxa
+ win95: Windows 95
+ meemu-purple: Meemu Roxo
+ meemu-vaporwave: Meemu Vaporwave
+ flamingo: Flamingo
+ sediroloc: Sediroloc
+ sunset: Pôr do Sol
+ rosaceae: Rosaceae
+ quartzo: Quartzo
+ teal: Linha 10
time:
formats:
default: "%H:%M em %d de %b de %Y"
@@ -1726,3 +1739,8 @@ pt-PT:
not_supported: Este navegador não suporta chaves de segurança
otp_required: Para usar chaves de segurança, por favor ative primeiro a autenticação em duas etapas.
registered_on: Registado em %{date}
+ bbcode:
+ title: BBCode
+ explanation_html: 'Tu podes configurar quais tipos de BBCode serão visíveis para ti. Além destas opções, estão também disponíveis [quote] e [code].'
+ setting_enable_all: Habilitar tudo
+ setting_disable_all: Desabilitar tudo
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index b784b1da7b5d1f..1d108ce464385a 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -39,7 +39,7 @@ en:
digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence
discoverable: Allow your account to be discovered by strangers through recommendations, trends and other features
email: You will be sent a confirmation e-mail
- fields: You can have up to 4 items displayed as a table on your profile
+ fields: You can have up to 6 items displayed as a table on your profile
header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
inbox_url: Copy the URL from the frontpage of the relay you want to use
irreversible: Filtered posts will disappear irreversibly, even if filter is later removed
@@ -141,6 +141,7 @@ en:
header: Header
honeypot: "%{label} (do not fill in)"
inbox_url: URL of the relay inbox
+ invite_request: Escreva sua aplicação aqui.
irreversible: Drop instead of hide
locale: Interface language
locked: Require follow requests
@@ -153,6 +154,21 @@ en:
setting_advanced_layout: Enable advanced web interface
setting_aggregate_reblogs: Group boosts in timelines
setting_always_send_emails: Always send e-mail notifications
+ setting_emoji_size_simple: "Simple toot emoji size (default: 20)"
+ setting_emoji_size_detailed: "Detailed toot emoji size (default: 24)"
+ setting_emoji_size_name: "Display name emoji size (default: 16)"
+ setting_column_size: "Column width in multiple column/advanced layout (default: 350)"
+ setting_bbcode_spin: 'BBCode [spin]'
+ setting_bbcode_pulse: 'BBCode [pulse]'
+ setting_bbcode_flip: 'BBCode [flip]'
+ setting_bbcode_large: 'BBCode [large]'
+ setting_bbcode_size: 'BBCode [size]'
+ setting_bbcode_color: 'BBCode [color] and [colorhex]'
+ setting_bbcode_b: 'BBCode [b]'
+ setting_bbcode_i: 'BBCode [i]'
+ setting_bbcode_u: 'BBCode [u]'
+ setting_bbcode_s: 'BBCode [s]'
+ setting_show_cw_box: Always show content warning field when composing toots
setting_auto_play_gif: Auto-play animated GIFs
setting_boost_modal: Show confirmation dialog before boosting
setting_crop_images: Crop images in non-expanded posts to 16x9
diff --git a/config/locales/simple_form.en_GB.yml b/config/locales/simple_form.en_GB.yml
index 8752d81bb076d9..58b8865547aafc 100644
--- a/config/locales/simple_form.en_GB.yml
+++ b/config/locales/simple_form.en_GB.yml
@@ -17,7 +17,7 @@ en_GB:
digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence
discoverable_html: The directory lets people find accounts based on interests and activity. Requires at least %{min_followers} followers
email: You will be sent a confirmation e-mail
- fields: You can have up to 4 items displayed as a table on your profile
+ fields: You can have up to 6 items displayed as a table on your profile
header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
inbox_url: Copy the URL from the frontpage of the relay you want to use
irreversible: Filtered toots will disappear irreversibly, even if filter is later removed
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index b96952e9654013..8c45dd4da269c3 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -3,105 +3,105 @@ pt-BR:
simple_form:
hints:
account_alias:
- acct: Especifique o usuário@domínio de onde veio
+ acct: Especifique o nome@domínio da conta da qual você deseja se mudar
account_migration:
- acct: Especifique o usuário@domínio para onde vai
+ acct: Especifique o nome@domínio da conta para a qual você deseja se mudar
account_warning_preset:
- text: Você pode usar a sintaxe do toot, como links, hashtags e menções
+ text: Você pode usar a sintaxe de brilhos, como links, hashtags e menções
title: Opcional. Não visível para o destinatário
admin_account_action:
- include_statuses: O usuário verá quais toots causaram a advertência ou ação da moderação
- send_email_notification: O usuário receberá uma explicação do que aconteceu com a própria conta
- text_html: Opcional. Você pode usar a sintaxe do toot ou pode poupar tempo adicionando advertências pré-definidas
+ include_statuses: E usuárie verá quais brilhos causaram o aviso ou ação da moderação
+ send_email_notification: E usuárie receberá uma explicação do que aconteceu com a própria conta
+ text_html: Opcional. Você pode usar a sintaxe de brilhos e também pode adicionar avisos pré-definidos para poupar tempo
type_html: Decida o que fazer com %{acct}
types:
- disable: Impede o usuário de usar a conta, porém sem excluí-la ou suspendê-la.
- none: Use isto para enviar uma advertência ao usuário, sem nenhuma outra ação.
- sensitive: Marca todas as mídias do usuário como sensível.
- silence: Impede o usuário de tootar publicamente, e oculta toots e notificações dos que não o seguem.
+ disable: Impede e usuárie de usar a conta, porém sem excluí-la ou suspendê-la.
+ none: Use isto para enviar uma advertência ae usuárie, sem nenhuma outra ação.
+ sensitive: Marca todas as mídias de usuárie como sensíveis.
+ silence: Impede e usuárie de postar publicamente, e oculta brilhos e notificações des que não acompanham a conta.
suspend: Impede interações e exclui conteúdo da conta. Reversível apenas dentro de 30 dias.
- warning_preset_id: Opcional. Você pode adicionar texto personalizado no final da advertência pré-definida
+ warning_preset_id: Opcional. Você pode adicionar um texto personalizado no final da advertência pré-definida
announcement:
all_day: Quando marcada, apenas as datas do período serão mostradas
ends_at: Opcional. O comunicado sairá do ar automaticamente
- scheduled_at: Deixe em branco para publicar o comunicado agora
+ scheduled_at: Deixe em branco para publicar o comunicado imediatamente
starts_at: Opcional. Caso o comunicado esteja vinculado a um período específico
- text: Você pode usar a sintaxe do toot. Considere o espaço que o comunicado ocupará na tela do usuário
+ text: Você pode usar a sintaxe de brilhos. Esteja ciente do espaço que o comunicado ocupará na tela de usuárie
defaults:
- autofollow: Pessoas que criarem conta através de seu convite te seguirão automaticamente
- avatar: PNG, GIF or JPG. Arquivos de até %{size}. Serão redimensionados para %{dimensions}px
- bot: Essa conta executa principalmente ações automatizadas e pode não ser monitorada
- context: Um ou mais contextos onde o filtro deve atuar
+ autofollow: Pessoas que se cadastrarem através de seu convite acompanharão sua conta automaticamente
+ avatar: PNG, GIF ou JPG. Arquivos de até %{size}. Eles serão redimensionados para %{dimensions}px
+ bot: Esta conta executa principalmente ações automatizadas e pode não ser monitorada
+ context: Um ou mais contextos onde o filtro deve ser aplicado
current_password: Para fins de segurança, por favor, digite a senha da conta atual
- current_username: Para confirmar, por favor, digite o nome de usuário da conta atual
- digest: Enviado apenas após um longo período de inatividade com um resumo das menções recebidas durante ausência
+ current_username: Para confirmar, por favor, digite o nome de tela (@usuárie) da conta atual
+ digest: Enviado apenas após um longo período de inatividade com um resumo das menções recebidas durante sua ausência
email: Você receberá um e-mail de confirmação
- fields: Você pode ter até 4 itens mostrados em forma de tabela no seu perfil
- header: PNG, GIF or JPG. Arquivos de até %{size}. Serão redimensionados para %{dimensions}px
- inbox_url: Copie o link da página inicial do repetidor que você deseja usar
- irreversible: Toots filtrados desaparecerão irreversivelmente, mesmo se o filtro for removido depois
- locale: O idioma da interface do usuário, e-mails e notificações
- locked: Requer aprovação manual de seguidores
+ fields: Você pode ter até 6 itens mostrados em forma de tabela no seu perfil
+ header: PNG, GIF or JPG. Arquivos de até %{size}. Eles serão redimensionados para %{dimensions}px
+ inbox_url: Copie a URL da página inicial do repetidor que você quer usar
+ irreversible: Os brilhos filtrados vão desaparecer irreversivelmente, mesmo se o filtro for removido depois
+ locale: O idioma das informações sobre contas, e-mails e notificações
+ locked: Requer aprovação manual para quem quiser acompanhar sua conta
password: Use pelo menos 8 caracteres
- phrase: Corresponderá independente de maiúsculas ou minúsculas, no texto ou no Aviso de Conteúdo de um toot
- scopes: Quais APIs o aplicativo vai ter permissão de acessar. Se você selecionar uma autorização de alto nível, você não precisa selecionar individualmente os outros.
- setting_aggregate_reblogs: Não mostra novos boosts para toots que receberam boost recentemente (afeta somente os boosts mais recentes)
+ phrase: Vai coincidir, independente de maiúsculas ou minúsculas, com texto ou aviso de conteúdo de um brilho
+ scopes: Quais APIs o aplicativo vai ter permissão de acessar. Se você selecionar uma autorização de alto nível, você não precisa selecionar individualmente as outras.
+ setting_aggregate_reblogs: Não mostra novos reflexos para brilhos que foram refletidos recentemente (afeta somente os reflexos mais recentes)
setting_default_sensitive: Mídia sensível está oculta por padrão e pode ser revelada com um clique
setting_display_media_default: Sempre ocultar mídia sensível
setting_display_media_hide_all: Sempre ocultar todas as mídias
setting_display_media_show_all: Sempre mostrar mídia sensível
- setting_hide_network: Quem você segue e seus seguidores não serão mostrados no seu perfil
- setting_noindex: Afeta seu perfil público e as páginas dos seus toots
- setting_show_application: O aplicativo que você usar para tootar será mostrado na visão detalhada dos seus toots
+ setting_hide_network: As contas que você acompanha e que acompanham sua conta não serão mostradas em seu perfil
+ setting_noindex: Afeta seu perfil público e as páginas de seus brilhos
+ setting_show_application: O aplicativo que você usar para publicar brilhos será mostrado na visão detalhada dos seus brilhos
setting_use_blurhash: O blur é baseado nas cores da imagem oculta, ofusca a maioria dos detalhes
setting_use_pending_items: Ocultar atualizações da linha do tempo atrás de um clique ao invés de rolar automaticamente
- username: Seu nome de usuário será único em %{domain}
- whole_word: Quando a palavra-chave ou frase é inteiramente alfanumérica, ela será aplicada somente se corresponder a palavra inteira
+ username: O nome da sua conta será único em %{domain}
+ whole_word: Quando a palavra ou frase é inteiramente alfanumérica, ela será aplicada somente se corresponder à palavra inteira
domain_allow:
domain: Este domínio poderá obter dados deste servidor e os dados recebidos dele serão processados e armazenados
email_domain_block:
- domain: Este pode ser o nome de domínio que aparece no endereço de e-mail ou no registro MX que ele utiliza. Eles serão verificados após a inscrição.
- with_dns_records: Será feita uma tentativa de resolver os registros DNS do domínio em questão e os resultados também serão colocados na lista negra
+ domain: Este pode ser o nome de domínio que aparece no endereço de e-mail ou no registro MX que ele utiliza. Ele será verificado no momento do registro da conta.
+ with_dns_records: Será feita uma tentativa de resolver os registros DNS do domínio em questão e os resultados também serão colocados na lista de bloqueios
featured_tag:
- name: 'Você pode querer usar um destes:'
+ name: 'Você pode querer usar uma destas:'
form_challenge:
current_password: Você está entrando em uma área segura
imports:
- data: Arquivo CSV exportado de outra instância Mastodon
+ data: Arquivo CSV exportado de outra instância/outro servidor Mastodon
invite_request:
- text: Isso vai nos ajudar a revisar sua aplicação
+ text: Por que colorid.es, e não outro lugar? Você entende que nos importamos mais com ter pessoas que não perpetuam discriminações do que com uma grande quantidade de registros? Você poderia se introduzir? Quanto mais superficial o pedido, menor a chance de ser aceito. Lembre-se de ler as regras antes de fazer o pedido. Mínimo de 5 palavras e 20 caracteres.
ip_block:
- comment: Opcional. Lembrar de por que você adicionou esta regra.
+ comment: Opcional. Lembrar de porque você adicionou esta regra.
expires_in: Endereços IP são um recurso limitado, algumas vezes são compartilhados e muitas vezes mudam de mãos. Por esse motivo, blocos de IP indefinidos não são recomendados.
- ip: Digite um endereço IPv4 ou IPv6. Você pode bloquear intervalos inteiros usando a sintaxe CIDR. Tenha cuidado para não bloquear a si mesmo!
+ ip: Digite um endereço IPv4 ou IPv6. Você pode bloquear intervalos inteiros usando a sintaxe CIDR. Tenha cuidado para não bloquear a si mesme!
severities:
no_access: Bloquear o acesso a todos os recursos
sign_up_requires_approval: Novos registros exigirão sua aprovação
severity: Escolha o que acontecerá com as solicitações deste IP
rule:
- text: Descreva uma regra ou requisito para os usuários neste servidor. Tente mantê-la curta e simples.
+ text: Descreva ume regra ou requisito para usuáries neste servidor. Tente mantê-le curte e simples.
sessions:
otp: 'Digite o código de dois fatores gerado pelo aplicativo no seu celular ou use um dos códigos de recuperação:'
webauthn: Se for uma chave USB tenha certeza de inseri-la e, se necessário, tocar nela.
tag:
name: Você pode mudar a capitalização das letras, por exemplo, para torná-la mais legível
user:
- chosen_languages: Apenas toots dos idiomas selecionados serão mostrados nas linhas públicas
+ chosen_languages: Ao marcar, apenas brilhos dos idiomas selecionados serão exibidos nas linhas do tempo públicas
labels:
account:
fields:
name: Rótulo
value: Conteúdo
account_alias:
- acct: Nome de usuário da conta antiga
+ acct: Nome da conta antiga
account_migration:
- acct: Nome de usuário da nova conta
+ acct: Nome da conta nova
account_warning_preset:
text: Advertência pré-definida
title: Título
admin_account_action:
- include_statuses: Incluir toots denunciados no e-mail
- send_email_notification: Notificar o usuário por e-mail
+ include_statuses: Incluir brilhos denunciados no e-mail
+ send_email_notification: Notificar e usuárie por e-mail
text: Advertência personalizada
type: Ação
types:
@@ -120,7 +120,7 @@ pt-BR:
appeal:
text: Explique porque essa decisão deve ser revertida
defaults:
- autofollow: Convite para seguir a sua conta
+ autofollow: Convite para acompanhar sua conta
avatar: Imagem de perfil
bot: Robô
chosen_languages: Filtro de idiomas
@@ -129,7 +129,7 @@ pt-BR:
context: Contextos do filtro
current_password: Senha atual
data: Dados
- discoverable: Mostrar conta no diretório de perfis
+ discoverable: Sugerir conta a outres
display_name: Nome de exibição
email: E-mail
expires_in: Expira em
@@ -137,54 +137,70 @@ pt-BR:
header: Capa
honeypot: "%{label} (não preencher)"
inbox_url: Link da caixa de entrada do repetidor
+ invite_request: Escreva seu pedido aqui.
irreversible: Ignorar ao invés de ocultar
locale: Idioma da interface
- locked: Trancar perfil
- max_uses: Limite de uso
+ locked: Requerer pedidos de acompanhamento
+ max_uses: Número máximo de usos
new_password: Nova senha
note: Biografia
otp_attempt: Código de autenticação de dois fatores
password: Senha
phrase: Palavra-chave ou frase
setting_advanced_layout: Ativar interface web avançada
- setting_aggregate_reblogs: Agrupar boosts nas linhas
+ setting_aggregate_reblogs: Agrupar reflexos nas linhas do tempo
+ setting_emoji_size_simple: "Tamanho de emoji em brilhos simples (padrão: 20)"
+ setting_emoji_size_detailed: "Tamanho de emoji em brilhos detalhados (padrão: 24)"
+ setting_emoji_size_name: "Tamanho de emoji em nome de exibição (padrão: 16)"
+ setting_column_size: "Largura da coluna em interface avançada/de múltiplas colunas (padrão: 350)"
+ setting_bbcode_spin: 'BBCode [spin]'
+ setting_bbcode_pulse: 'BBCode [pulse]'
+ setting_bbcode_flip: 'BBCode [flip]'
+ setting_bbcode_large: 'BBCode [large]'
+ setting_bbcode_size: 'BBCode [size]'
+ setting_bbcode_color: 'BBCode [color] e [colorhex]'
+ setting_bbcode_b: 'BBCode [b]'
+ setting_bbcode_i: 'BBCode [i]'
+ setting_bbcode_u: 'BBCode [u]'
+ setting_bbcode_s: 'BBCode [s]'
+ setting_show_cw_box: Sempre mostrar o campo de aviso de conteúdo ao escrever brilhos
setting_auto_play_gif: Reproduzir GIFs automaticamente
- setting_boost_modal: Solicitar confirmação antes de dar boost
- setting_crop_images: Cortar imagens no formato 16x9 em toots não expandidos
- setting_default_language: Idioma dos toots
- setting_default_privacy: Privacidade dos toots
+ setting_boost_modal: Mostrar diálogo de confirmação antes de refletir brilho
+ setting_crop_images: Cortar imagens no formato 16x9 em brilhos não expandidos
+ setting_default_language: Idioma de seus brilhos
+ setting_default_privacy: Privacidade padrão de seus brilhos
setting_default_sensitive: Sempre marcar mídia como sensível
- setting_delete_modal: Solicitar confirmação antes de excluir toot
+ setting_delete_modal: Solicitar confirmação antes de apagar brilho
setting_disable_swiping: Desabilitar movimentos deslizantes
setting_display_media: Exibição das mídias
setting_display_media_default: Padrão
setting_display_media_hide_all: Ocultar tudo
setting_display_media_show_all: Mostrar tudo
- setting_expand_spoilers: Sempre expandir toots com Aviso de Conteúdo
- setting_hide_network: Ocultar suas relações
- setting_noindex: Não quero ser indexado por mecanismos de pesquisa
- setting_reduce_motion: Reduzir animações
- setting_show_application: Mostrar o aplicativo usado para enviar os toots
- setting_system_font_ui: Usar fonte padrão do sistema
- setting_theme: Tema do site
+ setting_expand_spoilers: Sempre expandir brilhos com aviso de conteúdo
+ setting_hide_network: Esconder suas redes
+ setting_noindex: Não quero ser indexade por mecanismos de busca
+ setting_reduce_motion: Reduzir movimento em animações
+ setting_show_application: Mostrar o aplicativo usado para enviar brilhos
+ setting_system_font_ui: Usar a fonte padrão de seu sistema
+ setting_theme: Tema
setting_trends: Mostrar em alta hoje
- setting_unfollow_modal: Solicitar confirmação antes de deixar de seguir alguém
- setting_use_blurhash: Mostrar blur em mídias sensíveis
+ setting_unfollow_modal: Solicitar confirmação antes de deixar de acompanhar uma conta
+ setting_use_blurhash: Mostrar blur (borrão) em mídias ocultas
setting_use_pending_items: Modo lento
severity: Gravidade
sign_in_token_attempt: Código de segurança
type: Tipo de importação
- username: Nome de usuário
- username_or_email: Nome de usuário ou e-mail
+ username: Nome da conta
+ username_or_email: Nome da conta ou e-mail
whole_word: Palavra inteira
email_domain_block:
with_dns_records: Incluir registros MX e IPs do domínio
featured_tag:
name: Hashtag
interactions:
- must_be_follower: Bloquear notificações de não-seguidores
- must_be_following: Bloquear notificações de não-seguidos
- must_be_following_dm: Bloquear toots diretos de não-seguidos
+ must_be_follower: Bloquear notificações de quem não acompanha sua conta
+ must_be_following: Bloquear notificações de contas que você não acompanha
+ must_be_following_dm: Bloquear mensagens diretas de contas que você não acompanha
invite:
comment: Comentário
invite_request:
@@ -198,13 +214,13 @@ pt-BR:
severity: Regra
notification_emails:
digest: Enviar e-mails de resumo
- favourite: Enviar e-mail quando alguém favoritar teus toots
- follow: Enviar e-mail quando alguém te seguir
- follow_request: Enviar e-mail quando alguém quiser te seguir
+ favourite: Enviar e-mail quando alguém favoritar seus brilhos
+ follow: Enviar e-mail quando alguém acompanhar sua conta
+ follow_request: Enviar e-mail quando alguém pedir para acompanhar sua conta
mention: Enviar e-mail quando alguém te mencionar
- pending_account: Enviar e-mail quando uma nova conta precisa ser revisada
- reblog: Enviar e-mail quando alguém der boost nos teus toots
- report: Novo relatório foi enviado
+ pending_account: Enviar e-mail quando uma nova conta precisar ser revisada
+ reblog: Enviar e-mail quando alguém refletir seus brilhos
+ report: Enviar e-mail quando uma nova denúncia for enviada
trending_tag: Uma nova tendência requer revisão
rule:
text: Regra
@@ -212,7 +228,7 @@ pt-BR:
listable: Permitir que esta hashtag apareça em pesquisas e sugestões
name: Hashtag
trendable: Permitir que esta hashtag fique em alta
- usable: Permitir que toots usem esta hashtag
+ usable: Permitir que brilhos usem esta hashtag
'no': Não
recommended: Recomendado
required:
diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml
index 42116174f3be7a..43a295d18c92a8 100644
--- a/config/locales/simple_form.pt-PT.yml
+++ b/config/locales/simple_form.pt-PT.yml
@@ -73,7 +73,7 @@ pt-PT:
imports:
data: Arquivo CSV exportado de outra instância do Mastodon
invite_request:
- text: Isto vai ajudar-nos a rever o seu pedido
+ text: Como você soube desta instância? Você leu e concorda com nossas regras? Você entende que nos importamos mais com ter pessoas que não perpetuam discriminações do que com ter uma grande quantidade de registros? Você poderia se introduzir? Quanto mais detalhes você der, maior a chance de você ser aceite. Mínimo de 5 palavras e 20 caracteres.
ip_block:
comment: Opcional. Relembre-se por que adicionou esta regra.
expires_in: Endereços IP são um recurso limitado, algumas vezes são compartilhados e muitas vezes mudam de mãos. Por essa razão, bloqueios de IP indefinidos não são recomendados.
@@ -143,7 +143,7 @@ pt-PT:
inbox_url: URL da caixa de entrada do repetidor
irreversible: Expandir em vez de esconder
locale: Idioma
- locked: Trancar conta
+ locked: Requerer pedidos de acompanhamento
max_uses: Número máximo de utilizações
new_password: Nova palavra-passe
note: Biografia
@@ -153,6 +153,21 @@ pt-PT:
setting_advanced_layout: Ativar interface web avançada
setting_aggregate_reblogs: Agrupar partilhas em cronologias
setting_always_send_emails: Enviar notificações de email sempre
+ setting_emoji_size_simple: "Tamanho de emoji em toots simples (padrão: 20)"
+ setting_emoji_size_detailed: "Tamanho de emoji em toots detalhados (padrão: 24)"
+ setting_emoji_size_name: "Tamanho de emoji em nome público (padrão: 16)"
+ setting_column_size: "Largura da coluna em interface avançada (padrão: 350)"
+ setting_bbcode_spin: 'BBCode [spin]'
+ setting_bbcode_pulse: 'BBCode [pulse]'
+ setting_bbcode_flip: 'BBCode [flip]'
+ setting_bbcode_large: 'BBCode [large]'
+ setting_bbcode_size: 'BBCode [size]'
+ setting_bbcode_color: 'BBCode [color] e [colorhex]'
+ setting_bbcode_b: 'BBCode [b]'
+ setting_bbcode_i: 'BBCode [i]'
+ setting_bbcode_u: 'BBCode [u]'
+ setting_bbcode_s: 'BBCode [s]'
+ setting_show_cw_box: Sempre mostrar o campo de aviso de conteúdo ao escrever toots
setting_auto_play_gif: Reproduzir GIFs automaticamente
setting_boost_modal: Solicitar confirmação antes de partilhar uma publicação
setting_crop_images: Cortar imagens em toots não expandidos para o formato 16x9
diff --git a/config/settings.yml b/config/settings.yml
index eaa05071e112ff..a7cd9b96d9cd96 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -33,6 +33,7 @@ defaults: &defaults
aggregate_reblogs: true
advanced_layout: false
use_blurhash: true
+ show_cw_box: true
use_pending_items: false
trends: true
trendable_by_default: false
diff --git a/config/themes.yml b/config/themes.yml
index 9c21c9459f3bcf..40b997a323126a 100644
--- a/config/themes.yml
+++ b/config/themes.yml
@@ -1,3 +1,16 @@
-default: styles/application.scss
+default: styles/mastodon_colorides.scss
+sediroloc: styles/sediroloc.scss
+mastodon: styles/application.scss
contrast: styles/contrast.scss
mastodon-light: styles/mastodon-light.scss
+rosaceae: styles/pink.scss
+quartzo: styles/light_pink.scss
+sunset: styles/sunset.scss
+colorwave: styles/colorwave.scss
+teal: styles/teal.scss
+terminal: styles/terminal.scss
+flamingo: styles/flamingo.scss
+purple-haze: styles/purple_haze.scss
+#win95: styles/win95.scss
+meemu-purple: styles/meemu-default.scss
+meemu-vaporwave: styles/meemu.scss
diff --git a/config/webpack/environment.js b/config/webpack/environment.js
new file mode 100644
index 00000000000000..d16d9af7434fab
--- /dev/null
+++ b/config/webpack/environment.js
@@ -0,0 +1,3 @@
+const { environment } = require('@rails/webpacker')
+
+module.exports = environment
diff --git a/config/webpacker.yml b/config/webpacker.yml
index 4ad78a190ec498..a9e3636f5ff14c 100644
--- a/config/webpacker.yml
+++ b/config/webpacker.yml
@@ -31,6 +31,7 @@ default: &default
- .ttf
- .woff
- .woff2
+ - .gif
extensions:
- .mjs
diff --git a/db/migrate/20180917002400_add_public_in_local_field_in_statuses.rb b/db/migrate/20180917002400_add_public_in_local_field_in_statuses.rb
new file mode 100644
index 00000000000000..73060395eed146
--- /dev/null
+++ b/db/migrate/20180917002400_add_public_in_local_field_in_statuses.rb
@@ -0,0 +1,5 @@
+class AddPublicInLocalFieldInStatuses < ActiveRecord::Migration[5.2]
+ def change
+ add_column :statuses, :public_in_local, :boolean
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 726989beffc0b5..b7f51c1090c9f4 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -181,8 +181,8 @@
t.integer "avatar_storage_schema_version"
t.integer "header_storage_schema_version"
t.string "devices_url"
- t.integer "suspension_origin"
t.datetime "sensitized_at"
+ t.integer "suspension_origin"
t.boolean "trendable"
t.datetime "reviewed_at"
t.datetime "requested_review_at"
@@ -494,12 +494,12 @@
end
create_table "ip_blocks", force: :cascade do |t|
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
- t.datetime "expires_at"
t.inet "ip", default: "0.0.0.0", null: false
t.integer "severity", default: 0, null: false
+ t.datetime "expires_at"
t.text "comment", default: "", null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
end
create_table "list_accounts", force: :cascade do |t|
@@ -584,9 +584,9 @@
create_table "mutes", force: :cascade do |t|
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
- t.boolean "hide_notifications", default: true, null: false
t.bigint "account_id", null: false
t.bigint "target_account_id", null: false
+ t.boolean "hide_notifications", default: true, null: false
t.datetime "expires_at"
t.index ["account_id", "target_account_id"], name: "index_mutes_on_account_id_and_target_account_id", unique: true
t.index ["target_account_id"], name: "index_mutes_on_target_account_id"
@@ -885,6 +885,7 @@
t.integer "visibility", default: 0, null: false
t.text "spoiler_text", default: "", null: false
t.boolean "reply", default: false, null: false
+ t.boolean "public_in_local"
t.string "language"
t.bigint "conversation_id"
t.boolean "local"
diff --git a/lib/sanitize_ext/sanitize_config.rb b/lib/sanitize_ext/sanitize_config.rb
index a2e1d9d01b42b5..16cba0cc115dc4 100644
--- a/lib/sanitize_ext/sanitize_config.rb
+++ b/lib/sanitize_ext/sanitize_config.rb
@@ -31,6 +31,7 @@ module Config
next true if /^(h|p|u|dt|e)-/.match?(e) # microformats classes
next true if /^(mention|hashtag)$/.match?(e) # semantic classes
next true if /^(ellipsis|invisible)$/.match?(e) # link formatting classes
+ next true if /^bbcode__([a-z2-5\-]+)$/.match?(e)
end
node['class'] = class_list.join(' ')
@@ -71,11 +72,12 @@ module Config
end
MASTODON_STRICT ||= freeze_config(
- elements: %w(p br span a),
+ elements: %w(p br span a u pre div blockquote),
attributes: {
'a' => %w(href rel class),
- 'span' => %w(class),
+ 'span' => %w(class data-bbcodecolor data-bbcodecolor data-bbcodesize),
+ 'div' => %w(class),
},
add_attributes: {
diff --git a/public/android-chrome-192x192-old.png b/public/android-chrome-192x192-old.png
new file mode 100644
index 00000000000000..7a99a19641acd1
Binary files /dev/null and b/public/android-chrome-192x192-old.png differ
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
index 7a99a19641acd1..d7d78e0220f302 100644
Binary files a/public/android-chrome-192x192.png and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-256x256.png b/public/android-chrome-256x256.png
new file mode 100644
index 00000000000000..1d1b85185e588f
Binary files /dev/null and b/public/android-chrome-256x256.png differ
diff --git a/public/apple-touch-icon-old.png b/public/apple-touch-icon-old.png
new file mode 100644
index 00000000000000..b12aa55a3a3fc0
Binary files /dev/null and b/public/apple-touch-icon-old.png differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
index b12aa55a3a3fc0..b770b48570fa8c 100644
Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ
diff --git a/public/avatars/original/missing.png b/public/avatars/original/missing.png
index 34c8e45e61ce1e..d4f434cb9d8ebe 100644
Binary files a/public/avatars/original/missing.png and b/public/avatars/original/missing.png differ
diff --git a/public/bbcode_setting.js b/public/bbcode_setting.js
new file mode 100644
index 00000000000000..1357b7f7da9d7e
--- /dev/null
+++ b/public/bbcode_setting.js
@@ -0,0 +1,7 @@
+$( "#bbcode_enable_all" ).click(function() {
+ $('.setting_bbcode input[type=checkbox]').prop('checked', true);
+});
+
+$( "#bbcode_disable_all" ).click(function() {
+ $('.setting_bbcode input[type=checkbox]').prop('checked', false);
+});
\ No newline at end of file
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 00000000000000..b140dabd3f3668
Binary files /dev/null and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
new file mode 100644
index 00000000000000..c3098455a3dd17
Binary files /dev/null and b/public/favicon-32x32.png differ
diff --git a/public/favicon-old.ico b/public/favicon-old.ico
new file mode 100644
index 00000000000000..79000c9cc43c20
Binary files /dev/null and b/public/favicon-old.ico differ
diff --git a/public/favicon.ico b/public/favicon.ico
index 79000c9cc43c20..0ce0145f9329e7 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/public/jquery-3.3.1.slim.min.js b/public/jquery-3.3.1.slim.min.js
new file mode 100644
index 00000000000000..f4ca9b24ba13e9
--- /dev/null
+++ b/public/jquery-3.3.1.slim.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,u=n.push,s=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,d=f.toString,p=d.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},v=function e(t){return null!=t&&t===t.window},y={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in y)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function b(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var x="3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",w=function(e,t){return new w.fn.init(e,t)},C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:x,constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,u,s,l,c,f,d,p,h,g,v,y,m,b,x="sizzle"+1*new Date,w=e.document,C=0,T=0,E=ae(),N=ae(),k=ae(),A=function(e,t){return e===t&&(f=!0),0},D={}.hasOwnProperty,S=[],L=S.pop,j=S.push,q=S.push,O=S.slice,P=function(e,t){for(var n=0,r=e.length;n+~]|"+I+")"+I+"*"),_=new RegExp("="+I+"*([^\\]'\"]*?)"+I+"*\\]","g"),U=new RegExp(M),V=new RegExp("^"+R+"$"),X={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+B),PSEUDO:new RegExp("^"+M),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+I+"*(even|odd|(([+-]|)(\\d*)n|)"+I+"*(?:([+-]|)"+I+"*(\\d+)|))"+I+"*\\)|)","i"),bool:new RegExp("^(?:"+H+")$","i"),needsContext:new RegExp("^"+I+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+I+"*((?:-\\d)?\\d*)"+I+"*\\)|)(?=[^-]|$)","i")},Q=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,G=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+I+"?|("+I+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){d()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{q.apply(S=O.call(w.childNodes),w.childNodes),S[w.childNodes.length].nodeType}catch(e){q={apply:S.length?function(e,t){j.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,u,l,c,f,h,y,m=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&d(t),t=t||p,g)){if(11!==C&&(f=K.exec(e)))if(o=f[1]){if(9===C){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&b(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return q.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return q.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!k[e+" "]&&(!v||!v.test(e))){if(1!==C)m=t,y=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=x),u=(h=a(e)).length;while(u--)h[u]="#"+c+" "+ye(h[u]);y=h.join(","),m=J.test(e)&&ge(t.parentNode)||t}if(y)try{return q.apply(r,m.querySelectorAll(y)),r}catch(e){}finally{c===x&&t.removeAttribute("id")}}}return s(e.replace($,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function ue(e){return e[x]=!0,e}function se(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function de(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return ue(function(t){return t=+t,ue(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},d=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==p&&9===a.nodeType&&a.documentElement?(p=a,h=p.documentElement,g=!o(p),w!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=se(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=se(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=G.test(p.getElementsByClassName),n.getById=se(function(e){return h.appendChild(e).id=x,!p.getElementsByName||!p.getElementsByName(x).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=G.test(p.querySelectorAll))&&(se(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+I+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+I+"*(?:value|"+H+")"),e.querySelectorAll("[id~="+x+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+x+"+*").length||v.push(".#.+[+~]")}),se(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+I+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=G.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&se(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",M)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=G.test(h.compareDocumentPosition),b=t||G.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&b(w,e)?-1:t===p||t.ownerDocument===w&&b(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===p?-1:t===p?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)u.unshift(n);while(a[r]===u[r])r++;return r?ce(a[r],u[r]):a[r]===w?-1:u[r]===w?1:0},p):p},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&d(e),t=t.replace(_,"='$1']"),n.matchesSelector&&g&&!k[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,p,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==p&&d(e),b(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==p&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(A),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:ue,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+I+")"+e+"("+I+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(W," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),u="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,s){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=u&&t.nodeName.toLowerCase(),m=!s&&!u,b=!1;if(v){if(o){while(g){d=t;while(d=d[g])if(u?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){b=(p=(l=(c=(f=(d=v)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1])&&l[2],d=p&&v.childNodes[p];while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if(1===d.nodeType&&++b&&d===t){c[e]=[C,p,b];break}}else if(m&&(b=p=(l=(c=(f=(d=t)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1]),!1===b)while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if((u?d.nodeName.toLowerCase()===y:1===d.nodeType)&&++b&&(m&&((c=(f=d[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]=[C,b]),d===t))break;return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[x]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ue(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ue(function(e){var t=[],n=[],r=u(e.replace($,"$1"));return r[x]?ue(function(e,t,n,i){var o,a=r(e,null,i,[]),u=e.length;while(u--)(o=a[u])&&(e[u]=!(t[u]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:ue(function(e){return function(t){return oe(e,t).length>0}}),contains:ue(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:ue(function(e){return V.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xe(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else y=we(y===a?y.splice(h,y.length):y),i?i(null,a,y,s):q.apply(a,y)})}function Te(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],u=a||r.relative[" "],s=a?1:0,c=me(function(e){return e===t},u,!0),f=me(function(e){return P(t,e)>-1},u,!0),d=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];s1&&be(d),s>1&&ye(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),n,s0,i=e.length>0,o=function(o,a,u,s,c){var f,h,v,y=0,m="0",b=o&&[],x=[],w=l,T=o||i&&r.find.TAG("*",c),E=C+=null==w?1:Math.random()||.1,N=T.length;for(c&&(l=a===p||a||c);m!==N&&null!=(f=T[m]);m++){if(i&&f){h=0,a||f.ownerDocument===p||(d(f),u=!g);while(v=e[h++])if(v(f,a||p,u)){s.push(f);break}c&&(C=E)}n&&((f=!v&&f)&&y--,o&&b.push(f))}if(y+=m,n&&m!==y){h=0;while(v=t[h++])v(b,x,a,u);if(o){if(y>0)while(m--)b[m]||x[m]||(x[m]=L.call(s));x=we(x)}q.apply(s,x),c&&!o&&x.length>0&&y+t.length>1&&oe.uniqueSort(s)}return c&&(C=E,l=w),b};return n?ue(o):o}return u=oe.compile=function(e,t){var n,r=[],i=[],o=k[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Te(t[n]))[x]?r.push(o):i.push(o);(o=k(e,Ee(i,r))).selector=e}return o},s=oe.select=function(e,t,n,i){var o,s,l,c,f,d="function"==typeof e&&e,p=!i&&a(e=d.selector||e);if(n=n||[],1===p.length){if((s=p[0]=p[0].slice(0)).length>2&&"ID"===(l=s[0]).type&&9===t.nodeType&&g&&r.relative[s[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(s.shift().value.length)}o=X.needsContext.test(e)?0:s.length;while(o--){if(l=s[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),J.test(s[0].type)&&ge(t.parentNode)||t))){if(s.splice(o,1),!(e=i.length&&ye(s)))return q.apply(n,i),n;break}}}return(d||u(e,p))(i,t,!g,n,!t||J.test(e)&&ge(t.parentNode)||t),n},n.sortStable=x.split("").sort(A).join("")===x,n.detectDuplicates=!!f,d(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),se(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute("disabled")})||le(H,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var N=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},k=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},A=w.expr.match.needsContext;function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var S=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return s.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&A.test(e)?w(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),S.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,j=w(r);var O=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function H(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return N(e,"parentNode")},parentsUntil:function(e,t,n){return N(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return N(e,"nextSibling")},prevAll:function(e){return N(e,"previousSibling")},nextUntil:function(e,t,n){return N(e,"nextSibling",n)},prevUntil:function(e,t,n){return N(e,"previousSibling",n)},siblings:function(e){return k((e.parentNode||{}).firstChild,e)},children:function(e){return k(e.firstChild)},contents:function(e){return D(e,"iframe")?e.contentDocument:(D(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(P[e]||w.uniqueSort(i),O.test(e)&&i.reverse()),this.pushStack(i)}});var I=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(I)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],u=-1,s=function(){for(i=i||e.once,r=t=!0;a.length;u=-1){n=a.shift();while(++u-1)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||s()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function B(e){return e}function M(e){throw e}function W(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var u=this,s=arguments,l=function(){var e,l;if(!(t=o&&(r!==M&&(u=void 0,s=[e]),n.rejectWith(u,s))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:B,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:B)),n[2][3].add(a(0,e,g(r)?r:M))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],u=t[5];i[t[1]]=a.add,u&&a.add(function(){r=u},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),u=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(W(e,a.done(u(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)W(i[n],u(n),a.reject);return a.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&$.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function z(){r.removeEventListener("DOMContentLoaded",z),e.removeEventListener("load",z),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",z),e.addEventListener("load",z));var _=function(e,t,n,r,i,o,a){var u=0,s=e.length,l=null==n;if("object"===b(n)){i=!0;for(u in n)_(e,t,u,n[u],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;u1,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=K.get(e,t),n&&(!r||Array.isArray(n)?r=K.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return K.get(e,n)||K.access(e,n,{empty:w.Callbacks("once memory").add(function(){K.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"