Replace sprockets/browserify with Webpack (#2617)

* Replace browserify with webpack

* Add react-intl-translations-manager

* Do not minify in development, add offline-plugin for ServiceWorker background cache updates

* Adjust tests and dependencies

* Fix production deployments

* Fix tests

* More optimizations

* Improve travis cache for npm stuff

* Re-run travis

* Add back support for custom.scss as before

* Remove offline-plugin and babili

* Fix issue with Immutable.List().unshift(...values) not working as expected

* Make travis load schema instead of running all migrations in sequence

* Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of
React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in
<UI />

* Add react definitions to places that use JSX

* Add Procfile.dev for running rails, webpack and streaming API at the same time
This commit is contained in:
Eugen Rochko 2017-05-03 02:04:16 +02:00 committed by GitHub
parent 26bc591572
commit f5bf5ebb82
343 changed files with 5299 additions and 2081 deletions

View File

@ -1,7 +1,25 @@
{ {
"presets": ["es2015", "react"], "presets": [
"es2015",
"react",
[
"env",
{
"loose": true,
"modules": false
}
]
],
"plugins": [ "plugins": [
"transform-react-jsx-source",
"transform-react-jsx-self",
"transform-decorators-legacy", "transform-decorators-legacy",
"transform-object-rest-spread" "transform-object-rest-spread",
[
"react-intl",
{
"messagesDir": "./build/messages"
}
]
] ]
} }

1
.foreman Normal file
View File

@ -0,0 +1 @@
procfile: Procfile.dev

4
.gitignore vendored
View File

@ -22,7 +22,7 @@ public/assets
.env .env
.env.production .env.production
node_modules/ node_modules/
neo4j/ build/
# Ignore Vagrant files # Ignore Vagrant files
.vagrant/ .vagrant/
@ -43,3 +43,5 @@ redis
# Ignore vim files # Ignore vim files
*~ *~
*.swp *.swp
/public/packs
/node_modules

4
.postcssrc.yml Normal file
View File

@ -0,0 +1,4 @@
plugins:
postcss-smart-import: {}
precss: {}
autoprefixer: {}

View File

@ -1,9 +1,7 @@
language: ruby language: ruby
cache: cache:
bundler: true bundler: true
yarn: true yarn: false
directories:
- node_modules
dist: trusty dist: trusty
sudo: false sudo: false
@ -42,7 +40,8 @@ install:
- yarn install - yarn install
before_script: before_script:
- bundle exec rails db:create db:migrate - bundle exec rails db:create db:schema:load
- bundle exec rails assets:precompile
script: script:
- bundle exec rspec - bundle exec rspec

View File

@ -10,8 +10,6 @@ EXPOSE 3000 4000
WORKDIR /mastodon WORKDIR /mastodon
COPY Gemfile Gemfile.lock package.json yarn.lock /mastodon/
RUN echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \ RUN echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \
&& BUILD_DEPS=" \ && BUILD_DEPS=" \
postgresql-dev \ postgresql-dev \
@ -23,6 +21,7 @@ RUN echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/reposit
$BUILD_DEPS \ $BUILD_DEPS \
nodejs@edge \ nodejs@edge \
nodejs-npm@edge \ nodejs-npm@edge \
git \
libpq \ libpq \
libxml2 \ libxml2 \
libxslt \ libxslt \
@ -31,14 +30,14 @@ RUN echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/reposit
imagemagick@edge \ imagemagick@edge \
ca-certificates \ ca-certificates \
&& npm install -g npm@3 && npm install -g yarn \ && npm install -g npm@3 && npm install -g yarn \
&& bundle install --deployment --without test development \
&& yarn --ignore-optional \
&& yarn cache clean \
&& npm -g cache clean \
&& update-ca-certificates \ && update-ca-certificates \
&& apk del $BUILD_DEPS \
&& rm -rf /tmp/* /var/cache/apk/* && rm -rf /tmp/* /var/cache/apk/*
COPY Gemfile Gemfile.lock package.json yarn.lock /mastodon/
RUN bundle install --deployment --without test development \
&& yarn --ignore-optional --pure-lockfile
COPY . /mastodon COPY . /mastodon
VOLUME /mastodon/public/system /mastodon/public/assets VOLUME /mastodon/public/system /mastodon/public/assets /mastodon/public/packs

34
Gemfile
View File

@ -5,22 +5,19 @@ ruby '>= 2.3.0', '< 2.5.0'
gem 'pkg-config' gem 'pkg-config'
gem 'rails', '~> 5.0.2'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'jquery-rails'
gem 'puma' gem 'puma'
gem 'rails', '~> 5.0.2'
gem 'uglifier', '>= 1.3.0'
gem 'hamlit-rails' gem 'hamlit-rails'
gem 'pg' gem 'pg'
gem 'pghero' gem 'pghero'
gem 'dotenv-rails' gem 'dotenv-rails'
gem 'font-awesome-rails'
gem 'best_in_place', '~> 3.0.1' gem 'best_in_place', '~> 3.0.1'
gem 'aws-sdk', '>= 2.0'
gem 'paperclip', '~> 5.1' gem 'paperclip', '~> 5.1'
gem 'paperclip-av-transcoder' gem 'paperclip-av-transcoder'
gem 'aws-sdk', '>= 2.0'
gem 'addressable' gem 'addressable'
gem 'devise' gem 'devise'
@ -58,18 +55,18 @@ gem 'sprockets-rails', require: 'sprockets/railtie'
gem 'statsd-instrument' gem 'statsd-instrument'
gem 'twitter-text' gem 'twitter-text'
gem 'tzinfo-data' gem 'tzinfo-data'
gem 'webpacker', '~>1.2'
gem 'whatlanguage' gem 'whatlanguage'
# For some reason the view specs start failing without this
gem 'react-rails' gem 'react-rails'
gem 'browserify-rails'
gem 'autoprefixer-rails'
group :development, :test do group :development, :test do
gem 'rspec-rails'
gem 'pry-rails'
gem 'fuubar'
gem 'fabrication' gem 'fabrication'
gem 'fuubar'
gem 'i18n-tasks', '~> 0.9.6' gem 'i18n-tasks', '~> 0.9.6'
gem 'pry-rails'
gem 'rspec-rails'
end end
group :test do group :test do
@ -83,24 +80,23 @@ group :test do
end end
group :development do group :development do
gem 'rubocop', '0.46.0', require: false
gem 'better_errors'
gem 'binding_of_caller'
gem 'letter_opener'
gem 'letter_opener_web'
gem 'bullet'
gem 'active_record_query_trace' gem 'active_record_query_trace'
gem 'annotate' gem 'annotate'
gem 'better_errors'
gem 'binding_of_caller'
gem 'bullet'
gem 'letter_opener'
gem 'letter_opener_web'
gem 'rubocop', '0.46.0', require: false
gem 'capistrano', '3.8.0' gem 'capistrano', '3.8.0'
gem 'capistrano-rails' gem 'capistrano-rails'
gem 'capistrano-rbenv' gem 'capistrano-rbenv'
gem 'capistrano-yarn' gem 'capistrano-yarn'
gem 'capistrano-faster-assets', '~> 1.0'
end end
group :production do group :production do
gem 'lograge'
gem 'rails_12factor' gem 'rails_12factor'
gem 'redis-rails' gem 'redis-rails'
gem 'lograge'
end end

View File

@ -43,15 +43,13 @@ GEM
public_suffix (~> 2.0, >= 2.0.2) public_suffix (~> 2.0, >= 2.0.2)
airbrussh (1.2.0) airbrussh (1.2.0)
sshkit (>= 1.6.1, != 1.7.0) sshkit (>= 1.6.1, != 1.7.0)
annotate (2.7.1) annotate (2.6.5)
activerecord (>= 3.2, < 6.0) activerecord (>= 2.3.0)
rake (>= 10.4, < 12.0) rake (>= 0.8.7)
arel (7.1.4) arel (7.1.4)
ast (2.3.0) ast (2.3.0)
attr_encrypted (3.0.3) attr_encrypted (3.0.3)
encryptor (~> 3.0.0) encryptor (~> 3.0.0)
autoprefixer-rails (6.7.7.2)
execjs
av (0.9.0) av (0.9.0)
cocaine (~> 0.5.3) cocaine (~> 0.5.3)
aws-sdk (2.9.12) aws-sdk (2.9.12)
@ -76,10 +74,6 @@ GEM
rack (>= 0.9.0) rack (>= 0.9.0)
binding_of_caller (0.7.2) binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1) debug_inspector (>= 0.0.1)
browserify-rails (4.1.0)
addressable (>= 2.4.0)
railties (>= 4.0.0, < 5.1)
sprockets (>= 3.6.0)
builder (3.2.3) builder (3.2.3)
bullet (5.5.1) bullet (5.5.1)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
@ -92,8 +86,6 @@ GEM
capistrano-bundler (1.2.0) capistrano-bundler (1.2.0)
capistrano (~> 3.1) capistrano (~> 3.1)
sshkit (~> 1.2) sshkit (~> 1.2)
capistrano-faster-assets (1.0.2)
capistrano (>= 3.1)
capistrano-rails (1.2.3) capistrano-rails (1.2.3)
capistrano (~> 3.1) capistrano (~> 3.1)
capistrano-bundler (~> 1.1) capistrano-bundler (~> 1.1)
@ -161,8 +153,6 @@ GEM
faker (1.7.3) faker (1.7.3)
i18n (~> 0.5) i18n (~> 0.5)
fast_blank (1.0.0) fast_blank (1.0.0)
font-awesome-rails (4.7.0.1)
railties (>= 3.2, < 5.1)
fuubar (2.2.0) fuubar (2.2.0)
rspec-core (~> 3.0) rspec-core (~> 3.0)
ruby-progressbar (~> 1.4) ruby-progressbar (~> 1.4)
@ -210,10 +200,6 @@ GEM
rainbow (~> 2.2) rainbow (~> 2.2)
terminal-table (>= 1.5.1) terminal-table (>= 1.5.1)
jmespath (1.3.1) jmespath (1.3.1)
jquery-rails (4.3.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
json (2.1.0) json (2.1.0)
kaminari (1.0.1) kaminari (1.0.1)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
@ -257,6 +243,7 @@ GEM
mimemagic (0.3.2) mimemagic (0.3.2)
mini_portile2 (2.1.0) mini_portile2 (2.1.0)
minitest (5.10.1) minitest (5.10.1)
multi_json (1.12.1)
net-scp (1.2.1) net-scp (1.2.1)
net-ssh (>= 2.6.5) net-ssh (>= 2.6.5)
net-ssh (4.1.0) net-ssh (4.1.0)
@ -348,8 +335,8 @@ GEM
thor (>= 0.18.1, < 2.0) thor (>= 0.18.1, < 2.0)
rainbow (2.2.2) rainbow (2.2.2)
rake rake
rake (11.3.0) rake (12.0.0)
react-rails (1.11.0) react-rails (2.1.0)
babel-transpiler (>= 0.7.0) babel-transpiler (>= 0.7.0)
connection_pool connection_pool
execjs execjs
@ -410,13 +397,6 @@ GEM
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.4.4) nokogiri (>= 1.4.4)
nokogumbo (~> 1.4.1) nokogumbo (~> 1.4.1)
sass (3.4.23)
sass-rails (5.0.6)
railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
sidekiq (4.2.10) sidekiq (4.2.10)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0) connection_pool (~> 2.2, >= 2.2.0)
@ -473,6 +453,10 @@ GEM
addressable (>= 2.3.6) addressable (>= 2.3.6)
crack (>= 0.3.2) crack (>= 0.3.2)
hashdiff hashdiff
webpacker (1.2)
activesupport (>= 4.2)
multi_json (~> 1.2)
railties (>= 4.2)
websocket-driver (0.6.5) websocket-driver (0.6.5)
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2) websocket-extensions (0.1.2)
@ -487,15 +471,12 @@ DEPENDENCIES
active_record_query_trace active_record_query_trace
addressable addressable
annotate annotate
autoprefixer-rails
aws-sdk (>= 2.0) aws-sdk (>= 2.0)
best_in_place (~> 3.0.1) best_in_place (~> 3.0.1)
better_errors better_errors
binding_of_caller binding_of_caller
browserify-rails
bullet bullet
capistrano (= 3.8.0) capistrano (= 3.8.0)
capistrano-faster-assets (~> 1.0)
capistrano-rails capistrano-rails
capistrano-rbenv capistrano-rbenv
capistrano-yarn capistrano-yarn
@ -507,7 +488,6 @@ DEPENDENCIES
fabrication fabrication
faker faker
fast_blank fast_blank
font-awesome-rails
fuubar fuubar
goldfinger goldfinger
hamlit-rails hamlit-rails
@ -517,7 +497,6 @@ DEPENDENCIES
http_accept_language http_accept_language
httplog httplog
i18n-tasks (~> 0.9.6) i18n-tasks (~> 0.9.6)
jquery-rails
kaminari kaminari
letter_opener letter_opener
letter_opener_web letter_opener_web
@ -554,7 +533,6 @@ DEPENDENCIES
rubocop (= 0.46.0) rubocop (= 0.46.0)
ruby-oembed ruby-oembed
sanitize sanitize
sass-rails (~> 5.0)
sidekiq sidekiq
sidekiq-unique-jobs sidekiq-unique-jobs
simple-navigation simple-navigation
@ -566,6 +544,7 @@ DEPENDENCIES
tzinfo-data tzinfo-data
uglifier (>= 1.3.0) uglifier (>= 1.3.0)
webmock webmock
webpacker (~> 1.2)
whatlanguage whatlanguage
RUBY VERSION RUBY VERSION

3
Procfile.dev Normal file
View File

@ -0,0 +1,3 @@
web: bundle exec rails s -p 3000
stream: yarn run start
webpack: ./bin/webpack-dev-server

View File

@ -1,15 +0,0 @@
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery2
//= require jquery_ujs
//= require components

View File

@ -1,9 +0,0 @@
//= require jquery2
//= require jquery_ujs
//= require extras
//= require best_in_place
//= require local_time
$(function () {
$(".best_in_place").best_in_place();
});

View File

@ -1,15 +0,0 @@
//= require_self
//= require react_ujs
window.React = require('react');
window.ReactDOM = require('react-dom');
window.Perf = require('react-addons-perf');
if (!window.Intl) {
require('intl');
require('intl/locale-data/jsonp/en.js');
}
//= require_tree ./components
window.Mastodon = require('./components/containers/mastodon');

View File

@ -1,16 +0,0 @@
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
import ImmutablePropTypes from 'react-immutable-proptypes';
const AutosuggestAccount = ({ account }) => (
<div className='autosuggest-account'>
<div className='autosuggest-account-icon'><Avatar src={account.get('avatar')} staticSrc={account.get('avatar_static')} size={18} /></div>
<DisplayName account={account} />
</div>
);
AutosuggestAccount.propTypes = {
account: ImmutablePropTypes.map.isRequired
};
export default AutosuggestAccount;

View File

@ -1,15 +0,0 @@
import { FormattedMessage } from 'react-intl';
import DisplayName from '../../../components/display_name';
import ImmutablePropTypes from 'react-immutable-proptypes';
const AutosuggestStatus = ({ status }) => (
<div className='autosuggest-status'>
<FormattedMessage id='search.status_by' defaultMessage='Status by {name}' values={{ name: <strong>@{status.getIn(['account', 'acct'])}</strong> }} />
</div>
);
AutosuggestStatus.propTypes = {
status: ImmutablePropTypes.map.isRequired
};
export default AutosuggestStatus;

View File

@ -1,44 +0,0 @@
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import Permalink from '../../../components/permalink';
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
import emojify from '../../../emoji';
import IconButton from '../../../components/icon_button';
import { defineMessages, injectIntl } from 'react-intl';
const messages = defineMessages({
authorize: { id: 'follow_request.authorize', defaultMessage: 'Authorize' },
reject: { id: 'follow_request.reject', defaultMessage: 'Reject' }
});
const AccountAuthorize = ({ intl, account, onAuthorize, onReject }) => {
const content = { __html: emojify(account.get('note')) };
return (
<div className='account-authorize__wrapper'>
<div className='account-authorize'>
<Permalink href={account.get('url')} to={`/accounts/${account.get('id')}`} className='detailed-status__display-name'>
<div className='account-authorize__avatar'><Avatar src={account.get('avatar')} staticSrc={account.get('avatar_static')} size={48} /></div>
<DisplayName account={account} />
</Permalink>
<div className='account__header__content' dangerouslySetInnerHTML={content} />
</div>
<div className='account--panel'>
<div className='account--panel__button'><IconButton title={intl.formatMessage(messages.authorize)} icon='check' onClick={onAuthorize} /></div>
<div className='account--panel__button'><IconButton title={intl.formatMessage(messages.reject)} icon='times' onClick={onReject} /></div>
</div>
</div>
)
};
AccountAuthorize.propTypes = {
account: ImmutablePropTypes.map.isRequired,
onAuthorize: PropTypes.func.isRequired,
onReject: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired
};
export default injectIntl(AccountAuthorize);

View File

@ -1,66 +0,0 @@
import Column from '../ui/components/column';
import ColumnLink from '../ui/components/column_link';
import ColumnSubheading from '../ui/components/column_subheading';
import { Link } from 'react-router';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
const messages = defineMessages({
heading: { id: 'getting_started.heading', defaultMessage: 'Getting started' },
public_timeline: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },
navigation_subheading: { id: 'column_subheading.navigation', defaultMessage: 'Navigation'},
settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings'},
community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
sign_out: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },
favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },
blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' },
mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },
info: { id: 'navigation_bar.info', defaultMessage: 'Extended information' }
});
const mapStateToProps = state => ({
me: state.getIn(['accounts', state.getIn(['meta', 'me'])])
});
const GettingStarted = ({ intl, me }) => {
let followRequests = '';
if (me.get('locked')) {
followRequests = <ColumnLink icon='users' text={intl.formatMessage(messages.follow_requests)} to='/follow_requests' />;
}
return (
<Column icon='asterisk' heading={intl.formatMessage(messages.heading)} hideHeadingOnMobile={true}>
<div className='getting-started__wrapper'>
<ColumnSubheading text={intl.formatMessage(messages.navigation_subheading)}/>
<ColumnLink icon='users' hideOnMobile={true} text={intl.formatMessage(messages.community_timeline)} to='/timelines/public/local' />
<ColumnLink icon='globe' hideOnMobile={true} text={intl.formatMessage(messages.public_timeline)} to='/timelines/public' />
<ColumnLink icon='star' text={intl.formatMessage(messages.favourites)} to='/favourites' />
{followRequests}
<ColumnLink icon='volume-off' text={intl.formatMessage(messages.mutes)} to='/mutes' />
<ColumnLink icon='ban' text={intl.formatMessage(messages.blocks)} to='/blocks' />
<ColumnSubheading text={intl.formatMessage(messages.settings_subheading)}/>
<ColumnLink icon='book' text={intl.formatMessage(messages.info)} href='/about/more' />
<ColumnLink icon='cog' text={intl.formatMessage(messages.preferences)} href='/settings/preferences' />
<ColumnLink icon='sign-out' text={intl.formatMessage(messages.sign_out)} href='/auth/sign_out' method='delete' />
</div>
<div className='scrollable optionally-scrollable' style={{ display: 'flex', flexDirection: 'column' }}>
<div className='static-content getting-started'>
<p><FormattedMessage id='getting_started.open_source_notice' defaultMessage='Mastodon is open source software. You can contribute or report issues on GitHub at {github}. {apps}.' values={{ github: <a href="https://github.com/tootsuite/mastodon" target="_blank">tootsuite/mastodon</a>, apps: <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md" target="_blank"><FormattedMessage id='getting_started.apps' defaultMessage='Various apps are available' /></a> }} /></p>
</div>
</div>
</Column>
);
};
GettingStarted.propTypes = {
intl: PropTypes.object.isRequired,
me: ImmutablePropTypes.map.isRequired
};
export default connect(mapStateToProps)(injectIntl(GettingStarted));

View File

@ -1,68 +0,0 @@
const bg = {
"column_back_button.label": "Назад",
"lightbox.close": "Затвори",
"loading_indicator.label": "Зареждане...",
"status.mention": "Споменаване",
"status.delete": "Изтриване",
"status.reply": "Отговор",
"status.reblog": "Споделяне",
"status.favourite": "Предпочитани",
"status.reblogged_by": "{name} сподели",
"status.sensitive_warning": "Деликатно съдържание",
"status.sensitive_toggle": "Покажи",
"video_player.toggle_sound": "Звук",
"account.mention": "Споменаване",
"account.edit_profile": "Редактирай профила си",
"account.unblock": "Не блокирай",
"account.unfollow": "Не следвай",
"account.block": "Блокирай",
"account.follow": "Последвай",
"account.posts": "Публикации",
"account.follows": "Следвам",
"account.followers": "Последователи",
"account.follows_you": "Твой последовател",
"account.requested": "В очакване на одобрение",
"getting_started.heading": "Първи стъпки",
"getting_started.about_addressing": "Можеш да последваш потребител, ако знаеш потребителското му име и домейна, на който се намира, като в полето за търсене ги въведеш по този начин: име@домейн",
"getting_started.about_shortcuts": "Ако с търсения потребител се намирате на един и същ домейн, достатъчно е да въведеш само името. Същото важи и за споменаване на хора в публикации.",
"getting_started.about_developer": "Можеш да потърсиш разработчика на този проект като: Gargron@mastodon.social",
"getting_started.open_source_notice": "Mastodon е софтуер с отворен код. Можеш да помогнеш или да докладваш за проблеми в Github: {github}.",
"column.home": "Начало",
"column.mentions": "Споменавания",
"column.public": "Публичен канал",
"column.notifications": "Известия",
"tabs_bar.compose": "Съставяне",
"tabs_bar.home": "Начало",
"tabs_bar.mentions": "Споменавания",
"tabs_bar.public": "Публичен канал",
"tabs_bar.notifications": "Известия",
"compose_form.placeholder": "Какво си мислиш?",
"compose_form.publish": "Раздумай",
"compose_form.sensitive": "Отбележи съдържанието като деликатно",
"compose_form.spoiler": "Скрий текста зад предупреждение",
"compose_form.private": "Отбележи като поверително",
"compose_form.privacy_disclaimer": "Поверителни публикации ще бъдат изпратени до споменатите потребители на {domains}. Доверяваш ли се на {domainsCount, plural, one {that server} other {those servers}}, че няма да издаде твоята публикация?",
"compose_form.unlisted": "Не показвай в публичния канал",
"navigation_bar.edit_profile": "Редактирай профил",
"navigation_bar.preferences": "Предпочитания",
"navigation_bar.public_timeline": "Публичен канал",
"navigation_bar.logout": "Излизане",
"reply_indicator.cancel": "Отказ",
"search.placeholder": "Търсене",
"search.account": "Акаунт",
"search.hashtag": "Хаштаг",
"upload_button.label": "Добави медия",
"upload_form.undo": "Отмяна",
"notification.follow": "{name} те последва",
"notification.favourite": "{name} хареса твоята публикация",
"notification.reblog": "{name} сподели твоята публикация",
"notification.mention": "{name} те спомена",
"notifications.column_settings.alert": "Десктоп известия",
"notifications.column_settings.show": "Покажи в колона",
"notifications.column_settings.follow": "Нови последователи:",
"notifications.column_settings.favourite": "Предпочитани:",
"notifications.column_settings.mention": "Споменавания:",
"notifications.column_settings.reblog": "Споделяния:",
};
export default bg;

View File

@ -1,68 +0,0 @@
const eo = {
"column_back_button.label": "Reveni",
"lightbox.close": "Fermi",
"loading_indicator.label": "Ŝarĝanta...",
"status.mention": "Mencii @{name}",
"status.delete": "Forigi",
"status.reply": "Respondi",
"status.reblog": "Diskonigi",
"status.favourite": "Favori",
"status.reblogged_by": "{name} diskonigita",
"status.sensitive_warning": "Tikla enhavo",
"status.sensitive_toggle": "Alklaki por vidi",
"video_player.toggle_sound": "Aktivigi sonojn",
"account.mention": "Mencii @{name}",
"account.edit_profile": "Redakti la profilon",
"account.unblock": "Malbloki @{name}",
"account.unfollow": "Malsekvi",
"account.block": "Bloki @{name}",
"account.follow": "Sekvi",
"account.posts": "Mesaĝoj",
"account.follows": "Sekvatoj",
"account.followers": "Sekvantoj",
"account.follows_you": "Sekvas vin",
"account.requested": "Atendas aprobon",
"getting_started.heading": "Por komenci",
"getting_started.about_addressing": "Vi povas sekvi homojn se vi konas la uzantnomon kaj domajnon tajpinte retpoŝtecan adreson en la serĉilon.",
"getting_started.about_shortcuts": "Se la celita uzanto troviĝas en la sama domajno de vi, uzi nur la uzantnomon sufiĉos. La sama regulo validas por mencii aliajn uzantojn en mesaĝo.",
"getting_started.open_source_notice": "Mastodon estas malfermitkoda programo. Vi povas kontribui aŭ raporti problemojn en github je {github}. {apps}.",
"column.home": "Hejmo",
"column.community": "Loka tempolinio",
"column.public": "Fratara tempolinio",
"column.notifications": "Sciigoj",
"tabs_bar.compose": "Ekskribi",
"tabs_bar.home": "Hejmo",
"tabs_bar.mentions": "Sciigoj",
"tabs_bar.public": "Fratara tempolinio",
"tabs_bar.notifications": "Sciigoj",
"compose_form.placeholder": "Pri kio vi pensas?",
"compose_form.publish": "Hup",
"compose_form.sensitive": "Marki ke la enhavo estas tikla",
"compose_form.spoiler": "Kaŝi la tekston malantaŭ averto",
"compose_form.private": "Marki ke la enhavo estas privata",
"compose_form.privacy_disclaimer": "Via privata mesaĝo estos sendita nur al menciitaj uzantoj en {domains}. Ĉu vi fidas {domainsCount, plural, one {tiun servilon} other {tiujn servilojn}}? Mesaĝa privateco funkcias nur en aperaĵoj de Mastodon. Se {domains} {domainsCount, plural, one {ne estas aperaĵo de Mastodon} other {ne estas aperaĵoj de Mastodon}}, estos neniu indiko ke via mesaĝo estas privata, kaj ĝi povus esti diskonigita aŭ videbligita al necelitaj ricevantoj.",
"compose_form.unlisted": "Ne afiŝi en publikaj tempolinioj",
"navigation_bar.edit_profile": "Redakti la profilon",
"navigation_bar.preferences": "Preferoj",
"navigation_bar.community_timeline": "Loka tempolinio",
"navigation_bar.public_timeline": "Fratara tempolinio",
"navigation_bar.logout": "Elsaluti",
"reply_indicator.cancel": "Rezigni",
"search.placeholder": "Serĉi",
"search.account": "Konto",
"search.hashtag": "Kradvorto",
"upload_button.label": "Aldoni enhavaĵon",
"upload_form.undo": "Malfari",
"notification.follow": "{name} sekvis vin",
"notification.favourite": "{name} favoris vian mesaĝon",
"notification.reblog": "{name} diskonigis vian mesaĝon",
"notification.mention": "{name} menciis vin",
"notifications.column_settings.alert": "Retumilaj atentigoj",
"notifications.column_settings.show": "Montri en kolono",
"notifications.column_settings.follow": "Novaj sekvantoj:",
"notifications.column_settings.favourite": "Favoroj:",
"notifications.column_settings.mention": "Mencioj:",
"notifications.column_settings.reblog": "Diskonigoj:",
};
export default eo;

View File

@ -1,93 +0,0 @@
const es = {
"column_back_button.label": "Atrás",
"lightbox.close": "Cerrar",
"loading_indicator.label": "Cargando...",
"status.mention": "Mencionar",
"status.delete": "Borrar",
"status.reply": "Responder",
"status.reblog": "Retoot",
"status.favourite": "Favorito",
"status.reblogged_by": "Retooteado por {name}",
"status.sensitive_warning": "Contenido sensible",
"status.sensitive_toggle": "Click para ver",
"status.show_more": "Mostrar más",
"status.show_less": "Mostrar menos",
"status.open": "Expandir estado",
"status.report": "Reportar",
"video_player.toggle_sound": "Act/Desac. sonido",
"account.mention": "Mencionar",
"account.edit_profile": "Editar perfil",
"account.unblock": "Desbloquear",
"account.unfollow": "Dejar de seguir",
"account.mute": "Silenciar",
"account.block": "Bloquear",
"account.follow": "Seguir",
"account.posts": "Publicaciones",
"account.follows": "Seguir",
"account.followers": "Seguidores",
"account.follows_you": "Te sigue",
"account.requested": "Esperando aprobación",
"getting_started.heading": "Primeros pasos",
"getting_started.about_addressing": "Puedes seguir a gente si conoces su nombre de usuario y el dominio en el que están registrados, introduciendo algo similar a una dirección de correo electrónico en el formulario en la parte superior de la barra lateral.",
"getting_started.about_shortcuts": "Si el usuario que buscas está en el mismo dominio que tú, simplemente funcionará introduciendo el nombre de usuario. La misma regla se aplica para mencionar a usuarios.",
"getting_started.open_source_notice": "Mastodon es software libre. Puedes contribuir o reportar errores en {github}. {apps}.",
"column.home": "Inicio",
"column.community": "Historia local",
"column.public": "Historia federada",
"column.notifications": "Notificaciones",
"column.blocks": "Usuarios bloqueados",
"column.favourites": "Favoritos",
"column.follow_requests": "Solicitudes para seguirte",
"column.mutes": "Usuarios silenciados",
"tabs_bar.compose": "Redactar",
"tabs_bar.home": "Inicio",
"tabs_bar.mentions": "Menciones",
"tabs_bar.public": "Público",
"tabs_bar.notifications": "Notificaciones",
"compose_form.placeholder": "¿En qué estás pensando?",
"compose_form.publish": "Tootear",
"compose_form.sensitive": "Marcar contenido como sensible",
"compose_form.spoiler": "Ocultar texto tras advertencia",
"compose_form.spoiler_placeholder": "Advertencia de contenido",
"composer_form.private": "Marcar como privado",
"composer_form.privacy_disclaimer": "Tu estado se mostrará a los usuarios mencionados en {domains}. Tu estado podrá ser visto en otras instancias, quizás no quieras que tu estado sea visto por otros usuarios.",
"compose_form.unlisted": "No mostrar en la historia federada",
"navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.preferences": "Preferencias",
"navigation_bar.community_timeline": "Historia local",
"navigation_bar.public_timeline": "Historia federada",
"navigation_bar.favourites": "Favoritos",
"navigation_bar.blocks": "Usuarios bloqueados",
"navigation_bar.info": "Información adicional",
"navigation_bar.logout": "Cerrar sesión",
"navigation_bar.follow_requests": "Solicitudes para seguirte",
"navigation_bar.mutes": "Usuarios silenciados",
"reply_indicator.cancel": "Cancelar",
"search.placeholder": "Buscar",
"search.account": "Cuenta",
"search.hashtag": "Etiqueta",
"upload_button.label": "Subir multimedia",
"upload_form.undo": "Deshacer",
"notification.follow": "{name} te empezó a seguir",
"notification.favourite": "{name} marcó tu estado como favorito",
"notification.reblog": "{name} ha retooteado tu estado",
"notification.mention": "{name} te ha mencionado",
"notifications.column_settings.alert": "Notificaciones de escritorio",
"notifications.column_settings.show": "Mostrar en columna",
"notifications.column_settings.follow": "Nuevos seguidores:",
"notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.mention": "Menciones:",
"notifications.column_settings.reblog": "Retoots:",
"emoji_button.label": "Insertar emoji",
"privacy.public.short": "Público",
"privacy.public.long": "Mostrar en la historia federada",
"privacy.unlisted.short": "Sin federar",
"privacy.unlisted.long": "No mostrar en la historia federada",
"privacy.private.short": "Privado",
"privacy.private.long": "Sólo mostrar a seguidores",
"privacy.direct.short": "Directo",
"privacy.direct.long": "Sólo mostrar a los usuarios mencionados",
"privacy.change": "Ajustar privacidad"
};
export default es;

View File

@ -1,68 +0,0 @@
const fi = {
"column_back_button.label": "Takaisin",
"lightbox.close": "Sulje",
"loading_indicator.label": "Ladataan...",
"status.mention": "Mainitse @{name}",
"status.delete": "Poista",
"status.reply": "Vastaa",
"status.reblog": "Buustaa",
"status.favourite": "Tykkää",
"status.reblogged_by": "{name} buustasi",
"status.sensitive_warning": "Arkaluontoista sisältöä",
"status.sensitive_toggle": "Klikkaa nähdäksesi",
"video_player.toggle_sound": "Äänet päälle/pois",
"account.mention": "Mainitse @{name}",
"account.edit_profile": "Muokkaa",
"account.unblock": "Salli @{name}",
"account.unfollow": "Lopeta seuraaminen",
"account.block": "Estä @{name}",
"account.follow": "Seuraa",
"account.posts": "Postit",
"account.follows": "Seuraa",
"account.followers": "Seuraajia",
"account.follows_you": "Seuraa sinua",
"account.requested": "Odottaa hyväksyntää",
"getting_started.heading": "Aloitus",
"getting_started.about_addressing": "Voit seurata ihmisiä jos tiedät heidän käyttäjänimensä ja domainin missä he ovat syöttämällä e-mail-esque osoitteen Etsi kenttään.",
"getting_started.about_shortcuts": "Jos etsimäsi henkilö on samassa domainissa kuin sinä, pelkkä käyttäjänimi kelpaa. Sama pätee kun mainitset ihmisiä statuksessasi",
"getting_started.open_source_notice": "Mastodon Mastodon on avoimen lähdekoodin ohjelma. Voit avustaa tai raportoida ongelmia GitHub palvelussa {github}. {apps}.",
"column.home": "Koti",
"column.community": "Paikallinen aikajana",
"column.public": "Yleinen aikajana",
"column.notifications": "Ilmoitukset",
"tabs_bar.compose": "Luo",
"tabs_bar.home": "Koti",
"tabs_bar.mentions": "Maininnat",
"tabs_bar.public": "Yleinen aikajana",
"tabs_bar.notifications": "Ilmoitukset",
"compose_form.placeholder": "Mitä sinulla on mielessä?",
"compose_form.publish": "Toot",
"compose_form.sensitive": "Merkitse media herkäksi",
"compose_form.spoiler": "Piiloita teksti varoituksen taakse",
"compose_form.private": "Merkitse yksityiseksi",
"compose_form.privacy_disclaimer": "Sinun yksityinen status toimitetaan mainitsemallesi käyttäjille domaineissa {domains}. Luotatko {domainsCount, plural, one {tähän palvelimeen} other {näihin palvelimiin}}? Postauksen yksityisyys toimii van Mastodon palvelimilla. Jos {domains} {domainsCount, plural, one {ei ole Mastodon palvelin} other {eivät ole Mastodon palvelin}}, viestiin ei tule Yksityinen-merkintää, ja sitä voidaan boostata tai muuten tehdä näkyväksi muille vastaanottajille.",
"compose_form.unlisted": "Älä näytä yleisillä aikajanoilla",
"navigation_bar.edit_profile": "Muokkaa profiilia",
"navigation_bar.preferences": "Ominaisuudet",
"navigation_bar.community_timeline": "Paikallinen aikajana",
"navigation_bar.public_timeline": "Yleinen aikajana",
"navigation_bar.logout": "Kirjaudu ulos",
"reply_indicator.cancel": "Peruuta",
"search.placeholder": "Hae",
"search.account": "Tili",
"search.hashtag": "Hashtag",
"upload_button.label": "Lisää mediaa",
"upload_form.undo": "Peru",
"notification.follow": "{name} seurasi sinua",
"notification.favourite": "{name} tykkäsi statuksestasi",
"notification.reblog": "{name} buustasi statustasi",
"notification.mention": "{name} mainitsi sinut",
"notifications.column_settings.alert": "Työpöytä ilmoitukset",
"notifications.column_settings.show": "Näytä sarakkeessa",
"notifications.column_settings.follow": "Uusia seuraajia:",
"notifications.column_settings.favourite": "Tykkäyksiä:",
"notifications.column_settings.mention": "Mainintoja:",
"notifications.column_settings.reblog": "Buusteja:",
};
export default fi;

View File

@ -1,57 +0,0 @@
const hu = {
"column_back_button.label": "Vissza",
"lightbox.close": "Bezárás",
"loading_indicator.label": "Betöltés...",
"status.mention": "Említés",
"status.delete": "Törlés",
"status.reply": "Válasz",
"status.reblog": "Reblog",
"status.favourite": "Kedvenc",
"status.reblogged_by": "{name} reblogolta",
"status.sensitive_warning": "Érzékeny tartalom",
"status.sensitive_toggle": "Katt a megtekintéshez",
"video_player.toggle_sound": "Hang kapcsolása",
"account.mention": "Említés",
"account.edit_profile": "Profil szerkesztése",
"account.unblock": "Blokkolás levétele",
"account.unfollow": "Követés abbahagyása",
"account.block": "Blokkolás",
"account.follow": "Követés",
"account.posts": "Posts",
"account.follows": "Követve",
"account.followers": "Követők",
"account.follows_you": "Követnek téged",
"getting_started.heading": "Első lépések",
"getting_started.about_addressing": "Követhetsz embereket felhasználónevük és a doménjük ismeretében, amennyiben megadod ezt az e-mail-szerű címet az oldalsáv tetején lévő rubrikában.",
"getting_started.about_shortcuts": "Ha a célzott személy azonos doménen tartózkodik, a felhasználónév elegendő. Ugyanez érvényes mikor személyeket említesz az állapotokban.",
"getting_started.about_developer": "A projekt fejlesztője követhető, mint Gargron@mastodon.social",
"column.home": "Kezdőlap",
"column.mentions": "Említések",
"column.public": "Nyilvános",
"column.notifications": "Értesítések",
"tabs_bar.compose": "Összeállítás",
"tabs_bar.home": "Kezdőlap",
"tabs_bar.mentions": "Említések",
"tabs_bar.public": "Nyilvános",
"tabs_bar.notifications": "Notifications",
"compose_form.placeholder": "Mire gondolsz?",
"compose_form.publish": "Tülk!",
"compose_form.sensitive": "Tartalom érzékenynek jelölése",
"compose_form.unlisted": "Listázatlan mód",
"navigation_bar.edit_profile": "Profil szerkesztése",
"navigation_bar.preferences": "Beállítások",
"navigation_bar.public_timeline": "Nyilvános időfolyam",
"navigation_bar.logout": "Kijelentkezés",
"reply_indicator.cancel": "Mégsem",
"search.placeholder": "Keresés",
"search.account": "Fiók",
"search.hashtag": "Hashtag",
"upload_button.label": "Média hozzáadása",
"upload_form.undo": "Mégsem",
"notification.follow": "{name} követ téged",
"notification.favourite": "{name} kedvencnek jelölte az állapotod",
"notification.reblog": "{name} reblogolta az állapotod",
"notification.mention": "{name} megemlített"
};
export default hu;

View File

@ -1,57 +0,0 @@
import ar from './ar';
import en from './en';
import de from './de';
import es from './es';
import fa from './fa';
import he from './he';
import hr from './hr';
import hu from './hu';
import io from './io';
import it from './it';
import fr from './fr';
import nl from './nl';
import no from './no';
import oc from './oc';
import pt from './pt';
import pt_br from './pt-br';
import uk from './uk';
import fi from './fi';
import eo from './eo';
import ru from './ru';
import ja from './ja';
import zh_hk from './zh-hk';
import zh_cn from './zh-cn';
import bg from './bg';
import id from './id';
const locales = {
ar,
en,
de,
es,
fa,
he,
hr,
hu,
io,
it,
fr,
nl,
no,
oc,
pt,
'pt-BR': pt_br,
uk,
fi,
eo,
ru,
ja,
'zh-HK': zh_hk,
'zh-CN': zh_cn,
bg,
id,
};
export default function getMessagesForLocale (locale) {
return locales[locale];
};

View File

@ -1,57 +0,0 @@
const uk = {
"column_back_button.label": "Назад",
"lightbox.close": "Закрити",
"loading_indicator.label": "Завантаження...",
"status.mention": "Згадати",
"status.delete": "Видалити",
"status.reply": "Відповісти",
"status.reblog": "Передмухнути",
"status.favourite": "Подобається",
"status.reblogged_by": "{name} передмухнув(-ла)",
"status.sensitive_warning": "Непристойний зміст",
"status.sensitive_toggle": "Натисніть, щоб подивитися",
"video_player.toggle_sound": "Увімкнути/вимкнути звук",
"account.mention": "Згадати",
"account.edit_profile": "Налаштування профілю",
"account.unblock": "Розблокувати",
"account.unfollow": "Відписатися",
"account.block": "Заблокувати",
"account.follow": "Підписатися",
"account.posts": "Пости",
"account.follows": "Підписки",
"account.followers": "Підписники",
"account.follows_you": "Підписаний",
"getting_started.heading": "Ласкаво просимо",
"getting_started.about_addressing": "Ви можете підписуватись на людей, якщо ви знаєте їх ім'я користувача чи домен, шляхом введення email-подібної адреси у верхньому рядку бокової панелі.",
"getting_started.about_shortcuts": "Якщо користувач, якого ви шукаєте, знаходиться на тому ж домені, що й ви, можна просто ввести ім'я користувача. Це правило стосується й згадування людей у статусах.",
"getting_started.about_developer": "Розробник проекту знаходиться за адресою Gargron@mastodon.social",
"column.home": "Головна",
"column.mentions": "Згадування",
"column.public": "Стіна",
"column.notifications": "Сповіщення",
"tabs_bar.compose": "Написати",
"tabs_bar.home": "Головна",
"tabs_bar.mentions": "Згадування",
"tabs_bar.public": "Стіна",
"tabs_bar.notifications": "Сповіщення",
"compose_form.placeholder": "Що у Вас на думці?",
"compose_form.publish": "Дмухнути",
"compose_form.sensitive": "Непристойний зміст",
"compose_form.unlisted": "Таємний режим",
"navigation_bar.edit_profile": "Редагувати профіль",
"navigation_bar.preferences": "Налаштування",
"navigation_bar.public_timeline": "Публічна стіна",
"navigation_bar.logout": "Вийти",
"reply_indicator.cancel": "Відмінити",
"search.placeholder": "Пошук",
"search.account": "Аккаунт",
"search.hashtag": "Хештеґ",
"upload_button.label": "Додати медіа",
"upload_form.undo": "Відмінити",
"notification.follow": "{name} підписався(-лась) на Вас",
"notification.favourite": "{name} сподобався ваш допис",
"notification.reblog": "{name} передмухнув(-ла) Ваш статус",
"notification.mention": "{name} згадав(-ла) Вас"
};
export default uk;

View File

@ -1,11 +0,0 @@
@font-face {
font-family: 'Montserrat';
src: local('Montserrat');
src: font-url('montserrat/Montserrat-Regular.eot');
src: font-url('montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'),
font-url('montserrat/Montserrat-Regular.woff2') format('woff2'),
font-url('montserrat/Montserrat-Regular.woff') format('woff'),
font-url('montserrat/Montserrat-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
}

View File

@ -1,12 +0,0 @@
@font-face {
font-family: 'Roboto Mono';
src: local('Roboto Mono');
src: font-url('roboto-mono/robotomono-regular-webfont.eot');
src: font-url('roboto-mono/robotomono-regular-webfont.eot?#iefix') format('embedded-opentype'),
font-url('roboto-mono/robotomono-regular-webfont.woff2') format('woff2'),
font-url('roboto-mono/robotomono-regular-webfont.woff') format('woff'),
font-url('roboto-mono/robotomono-regular-webfont.ttf') format('truetype'),
font-url('roboto-mono/robotomono-regular-webfont.svg#roboto_monoregular') format('svg');
font-weight: 400;
font-style: normal;
}

View File

@ -1,52 +0,0 @@
@font-face {
font-family: 'Roboto';
src: local('Roboto');
src: font-url('roboto/roboto-italic-webfont.eot');
src: font-url('roboto/roboto-italic-webfont.eot?#iefix') format('embedded-opentype'),
font-url('roboto/roboto-italic-webfont.woff2') format('woff2'),
font-url('roboto/roboto-italic-webfont.woff') format('woff'),
font-url('roboto/roboto-italic-webfont.ttf') format('truetype'),
font-url('roboto/roboto-italic-webfont.svg#roboto-italic-webfont') format('svg');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Roboto';
src: local('Roboto');
src: font-url('roboto/roboto-bold-webfont.eot');
src: local('Roboto bold'), local('roboto-bold'),
font-url('roboto/roboto-bold-webfont.eot?#iefix') format('embedded-opentype'),
font-url('roboto/roboto-bold-webfont.woff2') format('woff2'),
font-url('roboto/roboto-bold-webfont.woff') format('woff'),
font-url('roboto/roboto-bold-webfont.ttf') format('truetype'),
font-url('roboto/roboto-bold-webfont.svg#roboto-bold-webfont') format('svg');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: local('Roboto');
src: font-url('roboto/roboto-medium-webfont.eot');
src: font-url('roboto/roboto-medium-webfont.eot?#iefix') format('embedded-opentype'),
font-url('roboto/roboto-medium-webfont.woff2') format('woff2'),
font-url('roboto/roboto-medium-webfont.woff') format('woff'),
font-url('roboto/roboto-medium-webfont.ttf') format('truetype'),
font-url('roboto/roboto-medium-webfont.svg#roboto-medium-webfont') format('svg');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: local('Roboto');
src: font-url('roboto/roboto-regular-webfont.eot');
src: font-url('roboto/roboto-regular-webfont.eot?#iefix') format('embedded-opentype'),
font-url('roboto/roboto-regular-webfont.woff2') format('woff2'),
font-url('roboto/roboto-regular-webfont.woff') format('woff'),
font-url('roboto/roboto-regular-webfont.ttf') format('truetype'),
font-url('roboto/roboto-regular-webfont.svg#roboto-regular-webfont') format('svg');
font-weight: normal;
font-style: normal;
}

View File

@ -10,7 +10,7 @@ module ApplicationHelper
end end
def add_rtl_body_class(other_classes) def add_rtl_body_class(other_classes)
other_classes = "#{other_classes} rtl" if [:ar, :fa].include?(I18n.locale) other_classes = "#{other_classes} rtl" if [:ar, :fa, :he].include?(I18n.locale)
other_classes other_classes
end end
@ -22,4 +22,8 @@ module ApplicationHelper
def title def title
Rails.env.production? ? site_title : "#{site_title} (Dev)" Rails.env.production? ? site_title : "#{site_title} (Dev)"
end end
def fa_icon(icon)
content_tag(:i, nil, class: 'fa ' + icon.split(' ').map { |cl| "fa-#{cl}" }.join(' '))
end
end end

View File

Before

Width:  |  Height:  |  Size: 339 KiB

After

Width:  |  Height:  |  Size: 339 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 258 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 131 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 244 KiB

View File

Before

Width:  |  Height:  |  Size: 174 B

After

Width:  |  Height:  |  Size: 174 B

View File

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Avatar from './avatar'; import Avatar from './avatar';
@ -5,6 +6,7 @@ import DisplayName from './display_name';
import Permalink from './permalink'; import Permalink from './permalink';
import IconButton from './icon_button'; import IconButton from './icon_button';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
follow: { id: 'account.follow', defaultMessage: 'Follow' }, follow: { id: 'account.follow', defaultMessage: 'Follow' },
@ -14,7 +16,7 @@ const messages = defineMessages({
unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' } unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }
}); });
class Account extends React.PureComponent { class Account extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
const filename = url => url.split('/').pop().split('#')[0].split('?')[0]; const filename = url => url.split('/').pop().split('#')[0].split('?')[0];

View File

@ -1,7 +1,9 @@
import React from 'react';
import AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container'; import AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { isRtl } from '../rtl'; import { isRtl } from '../rtl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const textAtCursorMatchesToken = (str, caretPosition) => { const textAtCursorMatchesToken = (str, caretPosition) => {
let word; let word;
@ -28,7 +30,7 @@ const textAtCursorMatchesToken = (str, caretPosition) => {
} }
}; };
class AutosuggestTextarea extends React.Component { class AutosuggestTextarea extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,21 +1,26 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
class Avatar extends React.PureComponent { class Avatar extends React.PureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);
this.state = { this.state = {
hovering: false hovering: false
}; };
this.handleMouseEnter = this.handleMouseEnter.bind(this); this.handleMouseEnter = this.handleMouseEnter.bind(this);
this.handleMouseLeave = this.handleMouseLeave.bind(this); this.handleMouseLeave = this.handleMouseLeave.bind(this);
} }
handleMouseEnter () { handleMouseEnter () {
if (this.props.animate) return;
this.setState({ hovering: true }); this.setState({ hovering: true });
} }
handleMouseLeave () { handleMouseLeave () {
if (this.props.animate) return;
this.setState({ hovering: false }); this.setState({ hovering: false });
} }

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
class Button extends React.PureComponent { class Button extends React.PureComponent {

View File

@ -1,3 +1,4 @@
import React from 'react';
import { Motion, spring } from 'react-motion'; import { Motion, spring } from 'react-motion';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { Motion, spring } from 'react-motion'; import { Motion, spring } from 'react-motion';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import escapeTextContentForBrowser from 'escape-html'; import escapeTextContentForBrowser from 'escape-html';
import emojify from '../emoji'; import emojify from '../emoji';

View File

@ -1,3 +1,4 @@
import React from 'react';
import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown'; import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
class ExtendedVideoPlayer extends React.PureComponent { class ExtendedVideoPlayer extends React.PureComponent {

View File

@ -1,3 +1,4 @@
import React from 'react';
import { Motion, spring } from 'react-motion'; import { Motion, spring } from 'react-motion';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
const LoadingIndicator = () => ( const LoadingIndicator = () => (

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import IconButton from './icon_button'; import IconButton from './icon_button';

View File

@ -1,8 +1,11 @@
import React from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
const MissingIndicator = () => ( const MissingIndicator = () => (
<div className='missing-indicator'> <div className='missing-indicator'>
<FormattedMessage id='missing_indicator.label' defaultMessage='Not found' /> <div>
<FormattedMessage id='missing_indicator.label' defaultMessage='Not found' />
</div>
</div> </div>
); );

View File

@ -1,6 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
class Permalink extends React.Component { class Permalink extends React.PureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);
@ -17,7 +18,11 @@ class Permalink extends React.Component {
render () { render () {
const { href, children, className, ...other } = this.props; const { href, children, className, ...other } = this.props;
return <a href={href} onClick={this.handleClick} {...other} className={'permalink ' + className}>{children}</a>; return (
<a href={href} onClick={this.handleClick} {...other} className={'permalink ' + className}>
{children}
</a>
);
} }
} }

View File

@ -1,3 +1,4 @@
import React from 'react';
import { injectIntl, FormattedRelative } from 'react-intl'; import { injectIntl, FormattedRelative } from 'react-intl';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Avatar from './avatar'; import Avatar from './avatar';
@ -11,8 +12,9 @@ import StatusActionBar from './status_action_bar';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import emojify from '../emoji'; import emojify from '../emoji';
import escapeTextContentForBrowser from 'escape-html'; import escapeTextContentForBrowser from 'escape-html';
import ImmutablePureComponent from 'react-immutable-pure-component';
class Status extends React.PureComponent { class Status extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import IconButton from './icon_button'; import IconButton from './icon_button';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import escapeTextContentForBrowser from 'escape-html'; import escapeTextContentForBrowser from 'escape-html';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
@ -18,10 +19,11 @@ class StatusContent extends React.PureComponent {
this.handleMouseDown = this.handleMouseDown.bind(this) this.handleMouseDown = this.handleMouseDown.bind(this)
this.handleMouseUp = this.handleMouseUp.bind(this); this.handleMouseUp = this.handleMouseUp.bind(this);
this.handleSpoilerClick = this.handleSpoilerClick.bind(this); this.handleSpoilerClick = this.handleSpoilerClick.bind(this);
this.setRef = this.setRef.bind(this);
}; };
componentDidMount () { componentDidMount () {
const node = ReactDOM.findDOMNode(this); const node = this.node;
const links = node.querySelectorAll('a'); const links = node.querySelectorAll('a');
for (var i = 0; i < links.length; ++i) { for (var i = 0; i < links.length; ++i) {
@ -84,6 +86,10 @@ class StatusContent extends React.PureComponent {
this.setState({ hidden: !this.state.hidden }); this.setState({ hidden: !this.state.hidden });
} }
setRef (c) {
this.node = c;
}
render () { render () {
const { status } = this.props; const { status } = this.props;
const { hidden } = this.state; const { hidden } = this.state;
@ -119,12 +125,13 @@ class StatusContent extends React.PureComponent {
{mentionsPlaceholder} {mentionsPlaceholder}
<div style={{ display: hidden ? 'none' : 'block', ...directionStyle }} dangerouslySetInnerHTML={content} /> <div ref={this.setRef} style={{ display: hidden ? 'none' : 'block', ...directionStyle }} dangerouslySetInnerHTML={content} />
</div> </div>
); );
} else if (this.props.onClick) { } else if (this.props.onClick) {
return ( return (
<div <div
ref={this.setRef}
className='status__content' className='status__content'
style={{ ...directionStyle }} style={{ ...directionStyle }}
onMouseDown={this.handleMouseDown} onMouseDown={this.handleMouseDown}
@ -135,6 +142,7 @@ class StatusContent extends React.PureComponent {
} else { } else {
return ( return (
<div <div
ref={this.setRef}
className='status__content status__content--no-action' className='status__content status__content--no-action'
style={{ ...directionStyle }} style={{ ...directionStyle }}
dangerouslySetInnerHTML={content} dangerouslySetInnerHTML={content}

View File

@ -1,11 +1,13 @@
import React from 'react';
import Status from './status'; import Status from './status';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import { ScrollContainer } from 'react-router-scroll'; import { ScrollContainer } from 'react-router-scroll';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import StatusContainer from '../containers/status_container'; import StatusContainer from '../containers/status_container';
import LoadMore from './load_more'; import LoadMore from './load_more';
import ImmutablePureComponent from 'react-immutable-pure-component';
class StatusList extends React.PureComponent { class StatusList extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import IconButton from './icon_button'; import IconButton from './icon_button';
@ -40,7 +41,7 @@ class VideoPlayer extends React.PureComponent {
handleVideoClick (e) { handleVideoClick (e) {
e.stopPropagation(); e.stopPropagation();
const node = ReactDOM.findDOMNode(this).querySelector('video'); const node = this.video;
if (node.paused) { if (node.paused) {
node.play(); node.play();
@ -173,7 +174,18 @@ class VideoPlayer extends React.PureComponent {
{spoilerButton} {spoilerButton}
{muteButton} {muteButton}
{expandButton} {expandButton}
<video className='status__video-player-video' role='button' tabIndex='0' ref={this.setRef} src={media.get('url')} autoPlay={!isIOS()} loop={true} muted={this.state.muted} onClick={this.handleVideoClick} />
<video
className='status__video-player-video'
role='button'
tabIndex='0'
ref={this.setRef}
src={media.get('url')}
autoPlay={!isIOS()}
loop={true}
muted={this.state.muted}
onClick={this.handleVideoClick}
/>
</div> </div>
); );
} }

View File

@ -1,3 +1,4 @@
import React from 'react';
import { Provider } from 'react-redux'; import { Provider } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import configureStore from '../store/configureStore'; import configureStore from '../store/configureStore';
@ -62,9 +63,6 @@ import uk from 'react-intl/locale-data/uk';
import zh from 'react-intl/locale-data/zh'; import zh from 'react-intl/locale-data/zh';
import bg from 'react-intl/locale-data/bg'; import bg from 'react-intl/locale-data/bg';
import id from 'react-intl/locale-data/id'; import id from 'react-intl/locale-data/id';
import { localeData as zh_hk } from '../locales/zh-hk';
import { localeData as zh_cn } from '../locales/zh-cn';
import pt_br from '../locales/pt-br';
import getMessagesForLocale from '../locales'; import getMessagesForLocale from '../locales';
import { hydrateStore } from '../actions/store'; import { hydrateStore } from '../actions/store';
import createStream from '../stream'; import createStream from '../stream';
@ -91,14 +89,11 @@ addLocaleData([
...it, ...it,
...ja, ...ja,
...pt, ...pt,
...pt_br,
...nl, ...nl,
...no, ...no,
...ru, ...ru,
...uk, ...uk,
...zh, ...zh,
...zh_hk,
...zh_cn,
...bg, ...bg,
...id, ...id,
]); ]);
@ -284,8 +279,7 @@ class Mastodon extends React.Component {
<Provider store={store}> <Provider store={store}>
<Router history={browserHistory} render={applyRouterMiddleware(useScroll())}> <Router history={browserHistory} render={applyRouterMiddleware(useScroll())}>
<Route path='/' component={Container}> <Route path='/' component={Container}>
<IndexRedirect to="/getting-started" /> <IndexRedirect to='/getting-started' />
<Route path='getting-started' component={GettingStarted} /> <Route path='getting-started' component={GettingStarted} />
<Route path='timelines/tag/:id' component={HashtagTimeline} /> <Route path='timelines/tag/:id' component={HashtagTimeline} />

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import Status from '../components/status'; import Status from '../components/status';
import { makeGetStatus } from '../selectors'; import { makeGetStatus } from '../selectors';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import DropdownMenu from '../../../components/dropdown_menu'; import DropdownMenu from '../../../components/dropdown_menu';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import emojify from '../../../emoji'; import emojify from '../../../emoji';
@ -6,6 +7,7 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';
import { Motion, spring } from 'react-motion'; import { Motion, spring } from 'react-motion';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
@ -21,7 +23,7 @@ const makeMapStateToProps = () => {
return mapStateToProps; return mapStateToProps;
}; };
class Avatar extends React.PureComponent { class Avatar extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);
@ -74,7 +76,7 @@ Avatar.propTypes = {
autoPlayGif: PropTypes.bool.isRequired autoPlayGif: PropTypes.bool.isRequired
}; };
class Header extends React.Component { class Header extends ImmutablePureComponent {
render () { render () {
const { account, me, intl } = this.props; const { account, me, intl } = this.props;

View File

@ -1,10 +1,12 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import InnerHeader from '../../account/components/header'; import InnerHeader from '../../account/components/header';
import ActionBar from '../../account/components/action_bar'; import ActionBar from '../../account/components/action_bar';
import MissingIndicator from '../../../components/missing_indicator'; import MissingIndicator from '../../../components/missing_indicator';
import ImmutablePureComponent from 'react-immutable-pure-component';
class Header extends React.PureComponent { class Header extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { makeGetAccount } from '../../../selectors'; import { makeGetAccount } from '../../../selectors';
import Header from '../components/header'; import Header from '../components/header';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
@ -12,6 +13,7 @@ import Column from '../ui/components/column';
import HeaderContainer from './containers/header_container'; import HeaderContainer from './containers/header_container';
import ColumnBackButton from '../../components/column_back_button'; import ColumnBackButton from '../../components/column_back_button';
import Immutable from 'immutable'; import Immutable from 'immutable';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({ const mapStateToProps = (state, props) => ({
statusIds: state.getIn(['timelines', 'accounts_timelines', Number(props.params.accountId), 'items'], Immutable.List()), statusIds: state.getIn(['timelines', 'accounts_timelines', Number(props.params.accountId), 'items'], Immutable.List()),
@ -20,7 +22,7 @@ const mapStateToProps = (state, props) => ({
me: state.getIn(['meta', 'me']) me: state.getIn(['meta', 'me'])
}); });
class AccountTimeline extends React.PureComponent { class AccountTimeline extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
@ -8,6 +9,7 @@ import ColumnBackButtonSlim from '../../components/column_back_button_slim';
import AccountContainer from '../../containers/account_container'; import AccountContainer from '../../containers/account_container';
import { fetchBlocks, expandBlocks } from '../../actions/blocks'; import { fetchBlocks, expandBlocks } from '../../actions/blocks';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
heading: { id: 'column.blocks', defaultMessage: 'Blocked users' } heading: { id: 'column.blocks', defaultMessage: 'Blocked users' }
@ -17,7 +19,7 @@ const mapStateToProps = state => ({
accountIds: state.getIn(['user_lists', 'blocks', 'items']) accountIds: state.getIn(['user_lists', 'blocks', 'items'])
}); });
class Blocks extends React.PureComponent { class Blocks extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import StatusListContainer from '../ui/containers/status_list_container'; import StatusListContainer from '../ui/containers/status_list_container';

View File

@ -0,0 +1,26 @@
import React from 'react';
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
class AutosuggestAccount extends ImmutablePureComponent {
render () {
const { account } = this.props;
return (
<div className='autosuggest-account'>
<div className='autosuggest-account-icon'><Avatar src={account.get('avatar')} staticSrc={account.get('avatar_static')} size={18} /></div>
<DisplayName account={account} />
</div>
);
}
}
AutosuggestAccount.propTypes = {
account: ImmutablePropTypes.map.isRequired
};
export default AutosuggestAccount;

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { length } from 'stringz'; import { length } from 'stringz';

View File

@ -1,3 +1,4 @@
import React from 'react';
import CharacterCounter from './character_counter'; import CharacterCounter from './character_counter';
import Button from '../../../components/button'; import Button from '../../../components/button';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
@ -16,6 +17,7 @@ import EmojiPickerDropdown from './emoji_picker_dropdown';
import UploadFormContainer from '../containers/upload_form_container'; import UploadFormContainer from '../containers/upload_form_container';
import TextIconButton from './text_icon_button'; import TextIconButton from './text_icon_button';
import WarningContainer from '../containers/warning_container'; import WarningContainer from '../containers/warning_container';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
placeholder: { id: 'compose_form.placeholder', defaultMessage: 'What is on your mind?' }, placeholder: { id: 'compose_form.placeholder', defaultMessage: 'What is on your mind?' },
@ -23,7 +25,7 @@ const messages = defineMessages({
publish: { id: 'compose_form.publish', defaultMessage: 'Toot' } publish: { id: 'compose_form.publish', defaultMessage: 'Toot' }
}); });
class ComposeForm extends React.PureComponent { class ComposeForm extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown'; import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown';
import EmojiPicker from 'emojione-picker'; import EmojiPicker from 'emojione-picker';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import Avatar from '../../../components/avatar'; import Avatar from '../../../components/avatar';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';
@ -5,18 +6,22 @@ import DisplayName from '../../../components/display_name';
import Permalink from '../../../components/permalink'; import Permalink from '../../../components/permalink';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { Link } from 'react-router'; import { Link } from 'react-router';
import ImmutablePureComponent from 'react-immutable-pure-component';
class NavigationBar extends React.PureComponent { class NavigationBar extends ImmutablePureComponent {
render () { render () {
return ( return (
<div className='navigation-bar'> <div className='navigation-bar'>
<Permalink href={this.props.account.get('url')} to={`/accounts/${this.props.account.get('id')}`}><Avatar src={this.props.account.get('avatar')} animate size={40} /></Permalink> <Permalink href={this.props.account.get('url')} to={`/accounts/${this.props.account.get('id')}`}>
<Avatar src={this.props.account.get('avatar')} animate size={40} />
</Permalink>
<div className='navigation-bar__profile'> <div className='navigation-bar__profile'>
<Permalink href={this.props.account.get('url')} to={`/accounts/${this.props.account.get('id')}`}> <Permalink href={this.props.account.get('url')} to={`/accounts/${this.props.account.get('id')}`}>
<strong className='navigation-bar__profile-account'>@{this.props.account.get('acct')}</strong> <strong className='navigation-bar__profile-account'>@{this.props.account.get('acct')}</strong>
</Permalink> </Permalink>
<a href='/settings/profile' className='navigation-bar__profile-edit'><FormattedMessage id='navigation_bar.edit_profile' defaultMessage='Edit profile' /></a> <a href='/settings/profile' className='navigation-bar__profile-edit'><FormattedMessage id='navigation_bar.edit_profile' defaultMessage='Edit profile' /></a>
</div> </div>
</div> </div>

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { injectIntl, defineMessages } from 'react-intl'; import { injectIntl, defineMessages } from 'react-intl';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Avatar from '../../../components/avatar'; import Avatar from '../../../components/avatar';
@ -5,12 +6,13 @@ import IconButton from '../../../components/icon_button';
import DisplayName from '../../../components/display_name'; import DisplayName from '../../../components/display_name';
import emojify from '../../../emoji'; import emojify from '../../../emoji';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' } cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' }
}); });
class ReplyIndicator extends React.PureComponent { class ReplyIndicator extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,4 +1,4 @@
import ImmutablePropTypes from 'react-immutable-proptypes'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';

View File

@ -1,10 +1,12 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import AccountContainer from '../../../containers/account_container'; import AccountContainer from '../../../containers/account_container';
import StatusContainer from '../../../containers/status_container'; import StatusContainer from '../../../containers/status_container';
import { Link } from 'react-router'; import { Link } from 'react-router';
import ImmutablePureComponent from 'react-immutable-pure-component';
class SearchResults extends React.PureComponent { class SearchResults extends ImmutablePureComponent {
render () { render () {
const { results } = this.props; const { results } = this.props;

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
class TextIconButton extends React.PureComponent { class TextIconButton extends React.PureComponent {

View File

@ -1,3 +1,4 @@
import React from 'react';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Motion, spring } from 'react-motion'; import { Motion, spring } from 'react-motion';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
class Warning extends React.PureComponent { class Warning extends React.PureComponent {

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import TextIconButton from '../components/text_icon_button'; import TextIconButton from '../components/text_icon_button';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import Warning from '../components/warning'; import Warning from '../components/warning';
import { createSelector } from 'reselect'; import { createSelector } from 'reselect';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ComposeFormContainer from './containers/compose_form_container'; import ComposeFormContainer from './containers/compose_form_container';
import UploadFormContainer from './containers/upload_form_container'; import UploadFormContainer from './containers/upload_form_container';
import NavigationContainer from './containers/navigation_container'; import NavigationContainer from './containers/navigation_container';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
@ -7,6 +8,7 @@ import Column from '../ui/components/column';
import StatusList from '../../components/status_list'; import StatusList from '../../components/status_list';
import ColumnBackButtonSlim from '../../components/column_back_button_slim'; import ColumnBackButtonSlim from '../../components/column_back_button_slim';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
heading: { id: 'column.favourites', defaultMessage: 'Favourites' } heading: { id: 'column.favourites', defaultMessage: 'Favourites' }
@ -18,7 +20,7 @@ const mapStateToProps = state => ({
me: state.getIn(['meta', 'me']) me: state.getIn(['meta', 'me'])
}); });
class Favourites extends React.PureComponent { class Favourites extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);
@ -47,7 +49,7 @@ class Favourites extends React.PureComponent {
return ( return (
<Column icon='star' heading={intl.formatMessage(messages.heading)}> <Column icon='star' heading={intl.formatMessage(messages.heading)}>
<ColumnBackButtonSlim /> <ColumnBackButtonSlim />
<StatusList {...this.props} onScrollToBottom={this.handleScrollToBottom} /> <StatusList {...this.props} scrollKey='favourited_statuses' onScrollToBottom={this.handleScrollToBottom} />
</Column> </Column>
); );
} }
@ -55,7 +57,6 @@ class Favourites extends React.PureComponent {
} }
Favourites.propTypes = { Favourites.propTypes = {
params: PropTypes.object.isRequired,
dispatch: PropTypes.func.isRequired, dispatch: PropTypes.func.isRequired,
statusIds: ImmutablePropTypes.list.isRequired, statusIds: ImmutablePropTypes.list.isRequired,
loaded: PropTypes.bool, loaded: PropTypes.bool,

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
@ -7,12 +8,13 @@ import { ScrollContainer } from 'react-router-scroll';
import AccountContainer from '../../containers/account_container'; import AccountContainer from '../../containers/account_container';
import Column from '../ui/components/column'; import Column from '../ui/components/column';
import ColumnBackButton from '../../components/column_back_button'; import ColumnBackButton from '../../components/column_back_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({ const mapStateToProps = (state, props) => ({
accountIds: state.getIn(['user_lists', 'favourited_by', Number(props.params.statusId)]) accountIds: state.getIn(['user_lists', 'favourited_by', Number(props.params.statusId)])
}); });
class Favourites extends React.PureComponent { class Favourites extends ImmutablePureComponent {
componentWillMount () { componentWillMount () {
this.props.dispatch(fetchFavourites(Number(this.props.params.statusId))); this.props.dispatch(fetchFavourites(Number(this.props.params.statusId)));

View File

@ -0,0 +1,51 @@
import React from 'react';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import Permalink from '../../../components/permalink';
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
import emojify from '../../../emoji';
import IconButton from '../../../components/icon_button';
import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({
authorize: { id: 'follow_request.authorize', defaultMessage: 'Authorize' },
reject: { id: 'follow_request.reject', defaultMessage: 'Reject' }
});
class AccountAuthorize extends ImmutablePureComponent {
render () {
const { intl, account, onAuthorize, onReject } = this.props;
const content = { __html: emojify(account.get('note')) };
return (
<div className='account-authorize__wrapper'>
<div className='account-authorize'>
<Permalink href={account.get('url')} to={`/accounts/${account.get('id')}`} className='detailed-status__display-name'>
<div className='account-authorize__avatar'><Avatar src={account.get('avatar')} staticSrc={account.get('avatar_static')} size={48} /></div>
<DisplayName account={account} />
</Permalink>
<div className='account__header__content' dangerouslySetInnerHTML={content} />
</div>
<div className='account--panel'>
<div className='account--panel__button'><IconButton title={intl.formatMessage(messages.authorize)} icon='check' onClick={onAuthorize} /></div>
<div className='account--panel__button'><IconButton title={intl.formatMessage(messages.reject)} icon='times' onClick={onReject} /></div>
</div>
</div>
);
}
}
AccountAuthorize.propTypes = {
account: ImmutablePropTypes.map.isRequired,
onAuthorize: PropTypes.func.isRequired,
onReject: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired
};
export default injectIntl(AccountAuthorize);

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
@ -8,6 +9,7 @@ import ColumnBackButtonSlim from '../../components/column_back_button_slim';
import AccountAuthorizeContainer from './containers/account_authorize_container'; import AccountAuthorizeContainer from './containers/account_authorize_container';
import { fetchFollowRequests, expandFollowRequests } from '../../actions/accounts'; import { fetchFollowRequests, expandFollowRequests } from '../../actions/accounts';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
heading: { id: 'column.follow_requests', defaultMessage: 'Follow requests' } heading: { id: 'column.follow_requests', defaultMessage: 'Follow requests' }
@ -17,7 +19,7 @@ const mapStateToProps = state => ({
accountIds: state.getIn(['user_lists', 'follow_requests', 'items']) accountIds: state.getIn(['user_lists', 'follow_requests', 'items'])
}); });
class FollowRequests extends React.PureComponent { class FollowRequests extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
@ -13,12 +14,13 @@ import Column from '../ui/components/column';
import HeaderContainer from '../account_timeline/containers/header_container'; import HeaderContainer from '../account_timeline/containers/header_container';
import LoadMore from '../../components/load_more'; import LoadMore from '../../components/load_more';
import ColumnBackButton from '../../components/column_back_button'; import ColumnBackButton from '../../components/column_back_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({ const mapStateToProps = (state, props) => ({
accountIds: state.getIn(['user_lists', 'followers', Number(props.params.accountId), 'items']) accountIds: state.getIn(['user_lists', 'followers', Number(props.params.accountId), 'items'])
}); });
class Followers extends React.PureComponent { class Followers extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
@ -13,12 +14,13 @@ import Column from '../ui/components/column';
import HeaderContainer from '../account_timeline/containers/header_container'; import HeaderContainer from '../account_timeline/containers/header_container';
import LoadMore from '../../components/load_more'; import LoadMore from '../../components/load_more';
import ColumnBackButton from '../../components/column_back_button'; import ColumnBackButton from '../../components/column_back_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({ const mapStateToProps = (state, props) => ({
accountIds: state.getIn(['user_lists', 'following', Number(props.params.accountId), 'items']) accountIds: state.getIn(['user_lists', 'following', Number(props.params.accountId), 'items'])
}); });
class Following extends React.PureComponent { class Following extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import Column from '../ui/components/column'; import Column from '../ui/components/column';
import MissingIndicator from '../../components/missing_indicator'; import MissingIndicator from '../../components/missing_indicator';

View File

@ -0,0 +1,73 @@
import React from 'react';
import Column from '../ui/components/column';
import ColumnLink from '../ui/components/column_link';
import ColumnSubheading from '../ui/components/column_subheading';
import { Link } from 'react-router';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({
heading: { id: 'getting_started.heading', defaultMessage: 'Getting started' },
public_timeline: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },
navigation_subheading: { id: 'column_subheading.navigation', defaultMessage: 'Navigation'},
settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings'},
community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
sign_out: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },
favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },
blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' },
mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },
info: { id: 'navigation_bar.info', defaultMessage: 'Extended information' }
});
const mapStateToProps = state => ({
me: state.getIn(['accounts', state.getIn(['meta', 'me'])])
});
class GettingStarted extends ImmutablePureComponent {
render () {
const { intl, me } = this.props;
let followRequests = '';
if (me.get('locked')) {
followRequests = <ColumnLink icon='users' text={intl.formatMessage(messages.follow_requests)} to='/follow_requests' />;
}
return (
<Column icon='asterisk' heading={intl.formatMessage(messages.heading)} hideHeadingOnMobile={true}>
<div className='getting-started__wrapper'>
<ColumnSubheading text={intl.formatMessage(messages.navigation_subheading)}/>
<ColumnLink icon='users' hideOnMobile={true} text={intl.formatMessage(messages.community_timeline)} to='/timelines/public/local' />
<ColumnLink icon='globe' hideOnMobile={true} text={intl.formatMessage(messages.public_timeline)} to='/timelines/public' />
<ColumnLink icon='star' text={intl.formatMessage(messages.favourites)} to='/favourites' />
{followRequests}
<ColumnLink icon='volume-off' text={intl.formatMessage(messages.mutes)} to='/mutes' />
<ColumnLink icon='ban' text={intl.formatMessage(messages.blocks)} to='/blocks' />
<ColumnSubheading text={intl.formatMessage(messages.settings_subheading)}/>
<ColumnLink icon='book' text={intl.formatMessage(messages.info)} href='/about/more' />
<ColumnLink icon='cog' text={intl.formatMessage(messages.preferences)} href='/settings/preferences' />
<ColumnLink icon='sign-out' text={intl.formatMessage(messages.sign_out)} href='/auth/sign_out' method='delete' />
</div>
<div className='scrollable optionally-scrollable' style={{ display: 'flex', flexDirection: 'column' }}>
<div className='static-content getting-started'>
<p><FormattedMessage id='getting_started.open_source_notice' defaultMessage='Mastodon is open source software. You can contribute or report issues on GitHub at {github}. {apps}.' values={{ github: <a href="https://github.com/tootsuite/mastodon" target="_blank">tootsuite/mastodon</a>, apps: <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md" target="_blank"><FormattedMessage id='getting_started.apps' defaultMessage='Various apps are available' /></a> }} /></p>
</div>
</div>
</Column>
);
}
}
GettingStarted.propTypes = {
intl: PropTypes.object.isRequired,
me: ImmutablePropTypes.map.isRequired
};
export default connect(mapStateToProps)(injectIntl(GettingStarted));

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import StatusListContainer from '../ui/containers/status_list_container'; import StatusListContainer from '../ui/containers/status_list_container';

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import StatusListContainer from '../ui/containers/status_list_container'; import StatusListContainer from '../ui/containers/status_list_container';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
@ -8,6 +9,7 @@ import ColumnBackButtonSlim from '../../components/column_back_button_slim';
import AccountContainer from '../../containers/account_container'; import AccountContainer from '../../containers/account_container';
import { fetchMutes, expandMutes } from '../../actions/mutes'; import { fetchMutes, expandMutes } from '../../actions/mutes';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
heading: { id: 'column.mutes', defaultMessage: 'Muted users' } heading: { id: 'column.mutes', defaultMessage: 'Muted users' }
@ -17,7 +19,7 @@ const mapStateToProps = state => ({
accountIds: state.getIn(['user_lists', 'mutes', 'items']) accountIds: state.getIn(['user_lists', 'mutes', 'items'])
}); });
class Mutes extends React.PureComponent { class Mutes extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import StatusContainer from '../../../containers/status_container'; import StatusContainer from '../../../containers/status_container';
import AccountContainer from '../../../containers/account_container'; import AccountContainer from '../../../containers/account_container';
@ -5,8 +6,9 @@ import { FormattedMessage } from 'react-intl';
import Permalink from '../../../components/permalink'; import Permalink from '../../../components/permalink';
import emojify from '../../../emoji'; import emojify from '../../../emoji';
import escapeTextContentForBrowser from 'escape-html'; import escapeTextContentForBrowser from 'escape-html';
import ImmutablePureComponent from 'react-immutable-pure-component';
class Notification extends React.PureComponent { class Notification extends ImmutablePureComponent {
renderFollow (account, link) { renderFollow (account, link) {
return ( return (

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import Toggle from 'react-toggle'; import Toggle from 'react-toggle';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import StatusListContainer from '../ui/containers/status_list_container'; import StatusListContainer from '../ui/containers/status_list_container';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
@ -7,12 +8,13 @@ import { ScrollContainer } from 'react-router-scroll';
import AccountContainer from '../../containers/account_container'; import AccountContainer from '../../containers/account_container';
import Column from '../ui/components/column'; import Column from '../ui/components/column';
import ColumnBackButton from '../../components/column_back_button'; import ColumnBackButton from '../../components/column_back_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({ const mapStateToProps = (state, props) => ({
accountIds: state.getIn(['user_lists', 'reblogged_by', Number(props.params.statusId)]) accountIds: state.getIn(['user_lists', 'reblogged_by', Number(props.params.statusId)])
}); });
class Reblogs extends React.PureComponent { class Reblogs extends ImmutablePureComponent {
componentWillMount () { componentWillMount () {
this.props.dispatch(fetchReblogs(Number(this.props.params.statusId))); this.props.dispatch(fetchReblogs(Number(this.props.params.statusId)));

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import emojify from '../../../emoji'; import emojify from '../../../emoji';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { cancelReport, changeReportComment, submitReport } from '../../actions/reports'; import { cancelReport, changeReportComment, submitReport } from '../../actions/reports';
import { fetchAccountTimeline } from '../../actions/accounts'; import { fetchAccountTimeline } from '../../actions/accounts';

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
const hostStyle = { const hostStyle = {

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import Avatar from '../../../components/avatar'; import Avatar from '../../../components/avatar';
@ -9,8 +10,9 @@ import AttachmentList from '../../../components/attachment_list';
import { Link } from 'react-router'; import { Link } from 'react-router';
import { FormattedDate, FormattedNumber } from 'react-intl'; import { FormattedDate, FormattedNumber } from 'react-intl';
import CardContainer from '../containers/card_container'; import CardContainer from '../containers/card_container';
import ImmutablePureComponent from 'react-immutable-pure-component';
class DetailedStatus extends React.PureComponent { class DetailedStatus extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
@ -31,6 +32,7 @@ import StatusContainer from '../../containers/status_container';
import { openModal } from '../../actions/modal'; import { openModal } from '../../actions/modal';
import { isMobile } from '../../is_mobile' import { isMobile } from '../../is_mobile'
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' }, deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
@ -52,7 +54,7 @@ const makeMapStateToProps = () => {
return mapStateToProps; return mapStateToProps;
}; };
class Status extends React.PureComponent { class Status extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
@ -7,12 +8,13 @@ import StatusContent from '../../../components/status_content';
import Avatar from '../../../components/avatar'; import Avatar from '../../../components/avatar';
import RelativeTimestamp from '../../../components/relative_timestamp'; import RelativeTimestamp from '../../../components/relative_timestamp';
import DisplayName from '../../../components/display_name'; import DisplayName from '../../../components/display_name';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
reblog: { id: 'status.reblog', defaultMessage: 'Boost' } reblog: { id: 'status.reblog', defaultMessage: 'Boost' }
}); });
class BoostModal extends React.PureComponent { class BoostModal extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import ColumnHeader from './column_header'; import ColumnHeader from './column_header';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
@ -35,10 +36,11 @@ class Column extends React.PureComponent {
super(props, context); super(props, context);
this.handleHeaderClick = this.handleHeaderClick.bind(this); this.handleHeaderClick = this.handleHeaderClick.bind(this);
this.handleWheel = this.handleWheel.bind(this); this.handleWheel = this.handleWheel.bind(this);
this.setRef = this.setRef.bind(this);
} }
handleHeaderClick () { handleHeaderClick () {
const scrollable = ReactDOM.findDOMNode(this).querySelector('.scrollable'); const scrollable = this.node.querySelector('.scrollable');
if (!scrollable) { if (!scrollable) {
return; return;
} }
@ -51,6 +53,10 @@ class Column extends React.PureComponent {
} }
} }
setRef (c) {
this.node = c;
}
render () { render () {
const { heading, icon, children, active, hideHeadingOnMobile } = this.props; const { heading, icon, children, active, hideHeadingOnMobile } = this.props;
@ -62,7 +68,12 @@ class Column extends React.PureComponent {
header = <ColumnHeader icon={icon} active={active} type={heading} onClick={this.handleHeaderClick} hideOnMobile={hideHeadingOnMobile} columnHeaderId={columnHeaderId}/>; header = <ColumnHeader icon={icon} active={active} type={heading} onClick={this.handleHeaderClick} hideOnMobile={hideHeadingOnMobile} columnHeaderId={columnHeaderId}/>;
} }
return ( return (
<div role='region' aria-labelledby={columnHeaderId} className='column' onWheel={this.handleWheel}> <div
ref={this.setRef}
role='region'
aria-labelledby={columnHeaderId}
className='column'
onWheel={this.handleWheel}>
{header} {header}
{children} {children}
</div> </div>

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
class ColumnHeader extends React.PureComponent { class ColumnHeader extends React.PureComponent {

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Link } from 'react-router'; import { Link } from 'react-router';

View File

@ -1,12 +1,13 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
const ColumnSubheading = ({ text }) => { const ColumnSubheading = ({ text }) => {
return ( return (
<div className='column-subheading'> <div className='column-subheading'>
{text} {text}
</div> </div>
); );
}; };
ColumnSubheading.propTypes = { ColumnSubheading.propTypes = {
text: PropTypes.string.isRequired, text: PropTypes.string.isRequired,

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
class ColumnsArea extends React.PureComponent { class ColumnsArea extends React.PureComponent {

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import Button from '../../../components/button'; import Button from '../../../components/button';

View File

@ -1,3 +1,4 @@
import React from 'react';
import LoadingIndicator from '../../../components/loading_indicator'; import LoadingIndicator from '../../../components/loading_indicator';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
@ -5,12 +6,13 @@ import ExtendedVideoPlayer from '../../../components/extended_video_player';
import ImageLoader from 'react-imageloader'; import ImageLoader from 'react-imageloader';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' } close: { id: 'lightbox.close', defaultMessage: 'Close' }
}); });
class MediaModal extends React.PureComponent { class MediaModal extends ImmutablePureComponent {
constructor (props, context) { constructor (props, context) {
super(props, context); super(props, context);

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import MediaModal from './media_modal'; import MediaModal from './media_modal';
import OnboardingModal from './onboarding_modal'; import OnboardingModal from './onboarding_modal';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';

View File

@ -1,3 +1,4 @@
import React from 'react';
import { Link } from 'react-router'; import { Link } from 'react-router';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';

View File

@ -1,3 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Motion, spring } from 'react-motion'; import { Motion, spring } from 'react-motion';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';

View File

@ -1,15 +1,17 @@
import React from 'react';
import LoadingIndicator from '../../../components/loading_indicator'; import LoadingIndicator from '../../../components/loading_indicator';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ExtendedVideoPlayer from '../../../components/extended_video_player'; import ExtendedVideoPlayer from '../../../components/extended_video_player';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({ const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' } close: { id: 'lightbox.close', defaultMessage: 'Close' }
}); });
class VideoModal extends React.PureComponent { class VideoModal extends ImmutablePureComponent {
render () { render () {
const { media, intl, time, onClose } = this.props; const { media, intl, time, onClose } = this.props;

View File

@ -1,3 +1,4 @@
import React from 'react';
import ColumnsArea from './components/columns_area'; import ColumnsArea from './components/columns_area';
import NotificationsContainer from './containers/notifications_container'; import NotificationsContainer from './containers/notifications_container';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
@ -15,6 +16,8 @@ import { refreshTimeline } from '../../actions/timelines';
import { refreshNotifications } from '../../actions/notifications'; import { refreshNotifications } from '../../actions/notifications';
import UploadArea from './components/upload_area'; import UploadArea from './components/upload_area';
const noOp = () => false;
class UI extends React.PureComponent { class UI extends React.PureComponent {
constructor (props, context) { constructor (props, context) {
@ -135,8 +138,8 @@ class UI extends React.PureComponent {
mountedColumns = ( mountedColumns = (
<ColumnsArea> <ColumnsArea>
<Compose withHeader={true} /> <Compose withHeader={true} />
<HomeTimeline shouldUpdateScroll={() => false} /> <HomeTimeline shouldUpdateScroll={noOp} />
<Notifications shouldUpdateScroll={() => false} /> <Notifications shouldUpdateScroll={noOp} />
<div style={{display: 'flex', flex: '1 1 auto', position: 'relative'}}>{children}</div> <div style={{display: 'flex', flex: '1 1 auto', position: 'relative'}}>{children}</div>
</ColumnsArea> </ColumnsArea>
); );

View File

@ -1,12 +1,4 @@
/** {
* ملاحظة للمساهمين و المساهمات :
* لجعل مهمة المساهمين الآخرين أسهل، رجاءا تذكر :
* 1. إضافة سلسلة جديدة هنا؛ و
* 2. لإزالة السلاسل القديمة التي لم تعد هناك حاجة إليها. و
* 3. لفرز السلاسل تبعا للأبجدية
* شكر!
*/
const ar = {
"account.block": "حظر @{name}", "account.block": "حظر @{name}",
"account.disclaimer": "هذا المستخدم من مثيل خادم آخر. قد يكون هذا الرقم أكبر.", "account.disclaimer": "هذا المستخدم من مثيل خادم آخر. قد يكون هذا الرقم أكبر.",
"account.edit_profile": "تعديل الملف الشخصي", "account.edit_profile": "تعديل الملف الشخصي",
@ -60,16 +52,14 @@ const ar = {
"emoji_button.travel": "أماكن و أسفار", "emoji_button.travel": "أماكن و أسفار",
"empty_column.community": "الخط الزمني المحلي فارغ. اكتب شيئا ما للعامة كبداية.", "empty_column.community": "الخط الزمني المحلي فارغ. اكتب شيئا ما للعامة كبداية.",
"empty_column.hashtag": "ليس هناك بعدُ أي محتوى ذو علاقة بهذا الوسم.", "empty_column.hashtag": "ليس هناك بعدُ أي محتوى ذو علاقة بهذا الوسم.",
"empty_column.home.public_timeline": "الخيط العام",
"empty_column.home": "إنك لا تتبع بعد أي شخص إلى حد الآن. زر {public} أو استخدام حقل البحث لكي تبدأ على التعرف على مستخدمين آخرين.", "empty_column.home": "إنك لا تتبع بعد أي شخص إلى حد الآن. زر {public} أو استخدام حقل البحث لكي تبدأ على التعرف على مستخدمين آخرين.",
"empty_column.home.public_timeline": "الخيط العام",
"empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.", "empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.",
"empty_column.public": "لا يوجد شيء هنا ! قم بتحرير شيء ما بشكل عام، أو اتبع مستخدمين آخرين في الخوادم المثيلة الأخرى لملء خيط المحادثات العام.", "empty_column.public": "لا يوجد شيء هنا ! قم بتحرير شيء ما بشكل عام، أو اتبع مستخدمين آخرين في الخوادم المثيلة الأخرى لملء خيط المحادثات العام.",
"follow_request.authorize": "ترخيص", "follow_request.authorize": "ترخيص",
"follow_request.reject": "رفض", "follow_request.reject": "رفض",
"getting_started.apps": "عدة تطبيقات مختلفة متوفرة", "getting_started.apps": "عدة تطبيقات مختلفة متوفرة",
"getting_started.heading": "إستعدّ للبدء", "getting_started.heading": "إستعدّ للبدء",
"getting_started.about_addressing": "يمكنك متابعة الأشخاص إذا كنت تعرف اسم المستخدم الخاص بهم والنطاق الذي هم عليه عن طريق إدخال عنوان شبيه بالبريد الإلكتروني في الحقل المخصص للبحث.",
"getting_started.about_shortcuts": "إذا كان المستخدم المستهدف في نفس النطاق الذي تستخدمه، فإسم المستخدم وحده يكفي. وتنطبق نفس القاعدة على ذكر الأشخاص في المنشورات و التبويقات.",
"getting_started.open_source_notice": "ماستدون برنامج مفتوح المصدر. يمكنك المساهمة، أو الإبلاغ عن تقارير الأخطاء، على GitHub {github}. {apps}.", "getting_started.open_source_notice": "ماستدون برنامج مفتوح المصدر. يمكنك المساهمة، أو الإبلاغ عن تقارير الأخطاء، على GitHub {github}. {apps}.",
"home.column_settings.advanced": "متقدمة", "home.column_settings.advanced": "متقدمة",
"home.column_settings.basic": "أساسية", "home.column_settings.basic": "أساسية",
@ -84,27 +74,80 @@ const ar = {
"navigation_bar.blocks": "الحسابات المحجوبة", "navigation_bar.blocks": "الحسابات المحجوبة",
"navigation_bar.community_timeline": "الخيط العام المحلي", "navigation_bar.community_timeline": "الخيط العام المحلي",
"navigation_bar.edit_profile": "تعديل الملف الشخصي", "navigation_bar.edit_profile": "تعديل الملف الشخصي",
"navigation_bar.preferences": "التفضيلات", "navigation_bar.favourites": "Favourites",
"navigation_bar.community_timeline": "الخيط العام المحلي", "navigation_bar.follow_requests": "Follow requests",
"navigation_bar.public_timeline": "الخيط العام الموحد", "navigation_bar.info": "Extended information",
"navigation_bar.logout": "خروج", "navigation_bar.logout": "خروج",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "التفضيلات",
"navigation_bar.public_timeline": "الخيط العام الموحد",
"notification.favourite": "{name} أعجب بمنشورك",
"notification.follow": "{name} يتبعك",
"notification.reblog": "{name} قام بترقية تبويقك",
"notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.alert": "إشعارات سطح المكتب",
"notifications.column_settings.favourite": "المُفَضَّلة :",
"notifications.column_settings.follow": "متابعُون جُدُد :",
"notifications.column_settings.mention": "الإشارات :",
"notifications.column_settings.reblog": "الترقيّات:",
"notifications.column_settings.show": "إعرِضها في عمود",
"notifications.column_settings.sound": "Play sound",
"notifications.settings": "Column settings",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Direct",
"privacy.private.long": "Post to followers only",
"privacy.private.short": "Followers-only",
"privacy.public.long": "Post to public timelines",
"privacy.public.short": "Public",
"privacy.unlisted.long": "Do not show in public timelines",
"privacy.unlisted.short": "Unlisted",
"reply_indicator.cancel": "إلغاء", "reply_indicator.cancel": "إلغاء",
"report.heading": "New report",
"report.placeholder": "Additional comments",
"report.submit": "Submit",
"report.target": "Reporting",
"search.placeholder": "ابحث", "search.placeholder": "ابحث",
"search.account": "حساب", "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"search.hashtag": "وسم", "status.cannot_reblog": "This post cannot be boosted",
"status.mention": "أذكُر @{name}",
"status.delete": "إحذف", "status.delete": "إحذف",
"status.reply": "ردّ",
"status.reblog": "رَقِّي",
"status.favourite": "أضف إلى المفضلة", "status.favourite": "أضف إلى المفضلة",
"status.reblogged_by": "{name} رقى", "status.load_more": "Load more",
"status.sensitive_warning": "محتوى حساس", "status.media_hidden": "Media hidden",
"status.sensitive_toggle": "اضغط للعرض", "status.mention": "أذكُر @{name}",
"status.show_more": "أظهر المزيد",
"status.show_less": "إعرض أقلّ",
"status.open": "وسع هذه المشاركة", "status.open": "وسع هذه المشاركة",
"status.reblog": "رَقِّي",
"status.reblogged_by": "{name} رقى",
"status.reply": "ردّ",
"status.replyAll": "Reply to thread",
"status.report": "إبلِغ عن @{name}", "status.report": "إبلِغ عن @{name}",
"status.sensitive_toggle": "اضغط للعرض",
"status.sensitive_warning": "محتوى حساس",
"status.show_less": "إعرض أقلّ",
"status.show_more": "أظهر المزيد",
"tabs_bar.compose": "تحرير", "tabs_bar.compose": "تحرير",
"tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "الرئيسية", "tabs_bar.home": "الرئيسية",
"tabs_bar.mentions": "الإشارات", "tabs_bar.mentions": "الإشارات",
"tabs_bar.public": "الخيط العام الموحد", "tabs_bar.public": "الخيط العام الموحد",
@ -125,7 +168,5 @@ const ar = {
"video_player.toggle_sound": "تبديل الصوت", "video_player.toggle_sound": "تبديل الصوت",
"video_player.toggle_visible": "إظهار / إخفاء الفيديو", "video_player.toggle_visible": "إظهار / إخفاء الفيديو",
"video_player.expand": "وسّع الفيديو", "video_player.expand": "وسّع الفيديو",
"video_player.video_error": "تعذر تشغيل الفيديو", "video_player.video_error": "تعذر تشغيل الفيديو"
}; }
export default ar;

View File

@ -0,0 +1,163 @@
{
"account.block": "Блокирай",
"account.disclaimer": "This user is from another instance. This number may be larger.",
"account.edit_profile": "Редактирай профила си",
"account.follow": "Последвай",
"account.followers": "Последователи",
"account.follows": "Следвам",
"account.follows_you": "Твой последовател",
"account.mention": "Споменаване",
"account.mute": "Mute @{name}",
"account.posts": "Публикации",
"account.report": "Report @{name}",
"account.requested": "В очакване на одобрение",
"account.unblock": "Не блокирай",
"account.unfollow": "Не следвай",
"account.unmute": "Unmute @{name}",
"boost_modal.combo": "You can press {combo} to skip this next time",
"column.blocks": "Blocked users",
"column.community": "Local timeline",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
"column.home": "Начало",
"column.mutes": "Muted users",
"column.notifications": "Известия",
"column.public": "Публичен канал",
"column_back_button.label": "Назад",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Какво си мислиш?",
"compose_form.privacy_disclaimer": "Поверителни публикации ще бъдат изпратени до споменатите потребители на {domains}. Доверяваш ли се на {domainsCount, plural, one {that server} other {those servers}}, че няма да издаде твоята публикация?",
"compose_form.publish": "Раздумай",
"compose_form.sensitive": "Отбележи съдържанието като деликатно",
"compose_form.spoiler": "Скрий текста зад предупреждение",
"compose_form.spoiler_placeholder": "Content warning",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"getting_started.apps": "Various apps are available",
"getting_started.heading": "Първи стъпки",
"getting_started.open_source_notice": "Mastodon е софтуер с отворен код. Можеш да помогнеш или да докладваш за проблеми в Github: {github}.",
"home.column_settings.advanced": "Advanced",
"home.column_settings.basic": "Basic",
"home.column_settings.filter_regex": "Filter out by regular expressions",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings",
"lightbox.close": "Затвори",
"loading_indicator.label": "Зареждане...",
"media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline",
"navigation_bar.edit_profile": "Редактирай профил",
"navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "Extended information",
"navigation_bar.logout": "Излизане",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "Предпочитания",
"navigation_bar.public_timeline": "Публичен канал",
"notification.favourite": "{name} хареса твоята публикация",
"notification.follow": "{name} те последва",
"notification.reblog": "{name} сподели твоята публикация",
"notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.alert": "Десктоп известия",
"notifications.column_settings.favourite": "Предпочитани:",
"notifications.column_settings.follow": "Нови последователи:",
"notifications.column_settings.mention": "Споменавания:",
"notifications.column_settings.reblog": "Споделяния:",
"notifications.column_settings.show": "Покажи в колона",
"notifications.column_settings.sound": "Play sound",
"notifications.settings": "Column settings",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Direct",
"privacy.private.long": "Post to followers only",
"privacy.private.short": "Followers-only",
"privacy.public.long": "Post to public timelines",
"privacy.public.short": "Public",
"privacy.unlisted.long": "Do not show in public timelines",
"privacy.unlisted.short": "Unlisted",
"reply_indicator.cancel": "Отказ",
"report.heading": "New report",
"report.placeholder": "Additional comments",
"report.submit": "Submit",
"report.target": "Reporting",
"search.placeholder": "Търсене",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Изтриване",
"status.favourite": "Предпочитани",
"status.load_more": "Load more",
"status.media_hidden": "Media hidden",
"status.mention": "Споменаване",
"status.open": "Expand this status",
"status.reblog": "Споделяне",
"status.reblogged_by": "{name} сподели",
"status.reply": "Отговор",
"status.replyAll": "Reply to thread",
"status.report": "Report @{name}",
"status.sensitive_toggle": "Покажи",
"status.sensitive_warning": "Деликатно съдържание",
"status.show_less": "Show less",
"status.show_more": "Show more",
"tabs_bar.compose": "Съставяне",
"tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "Начало",
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Известия",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Добави медия",
"upload_form.undo": "Отмяна",
"upload_progress.label": "Uploading...",
"video_player.expand": "Expand video",
"video_player.toggle_sound": "Звук",
"video_player.toggle_visible": "Toggle visibility",
"video_player.video_error": "Video could not be played"
}

View File

@ -1,4 +1,4 @@
const de = { {
"account.block": "@{name} blocken", "account.block": "@{name} blocken",
"account.disclaimer": "Dieser Benutzer ist von einer anderen Instanz. Diese Zahl könnte größer sein.", "account.disclaimer": "Dieser Benutzer ist von einer anderen Instanz. Diese Zahl könnte größer sein.",
"account.edit_profile": "Profil bearbeiten", "account.edit_profile": "Profil bearbeiten",
@ -15,7 +15,6 @@ const de = {
"account.unfollow": "Entfolgen", "account.unfollow": "Entfolgen",
"account.unmute": "@{name} nicht mehr stummschalten", "account.unmute": "@{name} nicht mehr stummschalten",
"boost_modal.combo": "Du kannst {combo} drücken, um dies beim nächsten Mal zu überspringen", "boost_modal.combo": "Du kannst {combo} drücken, um dies beim nächsten Mal zu überspringen",
"column_back_button.label": "Zurück",
"column.blocks": "Blockierte Benutzer", "column.blocks": "Blockierte Benutzer",
"column.community": "Lokale Zeitleiste", "column.community": "Lokale Zeitleiste",
"column.favourites": "Favoriten", "column.favourites": "Favoriten",
@ -24,17 +23,38 @@ const de = {
"column.mutes": "Stummgeschaltete Benutzer", "column.mutes": "Stummgeschaltete Benutzer",
"column.notifications": "Mitteilungen", "column.notifications": "Mitteilungen",
"column.public": "Gesamtes bekanntes Netz", "column.public": "Gesamtes bekanntes Netz",
"column_back_button.label": "Zurück",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Worüber möchtest du schreiben?", "compose_form.placeholder": "Worüber möchtest du schreiben?",
"compose_form.privacy_disclaimer": "Dein privater Status wird an die genannten Benutzer auf den Domains {domains} zugestellt. Vertraust du {domainsCount, plural, one {diesem Server} other {diesen Servern}}? Private Beiträge funktionieren nur auf Mastodon-Instanzen. Wenn {domains} {domainsCount, plural, one {keine Mastodon-Instanz ist} other {keine Mastodon-Instanzen sind}}, wird es dort kein Anzeichen geben, dass dein Beitrag privat ist und er könnte geteilt oder anderweitig für unerwünschte Empfänger sichtbar gemacht werden.", "compose_form.privacy_disclaimer": "Dein privater Status wird an die genannten Benutzer auf den Domains {domains} zugestellt. Vertraust du {domainsCount, plural, one {diesem Server} other {diesen Servern}}? Private Beiträge funktionieren nur auf Mastodon-Instanzen. Wenn {domains} {domainsCount, plural, one {keine Mastodon-Instanz ist} other {keine Mastodon-Instanzen sind}}, wird es dort kein Anzeichen geben, dass dein Beitrag privat ist und er könnte geteilt oder anderweitig für unerwünschte Empfänger sichtbar gemacht werden.",
"compose_form.publish": "Tröt", "compose_form.publish": "Tröt",
"compose_form.sensitive": "Medien als heikel markieren", "compose_form.sensitive": "Medien als heikel markieren",
"compose_form.spoiler_placeholder": "Inhaltswarnung",
"compose_form.spoiler": "Text hinter Warnung verbergen", "compose_form.spoiler": "Text hinter Warnung verbergen",
"compose_form.spoiler_placeholder": "Inhaltswarnung",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Emoji einfügen", "emoji_button.label": "Emoji einfügen",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe etwas öffentlich, um den Ball ins Rollen zu bringen!", "empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe etwas öffentlich, um den Ball ins Rollen zu bringen!",
"empty_column.hashtag": "Es gibt noch nichts unter diesem Hashtag.", "empty_column.hashtag": "Es gibt noch nichts unter diesem Hashtag.",
"empty_column.home.public_timeline": "die öffentliche Zeitleiste",
"empty_column.home": "Du folgst noch niemandem. Besuche {public} oder benutze die Suche, um zu starten oder andere Benutzer anzutreffen.", "empty_column.home": "Du folgst noch niemandem. Besuche {public} oder benutze die Suche, um zu starten oder andere Benutzer anzutreffen.",
"empty_column.home.public_timeline": "die öffentliche Zeitleiste",
"empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um die Konversation zu starten.", "empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um die Konversation zu starten.",
"empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Benutzern von anderen Instanzen, um es aufzufüllen.", "empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Benutzern von anderen Instanzen, um es aufzufüllen.",
"follow_request.authorize": "Erlauben", "follow_request.authorize": "Erlauben",
@ -64,10 +84,9 @@ const de = {
"navigation_bar.public_timeline": "Föderierte Zeitleiste", "navigation_bar.public_timeline": "Föderierte Zeitleiste",
"notification.favourite": "{name} favorisierte deinen Status", "notification.favourite": "{name} favorisierte deinen Status",
"notification.follow": "{name} folgt dir", "notification.follow": "{name} folgt dir",
"notification.mention": "{name} erwähnte dich",
"notification.reblog": "{name} teilte deinen Status", "notification.reblog": "{name} teilte deinen Status",
"notifications.clear_confirmation": "Bist du sicher, dass du alle Mitteilungen beseitigen willst?",
"notifications.clear": "Mitteilungen beseitigen", "notifications.clear": "Mitteilungen beseitigen",
"notifications.clear_confirmation": "Bist du sicher, dass du alle Mitteilungen beseitigen willst?",
"notifications.column_settings.alert": "Desktop-Benachrichtigungen", "notifications.column_settings.alert": "Desktop-Benachrichtigungen",
"notifications.column_settings.favourite": "Favorisierungen:", "notifications.column_settings.favourite": "Favorisierungen:",
"notifications.column_settings.follow": "Neue Folgende:", "notifications.column_settings.follow": "Neue Folgende:",
@ -76,6 +95,26 @@ const de = {
"notifications.column_settings.show": "In der Spalte anzeigen", "notifications.column_settings.show": "In der Spalte anzeigen",
"notifications.column_settings.sound": "Ton abspielen", "notifications.column_settings.sound": "Ton abspielen",
"notifications.settings": "Spalteneinstellungen", "notifications.settings": "Spalteneinstellungen",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Privatsphäre des Status anpassen", "privacy.change": "Privatsphäre des Status anpassen",
"privacy.direct.long": "Beitrag nur an erwähnte Benutzer", "privacy.direct.long": "Beitrag nur an erwähnte Benutzer",
"privacy.direct.short": "Direkt", "privacy.direct.short": "Direkt",
@ -90,9 +129,9 @@ const de = {
"report.placeholder": "Zusätzliche Kommentare", "report.placeholder": "Zusätzliche Kommentare",
"report.submit": "Absenden", "report.submit": "Absenden",
"report.target": "Melden", "report.target": "Melden",
"search_results.total": "{count, number} {count, plural, one {Ergebnis} other {Ergebnisse}}",
"search.placeholder": "Suche", "search.placeholder": "Suche",
"search.status_by": "Status von {name}", "search_results.total": "{count, number} {count, plural, one {Ergebnis} other {Ergebnisse}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Löschen", "status.delete": "Löschen",
"status.favourite": "Favorisieren", "status.favourite": "Favorisieren",
"status.load_more": "Weitere laden", "status.load_more": "Weitere laden",
@ -117,10 +156,8 @@ const de = {
"upload_button.label": "Mediendatei hinzufügen", "upload_button.label": "Mediendatei hinzufügen",
"upload_form.undo": "Entfernen", "upload_form.undo": "Entfernen",
"upload_progress.label": "Lade hoch…", "upload_progress.label": "Lade hoch…",
"video_player.expand": "Videoanzeige vergrößern",
"video_player.toggle_sound": "Ton umschalten", "video_player.toggle_sound": "Ton umschalten",
"video_player.toggle_visible": "Sichtbarkeit umschalten", "video_player.toggle_visible": "Sichtbarkeit umschalten",
"video_player.expand": "Videoanzeige vergrößern", "video_player.video_error": "Video konnte nicht abgespielt werden"
"video_player.video_error": "Video konnte nicht abgespielt werden", }
};
export default de;

View File

@ -0,0 +1,1068 @@
[
{
"descriptors": [
{
"defaultMessage": "Follow",
"id": "account.follow"
},
{
"defaultMessage": "Unfollow",
"id": "account.unfollow"
},
{
"defaultMessage": "Awaiting approval",
"id": "account.requested"
},
{
"defaultMessage": "Unblock @{name}",
"id": "account.unblock"
},
{
"defaultMessage": "Unmute @{name}",
"id": "account.unmute"
}
],
"path": "app/javascript/mastodon/components/account.json"
},
{
"descriptors": [
{
"defaultMessage": "Back",
"id": "column_back_button.label"
}
],
"path": "app/javascript/mastodon/components/column_back_button_slim.json"
},
{
"descriptors": [
{
"defaultMessage": "Back",
"id": "column_back_button.label"
}
],
"path": "app/javascript/mastodon/components/column_back_button.json"
},
{
"descriptors": [
{
"defaultMessage": "Load more",
"id": "status.load_more"
}
],
"path": "app/javascript/mastodon/components/load_more.json"
},
{
"descriptors": [
{
"defaultMessage": "Loading...",
"id": "loading_indicator.label"
}
],
"path": "app/javascript/mastodon/components/loading_indicator.json"
},
{
"descriptors": [
{
"defaultMessage": "Toggle visibility",
"id": "media_gallery.toggle_visible"
},
{
"defaultMessage": "Sensitive content",
"id": "status.sensitive_warning"
},
{
"defaultMessage": "Media hidden",
"id": "status.media_hidden"
},
{
"defaultMessage": "Click to view",
"id": "status.sensitive_toggle"
}
],
"path": "app/javascript/mastodon/components/media_gallery.json"
},
{
"descriptors": [
{
"defaultMessage": "Not found",
"id": "missing_indicator.label"
}
],
"path": "app/javascript/mastodon/components/missing_indicator.json"
},
{
"descriptors": [
{
"defaultMessage": "Delete",
"id": "status.delete"
},
{
"defaultMessage": "Mention @{name}",
"id": "status.mention"
},
{
"defaultMessage": "Mute @{name}",
"id": "account.mute"
},
{
"defaultMessage": "Block @{name}",
"id": "account.block"
},
{
"defaultMessage": "Reply",
"id": "status.reply"
},
{
"defaultMessage": "Reply to thread",
"id": "status.replyAll"
},
{
"defaultMessage": "Boost",
"id": "status.reblog"
},
{
"defaultMessage": "This post cannot be boosted",
"id": "status.cannot_reblog"
},
{
"defaultMessage": "Favourite",
"id": "status.favourite"
},
{
"defaultMessage": "Expand this status",
"id": "status.open"
},
{
"defaultMessage": "Report @{name}",
"id": "status.report"
}
],
"path": "app/javascript/mastodon/components/status_action_bar.json"
},
{
"descriptors": [
{
"defaultMessage": "Show more",
"id": "status.show_more"
},
{
"defaultMessage": "Show less",
"id": "status.show_less"
}
],
"path": "app/javascript/mastodon/components/status_content.json"
},
{
"descriptors": [
{
"defaultMessage": "{name} boosted",
"id": "status.reblogged_by"
}
],
"path": "app/javascript/mastodon/components/status.json"
},
{
"descriptors": [
{
"defaultMessage": "Toggle sound",
"id": "video_player.toggle_sound"
},
{
"defaultMessage": "Toggle visibility",
"id": "video_player.toggle_visible"
},
{
"defaultMessage": "Expand video",
"id": "video_player.expand"
},
{
"defaultMessage": "Video could not be played",
"id": "video_player.video_error"
},
{
"defaultMessage": "Sensitive content",
"id": "status.sensitive_warning"
},
{
"defaultMessage": "Click to view",
"id": "status.sensitive_toggle"
},
{
"defaultMessage": "Media hidden",
"id": "status.media_hidden"
}
],
"path": "app/javascript/mastodon/components/video_player.json"
},
{
"descriptors": [
{
"defaultMessage": "Delete",
"id": "confirmations.delete.confirm"
},
{
"defaultMessage": "Are you sure you want to delete this status?",
"id": "confirmations.delete.message"
},
{
"defaultMessage": "Block",
"id": "confirmations.block.confirm"
},
{
"defaultMessage": "Mute",
"id": "confirmations.mute.confirm"
},
{
"defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message"
},
{
"defaultMessage": "Are you sure you want to mute {name}?",
"id": "confirmations.mute.message"
}
],
"path": "app/javascript/mastodon/containers/status_container.json"
},
{
"descriptors": [
{
"defaultMessage": "Block",
"id": "confirmations.block.confirm"
},
{
"defaultMessage": "Mute",
"id": "confirmations.mute.confirm"
},
{
"defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message"
},
{
"defaultMessage": "Are you sure you want to mute {name}?",
"id": "confirmations.mute.message"
}
],
"path": "app/javascript/mastodon/features/account_timeline/containers/header_container.json"
},
{
"descriptors": [
{
"defaultMessage": "Mention @{name}",
"id": "account.mention"
},
{
"defaultMessage": "Edit profile",
"id": "account.edit_profile"
},
{
"defaultMessage": "Unblock @{name}",
"id": "account.unblock"
},
{
"defaultMessage": "Unfollow",
"id": "account.unfollow"
},
{
"defaultMessage": "Unmute @{name}",
"id": "account.unmute"
},
{
"defaultMessage": "Block @{name}",
"id": "account.block"
},
{
"defaultMessage": "Mute @{name}",
"id": "account.mute"
},
{
"defaultMessage": "Follow",
"id": "account.follow"
},
{
"defaultMessage": "Report @{name}",
"id": "account.report"
},
{
"defaultMessage": "This user is from another instance. This number may be larger.",
"id": "account.disclaimer"
},
{
"defaultMessage": "Posts",
"id": "account.posts"
},
{
"defaultMessage": "Follows",
"id": "account.follows"
},
{
"defaultMessage": "Followers",
"id": "account.followers"
}
],
"path": "app/javascript/mastodon/features/account/components/action_bar.json"
},
{
"descriptors": [
{
"defaultMessage": "Unfollow",
"id": "account.unfollow"
},
{
"defaultMessage": "Follow",
"id": "account.follow"
},
{
"defaultMessage": "Awaiting approval",
"id": "account.requested"
},
{
"defaultMessage": "Follows you",
"id": "account.follows_you"
}
],
"path": "app/javascript/mastodon/features/account/components/header.json"
},
{
"descriptors": [
{
"defaultMessage": "Blocked users",
"id": "column.blocks"
}
],
"path": "app/javascript/mastodon/features/blocks/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Local timeline",
"id": "column.community"
},
{
"defaultMessage": "The local timeline is empty. Write something publicly to get the ball rolling!",
"id": "empty_column.community"
}
],
"path": "app/javascript/mastodon/features/community_timeline/index.json"
},
{
"descriptors": [
{
"defaultMessage": "What is on your mind?",
"id": "compose_form.placeholder"
},
{
"defaultMessage": "Content warning",
"id": "compose_form.spoiler_placeholder"
},
{
"defaultMessage": "Toot",
"id": "compose_form.publish"
}
],
"path": "app/javascript/mastodon/features/compose/components/compose_form.json"
},
{
"descriptors": [
{
"defaultMessage": "Insert emoji",
"id": "emoji_button.label"
},
{
"defaultMessage": "Search...",
"id": "emoji_button.search"
},
{
"defaultMessage": "People",
"id": "emoji_button.people"
},
{
"defaultMessage": "Nature",
"id": "emoji_button.nature"
},
{
"defaultMessage": "Food & Drink",
"id": "emoji_button.food"
},
{
"defaultMessage": "Activity",
"id": "emoji_button.activity"
},
{
"defaultMessage": "Travel & Places",
"id": "emoji_button.travel"
},
{
"defaultMessage": "Objects",
"id": "emoji_button.objects"
},
{
"defaultMessage": "Symbols",
"id": "emoji_button.symbols"
},
{
"defaultMessage": "Flags",
"id": "emoji_button.flags"
}
],
"path": "app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.json"
},
{
"descriptors": [
{
"defaultMessage": "Edit profile",
"id": "navigation_bar.edit_profile"
}
],
"path": "app/javascript/mastodon/features/compose/components/navigation_bar.json"
},
{
"descriptors": [
{
"defaultMessage": "Public",
"id": "privacy.public.short"
},
{
"defaultMessage": "Post to public timelines",
"id": "privacy.public.long"
},
{
"defaultMessage": "Unlisted",
"id": "privacy.unlisted.short"
},
{
"defaultMessage": "Do not show in public timelines",
"id": "privacy.unlisted.long"
},
{
"defaultMessage": "Followers-only",
"id": "privacy.private.short"
},
{
"defaultMessage": "Post to followers only",
"id": "privacy.private.long"
},
{
"defaultMessage": "Direct",
"id": "privacy.direct.short"
},
{
"defaultMessage": "Post to mentioned users only",
"id": "privacy.direct.long"
},
{
"defaultMessage": "Adjust status privacy",
"id": "privacy.change"
}
],
"path": "app/javascript/mastodon/features/compose/components/privacy_dropdown.json"
},
{
"descriptors": [
{
"defaultMessage": "Cancel",
"id": "reply_indicator.cancel"
}
],
"path": "app/javascript/mastodon/features/compose/components/reply_indicator.json"
},
{
"descriptors": [
{
"defaultMessage": "{count, number} {count, plural, one {result} other {results}}",
"id": "search_results.total"
}
],
"path": "app/javascript/mastodon/features/compose/components/search_results.json"
},
{
"descriptors": [
{
"defaultMessage": "Search",
"id": "search.placeholder"
}
],
"path": "app/javascript/mastodon/features/compose/components/search.json"
},
{
"descriptors": [
{
"defaultMessage": "Add media",
"id": "upload_button.label"
}
],
"path": "app/javascript/mastodon/features/compose/components/upload_button.json"
},
{
"descriptors": [
{
"defaultMessage": "Undo",
"id": "upload_form.undo"
}
],
"path": "app/javascript/mastodon/features/compose/components/upload_form.json"
},
{
"descriptors": [
{
"defaultMessage": "Uploading...",
"id": "upload_progress.label"
}
],
"path": "app/javascript/mastodon/features/compose/components/upload_progress.json"
},
{
"descriptors": [
{
"defaultMessage": "Mark media as sensitive",
"id": "compose_form.sensitive"
}
],
"path": "app/javascript/mastodon/features/compose/containers/sensitive_button_container.json"
},
{
"descriptors": [
{
"defaultMessage": "Hide text behind warning",
"id": "compose_form.spoiler"
}
],
"path": "app/javascript/mastodon/features/compose/containers/spoiler_button_container.json"
},
{
"descriptors": [
{
"defaultMessage": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"id": "compose_form.lock_disclaimer"
},
{
"defaultMessage": "locked",
"id": "compose_form.lock_disclaimer.lock"
},
{
"defaultMessage": "Your private status will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is private, and it may be boosted or otherwise made visible to unintended recipients.",
"id": "compose_form.privacy_disclaimer"
}
],
"path": "app/javascript/mastodon/features/compose/containers/warning_container.json"
},
{
"descriptors": [
{
"defaultMessage": "Getting started",
"id": "getting_started.heading"
},
{
"defaultMessage": "Federated timeline",
"id": "navigation_bar.public_timeline"
},
{
"defaultMessage": "Local timeline",
"id": "navigation_bar.community_timeline"
},
{
"defaultMessage": "Preferences",
"id": "navigation_bar.preferences"
},
{
"defaultMessage": "Logout",
"id": "navigation_bar.logout"
}
],
"path": "app/javascript/mastodon/features/compose/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Favourites",
"id": "column.favourites"
}
],
"path": "app/javascript/mastodon/features/favourited_statuses/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Authorize",
"id": "follow_request.authorize"
},
{
"defaultMessage": "Reject",
"id": "follow_request.reject"
}
],
"path": "app/javascript/mastodon/features/follow_requests/components/account_authorize.json"
},
{
"descriptors": [
{
"defaultMessage": "Follow requests",
"id": "column.follow_requests"
}
],
"path": "app/javascript/mastodon/features/follow_requests/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Getting started",
"id": "getting_started.heading"
},
{
"defaultMessage": "Federated timeline",
"id": "navigation_bar.public_timeline"
},
{
"defaultMessage": "Navigation",
"id": "column_subheading.navigation"
},
{
"defaultMessage": "Settings",
"id": "column_subheading.settings"
},
{
"defaultMessage": "Local timeline",
"id": "navigation_bar.community_timeline"
},
{
"defaultMessage": "Preferences",
"id": "navigation_bar.preferences"
},
{
"defaultMessage": "Follow requests",
"id": "navigation_bar.follow_requests"
},
{
"defaultMessage": "Logout",
"id": "navigation_bar.logout"
},
{
"defaultMessage": "Favourites",
"id": "navigation_bar.favourites"
},
{
"defaultMessage": "Blocked users",
"id": "navigation_bar.blocks"
},
{
"defaultMessage": "Muted users",
"id": "navigation_bar.mutes"
},
{
"defaultMessage": "Extended information",
"id": "navigation_bar.info"
},
{
"defaultMessage": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}. {apps}.",
"id": "getting_started.open_source_notice"
},
{
"defaultMessage": "Various apps are available",
"id": "getting_started.apps"
}
],
"path": "app/javascript/mastodon/features/getting_started/index.json"
},
{
"descriptors": [
{
"defaultMessage": "There is nothing in this hashtag yet.",
"id": "empty_column.hashtag"
}
],
"path": "app/javascript/mastodon/features/hashtag_timeline/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Filter out by regular expressions",
"id": "home.column_settings.filter_regex"
},
{
"defaultMessage": "Column settings",
"id": "home.settings"
},
{
"defaultMessage": "Basic",
"id": "home.column_settings.basic"
},
{
"defaultMessage": "Show boosts",
"id": "home.column_settings.show_reblogs"
},
{
"defaultMessage": "Show replies",
"id": "home.column_settings.show_replies"
},
{
"defaultMessage": "Advanced",
"id": "home.column_settings.advanced"
}
],
"path": "app/javascript/mastodon/features/home_timeline/components/column_settings.json"
},
{
"descriptors": [
{
"defaultMessage": "Home",
"id": "column.home"
},
{
"defaultMessage": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
"id": "empty_column.home"
},
{
"defaultMessage": "the public timeline",
"id": "empty_column.home.public_timeline"
}
],
"path": "app/javascript/mastodon/features/home_timeline/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Muted users",
"id": "column.mutes"
}
],
"path": "app/javascript/mastodon/features/mutes/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Clear notifications",
"id": "notifications.clear"
}
],
"path": "app/javascript/mastodon/features/notifications/components/clear_column_button.json"
},
{
"descriptors": [
{
"defaultMessage": "Column settings",
"id": "notifications.settings"
},
{
"defaultMessage": "Desktop notifications",
"id": "notifications.column_settings.alert"
},
{
"defaultMessage": "Show in column",
"id": "notifications.column_settings.show"
},
{
"defaultMessage": "Play sound",
"id": "notifications.column_settings.sound"
},
{
"defaultMessage": "New followers:",
"id": "notifications.column_settings.follow"
},
{
"defaultMessage": "Favourites:",
"id": "notifications.column_settings.favourite"
},
{
"defaultMessage": "Mentions:",
"id": "notifications.column_settings.mention"
},
{
"defaultMessage": "Boosts:",
"id": "notifications.column_settings.reblog"
}
],
"path": "app/javascript/mastodon/features/notifications/components/column_settings.json"
},
{
"descriptors": [
{
"defaultMessage": "{name} followed you",
"id": "notification.follow"
},
{
"defaultMessage": "{name} favourited your status",
"id": "notification.favourite"
},
{
"defaultMessage": "{name} boosted your status",
"id": "notification.reblog"
}
],
"path": "app/javascript/mastodon/features/notifications/components/notification.json"
},
{
"descriptors": [
{
"defaultMessage": "Notifications",
"id": "column.notifications"
},
{
"defaultMessage": "Are you sure you want to permanently clear all your notifications?",
"id": "notifications.clear_confirmation"
},
{
"defaultMessage": "Clear notifications",
"id": "notifications.clear"
},
{
"defaultMessage": "You don't have any notifications yet. Interact with others to start the conversation.",
"id": "empty_column.notifications"
}
],
"path": "app/javascript/mastodon/features/notifications/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Federated timeline",
"id": "column.public"
},
{
"defaultMessage": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"id": "empty_column.public"
}
],
"path": "app/javascript/mastodon/features/public_timeline/index.json"
},
{
"descriptors": [
{
"defaultMessage": "New report",
"id": "report.heading"
},
{
"defaultMessage": "Additional comments",
"id": "report.placeholder"
},
{
"defaultMessage": "Submit",
"id": "report.submit"
},
{
"defaultMessage": "Reporting",
"id": "report.target"
}
],
"path": "app/javascript/mastodon/features/report/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Delete",
"id": "status.delete"
},
{
"defaultMessage": "Mention @{name}",
"id": "status.mention"
},
{
"defaultMessage": "Reply",
"id": "status.reply"
},
{
"defaultMessage": "Boost",
"id": "status.reblog"
},
{
"defaultMessage": "This post cannot be boosted",
"id": "status.cannot_reblog"
},
{
"defaultMessage": "Favourite",
"id": "status.favourite"
},
{
"defaultMessage": "Report @{name}",
"id": "status.report"
}
],
"path": "app/javascript/mastodon/features/status/components/action_bar.json"
},
{
"descriptors": [
{
"defaultMessage": "Delete",
"id": "confirmations.delete.confirm"
},
{
"defaultMessage": "Are you sure you want to delete this status?",
"id": "confirmations.delete.message"
}
],
"path": "app/javascript/mastodon/features/status/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Boost",
"id": "status.reblog"
},
{
"defaultMessage": "You can press {combo} to skip this next time",
"id": "boost_modal.combo"
}
],
"path": "app/javascript/mastodon/features/ui/components/boost_modal.json"
},
{
"descriptors": [
{
"defaultMessage": "Cancel",
"id": "confirmation_modal.cancel"
}
],
"path": "app/javascript/mastodon/features/ui/components/confirmation_modal.json"
},
{
"descriptors": [
{
"defaultMessage": "Close",
"id": "lightbox.close"
}
],
"path": "app/javascript/mastodon/features/ui/components/media_modal.json"
},
{
"descriptors": [
{
"defaultMessage": "Home",
"id": "column.home"
},
{
"defaultMessage": "Notifications",
"id": "column.notifications"
},
{
"defaultMessage": "Local timeline",
"id": "column.community"
},
{
"defaultMessage": "Federated timeline",
"id": "column.public"
},
{
"defaultMessage": "Welcome to Mastodon!",
"id": "onboarding.page_one.welcome"
},
{
"defaultMessage": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"id": "onboarding.page_one.federation"
},
{
"defaultMessage": "You are on {domain}, so your full handle is {handle}",
"id": "onboarding.page_one.handle"
},
{
"defaultMessage": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"id": "onboarding.page_two.compose"
},
{
"defaultMessage": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"id": "onboarding.page_three.search"
},
{
"defaultMessage": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"id": "onboarding.page_three.profile"
},
{
"defaultMessage": "The home timeline shows posts from people you follow.",
"id": "onboarding.page_four.home"
},
{
"defaultMessage": "The notifications column shows when someone interacts with you.",
"id": "onboarding.page_four.notifications"
},
{
"defaultMessage": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"id": "onboarding.page_five.public_timelines"
},
{
"defaultMessage": "Your instance's admin is {admin}.",
"id": "onboarding.page_six.admin"
},
{
"defaultMessage": "Please read {domain}'s {guidelines}!",
"id": "onboarding.page_six.read_guidelines"
},
{
"defaultMessage": "community guidelines",
"id": "onboarding.page_six.guidelines"
},
{
"defaultMessage": "Almost done...",
"id": "onboarding.page_six.almost_done"
},
{
"defaultMessage": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"id": "onboarding.page_six.github"
},
{
"defaultMessage": "There are {apps} available for iOS, Android and other platforms.",
"id": "onboarding.page_six.apps_available"
},
{
"defaultMessage": "mobile apps",
"id": "onboarding.page_six.various_app"
},
{
"defaultMessage": "Bon Appetoot!",
"id": "onboarding.page_six.appetoot"
},
{
"defaultMessage": "Next",
"id": "onboarding.next"
},
{
"defaultMessage": "Done",
"id": "onboarding.done"
},
{
"defaultMessage": "Skip",
"id": "onboarding.skip"
}
],
"path": "app/javascript/mastodon/features/ui/components/onboarding_modal.json"
},
{
"descriptors": [
{
"defaultMessage": "Compose",
"id": "tabs_bar.compose"
},
{
"defaultMessage": "Home",
"id": "tabs_bar.home"
},
{
"defaultMessage": "Notifications",
"id": "tabs_bar.notifications"
},
{
"defaultMessage": "Local",
"id": "tabs_bar.local_timeline"
},
{
"defaultMessage": "Federated",
"id": "tabs_bar.federated_timeline"
}
],
"path": "app/javascript/mastodon/features/ui/components/tabs_bar.json"
},
{
"descriptors": [
{
"defaultMessage": "Drag & drop to upload",
"id": "upload_area.title"
}
],
"path": "app/javascript/mastodon/features/ui/components/upload_area.json"
},
{
"descriptors": [
{
"defaultMessage": "Close",
"id": "lightbox.close"
}
],
"path": "app/javascript/mastodon/features/ui/components/video_modal.json"
}
]

View File

@ -1,14 +1,4 @@
/** {
* Note for Contributors:
* This file (en.jsx) serve as a template for other languages.
* To make other contributors' life easier, please REMEMBER:
* 1. to add your new string here; and
* 2. to remove old strings that are no longer needed; and
* 3. to sort the strings by the key.
* 4. To rename the `en` const name and export default name to match your locale.
* Thanks!
*/
const en = {
"account.block": "Block @{name}", "account.block": "Block @{name}",
"account.disclaimer": "This user is from another instance. This number may be larger.", "account.disclaimer": "This user is from another instance. This number may be larger.",
"account.edit_profile": "Edit profile", "account.edit_profile": "Edit profile",
@ -63,8 +53,8 @@ const en = {
"emoji_button.travel": "Travel & Places", "emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home.public_timeline": "the public timeline",
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.", "empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
@ -94,7 +84,6 @@ const en = {
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
"notification.favourite": "{name} favourited your status", "notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you", "notification.follow": "{name} followed you",
"notification.mention": "{name} mentioned you",
"notification.reblog": "{name} boosted your status", "notification.reblog": "{name} boosted your status",
"notifications.clear": "Clear notifications", "notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
@ -141,7 +130,6 @@ const en = {
"report.submit": "Submit", "report.submit": "Submit",
"report.target": "Reporting", "report.target": "Reporting",
"search.placeholder": "Search", "search.placeholder": "Search",
"search.status_by": "Status by {name}",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.cannot_reblog": "This post cannot be boosted", "status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Delete", "status.delete": "Delete",
@ -171,7 +159,5 @@ const en = {
"video_player.expand": "Expand video", "video_player.expand": "Expand video",
"video_player.toggle_sound": "Toggle sound", "video_player.toggle_sound": "Toggle sound",
"video_player.toggle_visible": "Toggle visibility", "video_player.toggle_visible": "Toggle visibility",
"video_player.video_error": "Video could not be played", "video_player.video_error": "Video could not be played"
}; }
export default en;

View File

@ -0,0 +1,163 @@
{
"account.block": "Bloki @{name}",
"account.disclaimer": "This user is from another instance. This number may be larger.",
"account.edit_profile": "Redakti la profilon",
"account.follow": "Sekvi",
"account.followers": "Sekvantoj",
"account.follows": "Sekvatoj",
"account.follows_you": "Sekvas vin",
"account.mention": "Mencii @{name}",
"account.mute": "Mute @{name}",
"account.posts": "Mesaĝoj",
"account.report": "Report @{name}",
"account.requested": "Atendas aprobon",
"account.unblock": "Malbloki @{name}",
"account.unfollow": "Malsekvi",
"account.unmute": "Unmute @{name}",
"boost_modal.combo": "You can press {combo} to skip this next time",
"column.blocks": "Blocked users",
"column.community": "Loka tempolinio",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
"column.home": "Hejmo",
"column.mutes": "Muted users",
"column.notifications": "Sciigoj",
"column.public": "Fratara tempolinio",
"column_back_button.label": "Reveni",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Pri kio vi pensas?",
"compose_form.privacy_disclaimer": "Via privata mesaĝo estos sendita nur al menciitaj uzantoj en {domains}. Ĉu vi fidas {domainsCount, plural, one {tiun servilon} other {tiujn servilojn}}? Mesaĝa privateco funkcias nur en aperaĵoj de Mastodon. Se {domains} {domainsCount, plural, one {ne estas aperaĵo de Mastodon} other {ne estas aperaĵoj de Mastodon}}, estos neniu indiko ke via mesaĝo estas privata, kaj ĝi povus esti diskonigita aŭ videbligita al necelitaj ricevantoj.",
"compose_form.publish": "Hup",
"compose_form.sensitive": "Marki ke la enhavo estas tikla",
"compose_form.spoiler": "Kaŝi la tekston malantaŭ averto",
"compose_form.spoiler_placeholder": "Content warning",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"getting_started.apps": "Various apps are available",
"getting_started.heading": "Por komenci",
"getting_started.open_source_notice": "Mastodon estas malfermitkoda programo. Vi povas kontribui aŭ raporti problemojn en github je {github}. {apps}.",
"home.column_settings.advanced": "Advanced",
"home.column_settings.basic": "Basic",
"home.column_settings.filter_regex": "Filter out by regular expressions",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings",
"lightbox.close": "Fermi",
"loading_indicator.label": "Ŝarĝanta...",
"media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Loka tempolinio",
"navigation_bar.edit_profile": "Redakti la profilon",
"navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "Extended information",
"navigation_bar.logout": "Elsaluti",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "Preferoj",
"navigation_bar.public_timeline": "Fratara tempolinio",
"notification.favourite": "{name} favoris vian mesaĝon",
"notification.follow": "{name} sekvis vin",
"notification.reblog": "{name} diskonigis vian mesaĝon",
"notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.alert": "Retumilaj atentigoj",
"notifications.column_settings.favourite": "Favoroj:",
"notifications.column_settings.follow": "Novaj sekvantoj:",
"notifications.column_settings.mention": "Mencioj:",
"notifications.column_settings.reblog": "Diskonigoj:",
"notifications.column_settings.show": "Montri en kolono",
"notifications.column_settings.sound": "Play sound",
"notifications.settings": "Column settings",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Direct",
"privacy.private.long": "Post to followers only",
"privacy.private.short": "Followers-only",
"privacy.public.long": "Post to public timelines",
"privacy.public.short": "Public",
"privacy.unlisted.long": "Do not show in public timelines",
"privacy.unlisted.short": "Unlisted",
"reply_indicator.cancel": "Rezigni",
"report.heading": "New report",
"report.placeholder": "Additional comments",
"report.submit": "Submit",
"report.target": "Reporting",
"search.placeholder": "Serĉi",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Forigi",
"status.favourite": "Favori",
"status.load_more": "Load more",
"status.media_hidden": "Media hidden",
"status.mention": "Mencii @{name}",
"status.open": "Expand this status",
"status.reblog": "Diskonigi",
"status.reblogged_by": "{name} diskonigita",
"status.reply": "Respondi",
"status.replyAll": "Reply to thread",
"status.report": "Report @{name}",
"status.sensitive_toggle": "Alklaki por vidi",
"status.sensitive_warning": "Tikla enhavo",
"status.show_less": "Show less",
"status.show_more": "Show more",
"tabs_bar.compose": "Ekskribi",
"tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "Hejmo",
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Sciigoj",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Aldoni enhavaĵon",
"upload_form.undo": "Malfari",
"upload_progress.label": "Uploading...",
"video_player.expand": "Expand video",
"video_player.toggle_sound": "Aktivigi sonojn",
"video_player.toggle_visible": "Toggle visibility",
"video_player.video_error": "Video could not be played"
}

View File

@ -0,0 +1,163 @@
{
"account.block": "Bloquear",
"account.disclaimer": "This user is from another instance. This number may be larger.",
"account.edit_profile": "Editar perfil",
"account.follow": "Seguir",
"account.followers": "Seguidores",
"account.follows": "Seguir",
"account.follows_you": "Te sigue",
"account.mention": "Mencionar",
"account.mute": "Silenciar",
"account.posts": "Publicaciones",
"account.report": "Report @{name}",
"account.requested": "Esperando aprobación",
"account.unblock": "Desbloquear",
"account.unfollow": "Dejar de seguir",
"account.unmute": "Unmute @{name}",
"boost_modal.combo": "You can press {combo} to skip this next time",
"column.blocks": "Usuarios bloqueados",
"column.community": "Historia local",
"column.favourites": "Favoritos",
"column.follow_requests": "Solicitudes para seguirte",
"column.home": "Inicio",
"column.mutes": "Usuarios silenciados",
"column.notifications": "Notificaciones",
"column.public": "Historia federada",
"column_back_button.label": "Atrás",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "¿En qué estás pensando?",
"compose_form.privacy_disclaimer": "Your private status will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is private, and it may be boosted or otherwise made visible to unintended recipients.",
"compose_form.publish": "Tootear",
"compose_form.sensitive": "Marcar contenido como sensible",
"compose_form.spoiler": "Ocultar texto tras advertencia",
"compose_form.spoiler_placeholder": "Advertencia de contenido",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insertar emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"getting_started.apps": "Various apps are available",
"getting_started.heading": "Primeros pasos",
"getting_started.open_source_notice": "Mastodon es software libre. Puedes contribuir o reportar errores en {github}. {apps}.",
"home.column_settings.advanced": "Advanced",
"home.column_settings.basic": "Basic",
"home.column_settings.filter_regex": "Filter out by regular expressions",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings",
"lightbox.close": "Cerrar",
"loading_indicator.label": "Cargando...",
"media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found",
"navigation_bar.blocks": "Usuarios bloqueados",
"navigation_bar.community_timeline": "Historia local",
"navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.favourites": "Favoritos",
"navigation_bar.follow_requests": "Solicitudes para seguirte",
"navigation_bar.info": "Información adicional",
"navigation_bar.logout": "Cerrar sesión",
"navigation_bar.mutes": "Usuarios silenciados",
"navigation_bar.preferences": "Preferencias",
"navigation_bar.public_timeline": "Historia federada",
"notification.favourite": "{name} marcó tu estado como favorito",
"notification.follow": "{name} te empezó a seguir",
"notification.reblog": "{name} ha retooteado tu estado",
"notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.alert": "Notificaciones de escritorio",
"notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.follow": "Nuevos seguidores:",
"notifications.column_settings.mention": "Menciones:",
"notifications.column_settings.reblog": "Retoots:",
"notifications.column_settings.show": "Mostrar en columna",
"notifications.column_settings.sound": "Play sound",
"notifications.settings": "Column settings",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Ajustar privacidad",
"privacy.direct.long": "Sólo mostrar a los usuarios mencionados",
"privacy.direct.short": "Directo",
"privacy.private.long": "Sólo mostrar a seguidores",
"privacy.private.short": "Privado",
"privacy.public.long": "Mostrar en la historia federada",
"privacy.public.short": "Público",
"privacy.unlisted.long": "No mostrar en la historia federada",
"privacy.unlisted.short": "Sin federar",
"reply_indicator.cancel": "Cancelar",
"report.heading": "New report",
"report.placeholder": "Additional comments",
"report.submit": "Submit",
"report.target": "Reporting",
"search.placeholder": "Buscar",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Borrar",
"status.favourite": "Favorito",
"status.load_more": "Load more",
"status.media_hidden": "Media hidden",
"status.mention": "Mencionar",
"status.open": "Expandir estado",
"status.reblog": "Retoot",
"status.reblogged_by": "Retooteado por {name}",
"status.reply": "Responder",
"status.replyAll": "Reply to thread",
"status.report": "Reportar",
"status.sensitive_toggle": "Click para ver",
"status.sensitive_warning": "Contenido sensible",
"status.show_less": "Mostrar menos",
"status.show_more": "Mostrar más",
"tabs_bar.compose": "Redactar",
"tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "Inicio",
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificaciones",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Subir multimedia",
"upload_form.undo": "Deshacer",
"upload_progress.label": "Uploading...",
"video_player.expand": "Expand video",
"video_player.toggle_sound": "Act/Desac. sonido",
"video_player.toggle_visible": "Toggle visibility",
"video_player.video_error": "Video could not be played"
}

View File

@ -1,11 +1,11 @@
const fa = { {
"account.block": "@{name} را مسدود کن", "account.block": "@{name} را مسدود کن",
"account.disclaimer": "این کاربر عضو سرور متفاوتی است. شاید عدد واقعی بیشتر از این باشد.", "account.disclaimer": "این کاربر عضو سرور متفاوتی است. شاید عدد واقعی بیشتر از این باشد.",
"account.edit_profile": "ویرایش نمایه", "account.edit_profile": "ویرایش نمایه",
"account.follow": "پی بگیرید", "account.follow": "پی بگیرید",
"account.followers": "پیگیران", "account.followers": "پیگیران",
"account.follows_you": "پیگیر شماست",
"account.follows": "پی می‌گیرد", "account.follows": "پی می‌گیرد",
"account.follows_you": "پیگیر شماست",
"account.mention": "نام‌بردن از @{name}", "account.mention": "نام‌بردن از @{name}",
"account.mute": "بی‌صدا کردن @{name}", "account.mute": "بی‌صدا کردن @{name}",
"account.posts": "نوشته‌ها", "account.posts": "نوشته‌ها",
@ -15,7 +15,6 @@ const fa = {
"account.unfollow": "پایان پیگیری", "account.unfollow": "پایان پیگیری",
"account.unmute": "باصدا کردن @{name}", "account.unmute": "باصدا کردن @{name}",
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید", "boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
"column_back_button.label": "بازگشت",
"column.blocks": "کاربران مسدودشده", "column.blocks": "کاربران مسدودشده",
"column.community": "نوشته‌های محلی", "column.community": "نوشته‌های محلی",
"column.favourites": "پسندیده‌ها", "column.favourites": "پسندیده‌ها",
@ -24,26 +23,38 @@ const fa = {
"column.mutes": "کاربران بی‌صداشده", "column.mutes": "کاربران بی‌صداشده",
"column.notifications": "اعلان‌ها", "column.notifications": "اعلان‌ها",
"column.public": "نوشته‌های همه‌جا", "column.public": "نوشته‌های همه‌جا",
"column_back_button.label": "بازگشت",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "تازه چه خبر؟", "compose_form.placeholder": "تازه چه خبر؟",
"compose_form.privacy_disclaimer": "نوشتهٔ خصوصی شما به کاربران نام‌برده‌شده در {domains} فرستاده می‌شود. آیا به {domainsCount, plural, one {آن سرور} other {آن سرورها}} اعتماد دارید؟ تنظیمات حریم خصوصی نوشته‌ها تنها در سرورهای ماستدون کار می‌کند. اگر {domains} {domainsCount, plural, one {یک سرور ماستدون نباشد} other {سرورهای ماستدون نباشند}}، اشاره‌ای به خصوصی‌بودن نوشتهٔ شما نخواهد شد و شاید نوشتهٔ شما هم‌رسان شود یا برای کاربرانی که نمی‌خواهید نمایش یابد.", "compose_form.privacy_disclaimer": "نوشتهٔ خصوصی شما به کاربران نام‌برده‌شده در {domains} فرستاده می‌شود. آیا به {domainsCount, plural, one {آن سرور} other {آن سرورها}} اعتماد دارید؟ تنظیمات حریم خصوصی نوشته‌ها تنها در سرورهای ماستدون کار می‌کند. اگر {domains} {domainsCount, plural, one {یک سرور ماستدون نباشد} other {سرورهای ماستدون نباشند}}، اشاره‌ای به خصوصی‌بودن نوشتهٔ شما نخواهد شد و شاید نوشتهٔ شما هم‌رسان شود یا برای کاربرانی که نمی‌خواهید نمایش یابد.",
"compose_form.publish": "بوق", "compose_form.publish": "بوق",
"compose_form.sensitive": "تصاویر حساس هستند", "compose_form.sensitive": "تصاویر حساس هستند",
"compose_form.spoiler_placeholder": "هشدار محتوا",
"compose_form.spoiler": "نوشته را پشت هشدار پنهان کنید", "compose_form.spoiler": "نوشته را پشت هشدار پنهان کنید",
"emoji_button.label": "افزودن شکلک", "compose_form.spoiler_placeholder": "هشدار محتوا",
"emoji_button.search": "جستجو...", "confirmation_modal.cancel": "Cancel",
"emoji_button.people": "مردم", "confirmations.block.confirm": "Block",
"emoji_button.nature": "طبیعت", "confirmations.block.message": "Are you sure you want to block {name}?",
"emoji_button.food": "غذا و نوشیدنی", "confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "فعالیت", "emoji_button.activity": "فعالیت",
"emoji_button.travel": "سفر و مکان",
"emoji_button.objects": "اشیا",
"emoji_button.symbols": "نمادها",
"emoji_button.flags": "پرچم‌ها", "emoji_button.flags": "پرچم‌ها",
"emoji_button.food": "غذا و نوشیدنی",
"emoji_button.label": "افزودن شکلک",
"emoji_button.nature": "طبیعت",
"emoji_button.objects": "اشیا",
"emoji_button.people": "مردم",
"emoji_button.search": "جستجو...",
"emoji_button.symbols": "نمادها",
"emoji_button.travel": "سفر و مکان",
"empty_column.community": "فهرست نوشته‌های محلی خالی است. چیزی بنویسید تا چرخش بچرخد!", "empty_column.community": "فهرست نوشته‌های محلی خالی است. چیزی بنویسید تا چرخش بچرخد!",
"empty_column.hashtag": "هنوز هیچ چیزی با این هشتگ نیست.", "empty_column.hashtag": "هنوز هیچ چیزی با این هشتگ نیست.",
"empty_column.home.public_timeline": "فهرست نوشته‌های همه‌جا",
"empty_column.home": "شما هنوز پیگیر کسی نیستید. {public} را ببینید یا چیزی را جستجو کنید تا کاربران دیگر را ببینید.", "empty_column.home": "شما هنوز پیگیر کسی نیستید. {public} را ببینید یا چیزی را جستجو کنید تا کاربران دیگر را ببینید.",
"empty_column.home.public_timeline": "فهرست نوشته‌های همه‌جا",
"empty_column.notifications": "هنوز هیچ اعلانی ندارید. به نوشته‌های دیگران واکنش نشان دهید تا گفتگو آغاز شود.", "empty_column.notifications": "هنوز هیچ اعلانی ندارید. به نوشته‌های دیگران واکنش نشان دهید تا گفتگو آغاز شود.",
"empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران دیگر را پی بگیرید تا این‌جا پر شود", "empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران دیگر را پی بگیرید تا این‌جا پر شود",
"follow_request.authorize": "اجازه دهید", "follow_request.authorize": "اجازه دهید",
@ -73,10 +84,9 @@ const fa = {
"navigation_bar.public_timeline": "نوشته‌های همه‌جا", "navigation_bar.public_timeline": "نوشته‌های همه‌جا",
"notification.favourite": "{name} نوشتهٔ شما را پسندید", "notification.favourite": "{name} نوشتهٔ شما را پسندید",
"notification.follow": "{name} پیگیر شما شد", "notification.follow": "{name} پیگیر شما شد",
"notification.mention": "{name} از شما نام برد",
"notification.reblog": "{name} نوشتهٔ شما را بازبوقید", "notification.reblog": "{name} نوشتهٔ شما را بازبوقید",
"notifications.clear_confirmation": "واقعاً می‌خواهید همهٔ اعلان‌هایتان را برای همیشه پاک کنید؟",
"notifications.clear": "پاک‌کردن اعلان‌ها", "notifications.clear": "پاک‌کردن اعلان‌ها",
"notifications.clear_confirmation": "واقعاً می‌خواهید همهٔ اعلان‌هایتان را برای همیشه پاک کنید؟",
"notifications.column_settings.alert": "اعلان در کامپیوتر", "notifications.column_settings.alert": "اعلان در کامپیوتر",
"notifications.column_settings.favourite": "پسندیده‌ها:", "notifications.column_settings.favourite": "پسندیده‌ها:",
"notifications.column_settings.follow": "پیگیران تازه:", "notifications.column_settings.follow": "پیگیران تازه:",
@ -85,6 +95,26 @@ const fa = {
"notifications.column_settings.show": "در ستون نشان بده", "notifications.column_settings.show": "در ستون نشان بده",
"notifications.column_settings.sound": "صدا را پخش کن", "notifications.column_settings.sound": "صدا را پخش کن",
"notifications.settings": "تنظیمات ستون", "notifications.settings": "تنظیمات ستون",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "تنظیم حریم خصوصی نوشته‌ها", "privacy.change": "تنظیم حریم خصوصی نوشته‌ها",
"privacy.direct.long": "تنها به کاربران نام‌برده‌شده نشان بده", "privacy.direct.long": "تنها به کاربران نام‌برده‌شده نشان بده",
"privacy.direct.short": "مستقیم", "privacy.direct.short": "مستقیم",
@ -99,9 +129,9 @@ const fa = {
"report.placeholder": "توضیح اضافه", "report.placeholder": "توضیح اضافه",
"report.submit": "بفرست", "report.submit": "بفرست",
"report.target": "گزارش‌دادن", "report.target": "گزارش‌دادن",
"search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}",
"search.placeholder": "جستجو", "search.placeholder": "جستجو",
"search.status_by": "نوشتهٔ {name}", "search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}",
"status.cannot_reblog": "این نوشته را نمی‌شود بازبوقید",
"status.delete": "پاک‌کردن", "status.delete": "پاک‌کردن",
"status.favourite": "پسندیدن", "status.favourite": "پسندیدن",
"status.load_more": "بیشتر نشان بده", "status.load_more": "بیشتر نشان بده",
@ -109,7 +139,6 @@ const fa = {
"status.mention": "از @{name} نام ببرید", "status.mention": "از @{name} نام ببرید",
"status.open": "این نوشته را باز کن", "status.open": "این نوشته را باز کن",
"status.reblog": "بوق", "status.reblog": "بوق",
"status.cannot_reblog": "این نوشته را نمی‌شود بازبوقید",
"status.reblogged_by": "{name} بازبوقید", "status.reblogged_by": "{name} بازبوقید",
"status.reply": "پاسخ", "status.reply": "پاسخ",
"status.replyAll": "به نوشته پاسخ دهید", "status.replyAll": "به نوشته پاسخ دهید",
@ -127,10 +156,8 @@ const fa = {
"upload_button.label": "افزودن تصویر", "upload_button.label": "افزودن تصویر",
"upload_form.undo": "واگردانی", "upload_form.undo": "واگردانی",
"upload_progress.label": "بارگذاری...", "upload_progress.label": "بارگذاری...",
"video_player.expand": "بازکردن ویدیو",
"video_player.toggle_sound": "تغییر صداداری", "video_player.toggle_sound": "تغییر صداداری",
"video_player.toggle_visible": "تغییر پیدایی", "video_player.toggle_visible": "تغییر پیدایی",
"video_player.expand": "بازکردن ویدیو", "video_player.video_error": "ویدیو نمی‌تواند پخش شود"
"video_player.video_error": "ویدیو نمی‌تواند پخش شود", }
};
export default fa;

View File

@ -0,0 +1,163 @@
{
"account.block": "Estä @{name}",
"account.disclaimer": "This user is from another instance. This number may be larger.",
"account.edit_profile": "Muokkaa",
"account.follow": "Seuraa",
"account.followers": "Seuraajia",
"account.follows": "Seuraa",
"account.follows_you": "Seuraa sinua",
"account.mention": "Mainitse @{name}",
"account.mute": "Mute @{name}",
"account.posts": "Postit",
"account.report": "Report @{name}",
"account.requested": "Odottaa hyväksyntää",
"account.unblock": "Salli @{name}",
"account.unfollow": "Lopeta seuraaminen",
"account.unmute": "Unmute @{name}",
"boost_modal.combo": "You can press {combo} to skip this next time",
"column.blocks": "Blocked users",
"column.community": "Paikallinen aikajana",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
"column.home": "Koti",
"column.mutes": "Muted users",
"column.notifications": "Ilmoitukset",
"column.public": "Yleinen aikajana",
"column_back_button.label": "Takaisin",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Mitä sinulla on mielessä?",
"compose_form.privacy_disclaimer": "Sinun yksityinen status toimitetaan mainitsemallesi käyttäjille domaineissa {domains}. Luotatko {domainsCount, plural, one {tähän palvelimeen} other {näihin palvelimiin}}? Postauksen yksityisyys toimii van Mastodon palvelimilla. Jos {domains} {domainsCount, plural, one {ei ole Mastodon palvelin} other {eivät ole Mastodon palvelin}}, viestiin ei tule Yksityinen-merkintää, ja sitä voidaan boostata tai muuten tehdä näkyväksi muille vastaanottajille.",
"compose_form.publish": "Toot",
"compose_form.sensitive": "Merkitse media herkäksi",
"compose_form.spoiler": "Piiloita teksti varoituksen taakse",
"compose_form.spoiler_placeholder": "Content warning",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"getting_started.apps": "Various apps are available",
"getting_started.heading": "Aloitus",
"getting_started.open_source_notice": "Mastodon Mastodon on avoimen lähdekoodin ohjelma. Voit avustaa tai raportoida ongelmia GitHub palvelussa {github}. {apps}.",
"home.column_settings.advanced": "Advanced",
"home.column_settings.basic": "Basic",
"home.column_settings.filter_regex": "Filter out by regular expressions",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings",
"lightbox.close": "Sulje",
"loading_indicator.label": "Ladataan...",
"media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Paikallinen aikajana",
"navigation_bar.edit_profile": "Muokkaa profiilia",
"navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "Extended information",
"navigation_bar.logout": "Kirjaudu ulos",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "Ominaisuudet",
"navigation_bar.public_timeline": "Yleinen aikajana",
"notification.favourite": "{name} tykkäsi statuksestasi",
"notification.follow": "{name} seurasi sinua",
"notification.reblog": "{name} buustasi statustasi",
"notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.alert": "Työpöytä ilmoitukset",
"notifications.column_settings.favourite": "Tykkäyksiä:",
"notifications.column_settings.follow": "Uusia seuraajia:",
"notifications.column_settings.mention": "Mainintoja:",
"notifications.column_settings.reblog": "Buusteja:",
"notifications.column_settings.show": "Näytä sarakkeessa",
"notifications.column_settings.sound": "Play sound",
"notifications.settings": "Column settings",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Direct",
"privacy.private.long": "Post to followers only",
"privacy.private.short": "Followers-only",
"privacy.public.long": "Post to public timelines",
"privacy.public.short": "Public",
"privacy.unlisted.long": "Do not show in public timelines",
"privacy.unlisted.short": "Unlisted",
"reply_indicator.cancel": "Peruuta",
"report.heading": "New report",
"report.placeholder": "Additional comments",
"report.submit": "Submit",
"report.target": "Reporting",
"search.placeholder": "Hae",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Poista",
"status.favourite": "Tykkää",
"status.load_more": "Load more",
"status.media_hidden": "Media hidden",
"status.mention": "Mainitse @{name}",
"status.open": "Expand this status",
"status.reblog": "Buustaa",
"status.reblogged_by": "{name} buustasi",
"status.reply": "Vastaa",
"status.replyAll": "Reply to thread",
"status.report": "Report @{name}",
"status.sensitive_toggle": "Klikkaa nähdäksesi",
"status.sensitive_warning": "Arkaluontoista sisältöä",
"status.show_less": "Show less",
"status.show_more": "Show more",
"tabs_bar.compose": "Luo",
"tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "Koti",
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Ilmoitukset",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Lisää mediaa",
"upload_form.undo": "Peru",
"upload_progress.label": "Uploading...",
"video_player.expand": "Expand video",
"video_player.toggle_sound": "Äänet päälle/pois",
"video_player.toggle_visible": "Toggle visibility",
"video_player.video_error": "Video could not be played"
}

View File

@ -1,18 +1,10 @@
/** {
* Note aux contributeurstrices:
* Pour rendre plus simple la vie des autres personnes
* apportant leur contribution, merci de penser aux choses suivantes :
* 1. Ajoutez les nouvelles chaînes traduites par ordre alphabétique
* 2. Pensez à supprimer les chaînes inutilisées
* Merci !
*/
const fr = {
"account.block": "Bloquer", "account.block": "Bloquer",
"account.disclaimer": "Ce compte est situé sur une autre instance. Les nombres peuvent être plus grands.", "account.disclaimer": "Ce compte est situé sur une autre instance. Les nombres peuvent être plus grands.",
"account.edit_profile": "Modifier le profil", "account.edit_profile": "Modifier le profil",
"account.follow": "Suivre",
"account.followers": "Abonné⋅e⋅s", "account.followers": "Abonné⋅e⋅s",
"account.follows": "Abonnements", "account.follows": "Abonnements",
"account.follow": "Suivre",
"account.follows_you": "Vous suit", "account.follows_you": "Vous suit",
"account.mention": "Mentionner", "account.mention": "Mentionner",
"account.mute": "Masquer", "account.mute": "Masquer",
@ -22,14 +14,20 @@ const fr = {
"account.unblock": "Débloquer", "account.unblock": "Débloquer",
"account.unfollow": "Ne plus suivre", "account.unfollow": "Ne plus suivre",
"account.unmute": "Ne plus masquer", "account.unmute": "Ne plus masquer",
"column_back_button.label": "Retour", "boost_modal.combo": "You can press {combo} to skip this next time",
"column.blocks": "Comptes bloqués", "column.blocks": "Comptes bloqués",
"column.community": "Fil public local", "column.community": "Fil public local",
"column.favourites": "Favoris", "column.favourites": "Favoris",
"column.follow_requests": "Demandes de suivi", "column.follow_requests": "Demandes de suivi",
"column.home": "Accueil", "column.home": "Accueil",
"column.mutes": "Muted users",
"column.notifications": "Notifications", "column.notifications": "Notifications",
"column.public": "Fil public global", "column.public": "Fil public global",
"column_back_button.label": "Retour",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Quavez-vous en tête ?", "compose_form.placeholder": "Quavez-vous en tête ?",
"compose_form.privacy_disclaimer": "Votre statut privé va être transmis aux personnes mentionnées sur {domains}. Avez-vous confiance en {domainsCount, plural, one {ce serveur} other {ces serveurs}} pour ne pas divulguer votre statut ? Les statuts privés ne fonctionnent que sur les instances de Mastodon. Si {domains} {domainsCount, plural, one {nest pas une instance de Mastodon} other {ne sont pas des instances de Mastodon}}, il ny aura aucune indication que votre statut est privé, et il pourrait être partagé ou rendu visible dune autre manière à dautres personnes imprévues.", "compose_form.privacy_disclaimer": "Votre statut privé va être transmis aux personnes mentionnées sur {domains}. Avez-vous confiance en {domainsCount, plural, one {ce serveur} other {ces serveurs}} pour ne pas divulguer votre statut ? Les statuts privés ne fonctionnent que sur les instances de Mastodon. Si {domains} {domainsCount, plural, one {nest pas une instance de Mastodon} other {ne sont pas des instances de Mastodon}}, il ny aura aucune indication que votre statut est privé, et il pourrait être partagé ou rendu visible dune autre manière à dautres personnes imprévues.",
"compose_form.private": "Rendre privé", "compose_form.private": "Rendre privé",
@ -37,8 +35,23 @@ const fr = {
"compose_form.sensitive": "Marquer le média comme délicat", "compose_form.sensitive": "Marquer le média comme délicat",
"compose_form.spoiler": "Masquer le texte derrière un avertissement", "compose_form.spoiler": "Masquer le texte derrière un avertissement",
"compose_form.spoiler_placeholder": "Avertissement", "compose_form.spoiler_placeholder": "Avertissement",
"compose_form.unlisted": "Ne pas afficher dans les fils publics", "confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insérer un emoji", "emoji_button.label": "Insérer un emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "Le fil public local est vide. Écrivez-donc quelque chose pour le remplir !", "empty_column.community": "Le fil public local est vide. Écrivez-donc quelque chose pour le remplir !",
"empty_column.hashtag": "Il ny a encore aucun contenu relatif à ce hashtag", "empty_column.hashtag": "Il ny a encore aucun contenu relatif à ce hashtag",
"empty_column.home.public_timeline": "le fil public", "empty_column.home.public_timeline": "le fil public",
@ -47,9 +60,7 @@ const fr = {
"empty_column.public": "Il ny a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des utilisateurs⋅trices dautres instances pour remplir le fil public.", "empty_column.public": "Il ny a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des utilisateurs⋅trices dautres instances pour remplir le fil public.",
"follow_request.authorize": "Autoriser", "follow_request.authorize": "Autoriser",
"follow_request.reject": "Rejeter", "follow_request.reject": "Rejeter",
"getting_started.about_addressing": "Vous pouvez suivre les statuts de quelquun en entrant dans le champ de recherche leur identifiant et le domaine de leur instance, séparés par un @ à la manière dune adresse courriel.", "getting_started.apps": "Various apps are available",
"getting_started.about_developer": "Pour suivre le développeur de ce projet, cest Gargron@mastodon.social",
"getting_started.about_shortcuts": "Si cette personne utilise la même instance que vous, lidentifiant suffit. Cest le même principe pour mentionner quelquun dans vos statuts.",
"getting_started.heading": "Pour commencer", "getting_started.heading": "Pour commencer",
"getting_started.open_source_notice": "Mastodon est un logiciel libre. Vous pouvez contribuer et envoyer vos commentaires et rapports de bogues via {github} sur GitHub.", "getting_started.open_source_notice": "Mastodon est un logiciel libre. Vous pouvez contribuer et envoyer vos commentaires et rapports de bogues via {github} sur GitHub.",
"home.column_settings.advanced": "Avancé", "home.column_settings.advanced": "Avancé",
@ -74,10 +85,9 @@ const fr = {
"navigation_bar.public_timeline": "Fil public global", "navigation_bar.public_timeline": "Fil public global",
"notification.favourite": "{name} a ajouté à ses favoris :", "notification.favourite": "{name} a ajouté à ses favoris :",
"notification.follow": "{name} vous suit.", "notification.follow": "{name} vous suit.",
"notification.mention": "{name} vous a mentionné⋅e :",
"notification.reblog": "{name} a partagé votre statut :", "notification.reblog": "{name} a partagé votre statut :",
"notifications.clear_confirmation": "Voulez-vous vraiment supprimer toutes vos notifications ?",
"notifications.clear": "Nettoyer", "notifications.clear": "Nettoyer",
"notifications.clear_confirmation": "Voulez-vous vraiment supprimer toutes vos notifications ?",
"notifications.column_settings.alert": "Notifications locales", "notifications.column_settings.alert": "Notifications locales",
"notifications.column_settings.favourite": "Favoris :", "notifications.column_settings.favourite": "Favoris :",
"notifications.column_settings.follow": "Nouveaux abonné⋅e⋅s :", "notifications.column_settings.follow": "Nouveaux abonné⋅e⋅s :",
@ -86,6 +96,7 @@ const fr = {
"notifications.column_settings.show": "Afficher dans la colonne", "notifications.column_settings.show": "Afficher dans la colonne",
"notifications.column_settings.sound": "Émettre un son", "notifications.column_settings.sound": "Émettre un son",
"notifications.settings": "Paramètres de la colonne", "notifications.settings": "Paramètres de la colonne",
"onboarding.done": "Done",
"onboarding.next": "Suivant", "onboarding.next": "Suivant",
"onboarding.page_five.public_timelines": "Le fil public global affiche les posts de tou⋅te⋅s les utilisateurs⋅trices suivi⋅es par les membres de {domain}. Le fil public local est identique mais se limite aux utilisateurs⋅trices de {domain}.", "onboarding.page_five.public_timelines": "Le fil public global affiche les posts de tou⋅te⋅s les utilisateurs⋅trices suivi⋅es par les membres de {domain}. Le fil public local est identique mais se limite aux utilisateurs⋅trices de {domain}.",
"onboarding.page_four.home": "LAccueil affiche les posts de tou⋅te⋅s les utilisateurs⋅trices que vous suivez", "onboarding.page_four.home": "LAccueil affiche les posts de tou⋅te⋅s les utilisateurs⋅trices que vous suivez",
@ -118,20 +129,19 @@ const fr = {
"report.placeholder": "Commentaires additionnels", "report.placeholder": "Commentaires additionnels",
"report.submit": "Envoyer", "report.submit": "Envoyer",
"report.target": "Signalement", "report.target": "Signalement",
"search.account": "Compte",
"search.hashtag": "Mot-clé",
"search.placeholder": "Rechercher", "search.placeholder": "Rechercher",
"search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}", "search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}",
"search.status_by": "Statuts de {name}", "status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Effacer", "status.delete": "Effacer",
"status.favourite": "Ajouter aux favoris", "status.favourite": "Ajouter aux favoris",
"status.load_more": "Charger plus", "status.load_more": "Charger plus",
"status.media_hidden": "Média caché", "status.media_hidden": "Média caché",
"status.mention": "Mentionner", "status.mention": "Mentionner",
"status.open": "Déplier ce statut", "status.open": "Déplier ce statut",
"status.reblogged_by": "{name} a partagé :",
"status.reblog": "Partager", "status.reblog": "Partager",
"status.reblogged_by": "{name} a partagé :",
"status.reply": "Répondre", "status.reply": "Répondre",
"status.replyAll": "Reply to thread",
"status.report": "Signaler @{name}", "status.report": "Signaler @{name}",
"status.sensitive_toggle": "Cliquer pour dévoiler", "status.sensitive_toggle": "Cliquer pour dévoiler",
"status.sensitive_warning": "Contenu délicat", "status.sensitive_warning": "Contenu délicat",
@ -141,15 +151,13 @@ const fr = {
"tabs_bar.federated_timeline": "Fil public global", "tabs_bar.federated_timeline": "Fil public global",
"tabs_bar.home": "Accueil", "tabs_bar.home": "Accueil",
"tabs_bar.local_timeline": "Fil public local", "tabs_bar.local_timeline": "Fil public local",
"tabs_bar.mentions": "Mentions",
"tabs_bar.notifications": "Notifications", "tabs_bar.notifications": "Notifications",
"tabs_bar.public": "Fil public global",
"upload_area.title": "Glissez et déposez pour envoyer", "upload_area.title": "Glissez et déposez pour envoyer",
"upload_button.label": "Joindre un média", "upload_button.label": "Joindre un média",
"upload_form.undo": "Annuler", "upload_form.undo": "Annuler",
"upload_progress.label": "Envoi en cours…", "upload_progress.label": "Envoi en cours…",
"video_player.expand": "Expand video",
"video_player.toggle_sound": "Mettre/Couper le son", "video_player.toggle_sound": "Mettre/Couper le son",
"video_player.toggle_visible": "Afficher/Cacher la vidéo", "video_player.toggle_visible": "Afficher/Cacher la vidéo",
}; "video_player.video_error": "Video could not be played"
}
export default fr;

View File

@ -1,16 +1,6 @@
/** {
* הערה לתורמים:
* קובץ זה (he.jsx)מבוסס על en.jsx ויש לעדכנו מפעם לפעם כשיוצאות גרסאות חדשות.
* אנא הקלו על התורמים העתידיים:
* 1. הוסיפו לכאן מחרוזות חדשות
* 2. הסירו מחרוזות ישנות שכבר לא בשימוש בגרסא האנגלית
* 3. מיינו את השורות לפי סדר ABC כמו בקובץ המקורי.
* 4. ובבקשה כבדו את סגנון התרגום שהנחלנו כאן, או תאמו איתנו אם ישנם שינויים יסודיים
* תודה!
*/
const he = {
"account.block": "חסימת @{name}", "account.block": "חסימת @{name}",
"account.disclaimer": "&rlm;משתמש זה מגיע מקהילה אחרת. המספר הזה עשוי להיות גדול יותר.", "account.disclaimer": "משתמש זה מגיע מקהילה אחרת. המספר הזה עשוי להיות גדול יותר.",
"account.edit_profile": "עריכת פרופיל", "account.edit_profile": "עריכת פרופיל",
"account.follow": "מעקב", "account.follow": "מעקב",
"account.followers": "עוקבים", "account.followers": "עוקבים",
@ -38,9 +28,9 @@ const he = {
"column_subheading.settings": "אפשרויות", "column_subheading.settings": "אפשרויות",
"compose_form.lock_disclaimer": "חשבונך אינו {locked}. כל אחד יוכל לעקוב אחריך כדי לקרוא את הודעותיך המיועדות לעוקבים בלבד.", "compose_form.lock_disclaimer": "חשבונך אינו {locked}. כל אחד יוכל לעקוב אחריך כדי לקרוא את הודעותיך המיועדות לעוקבים בלבד.",
"compose_form.lock_disclaimer.lock": "נעול", "compose_form.lock_disclaimer.lock": "נעול",
"compose_form.placeholder": "&rlm;מה עובר לך בראש?", "compose_form.placeholder": "מה עובר לך בראש?",
"compose_form.privacy_disclaimer": "&rlm;הודעתך הפרטית תשלח למשתמשים על {domains}. האם ניתן לסמוך על {domainsCount, plural, one {שרת זה} other {שרתים אלו}}? פרטיות ההודעה קיימת רק על שרתי מסטודון. אם {domains} {domainsCount, plural, one {הוא לא שרת מסטודון} other {הם לא שרתי מסטודון}}, לא יהיה שום סימן שההודעה פרטית, והוא עשוי להיות מקודם או להחשף למשתמשים שלא ברשימת היעד.", "compose_form.privacy_disclaimer": "הודעתך הפרטית תשלח למשתמשים על {domains}. האם ניתן לסמוך על {domainsCount, plural, one {שרת זה} other {שרתים אלו}}? פרטיות ההודעה קיימת רק על שרתי מסטודון. אם {domains} {domainsCount, plural, one {הוא לא שרת מסטודון} other {הם לא שרתי מסטודון}}, לא יהיה שום סימן שההודעה פרטית, והוא עשוי להיות מקודם או להחשף למשתמשים שלא ברשימת היעד.",
"compose_form.publish": "&rlm;לחצרץ", "compose_form.publish": "לחצרץ",
"compose_form.sensitive": "סימון תוכן כרגיש", "compose_form.sensitive": "סימון תוכן כרגיש",
"compose_form.spoiler": "הסתרה מאחורי אזהרת תוכן", "compose_form.spoiler": "הסתרה מאחורי אזהרת תוכן",
"compose_form.spoiler_placeholder": "אזהרת תוכן", "compose_form.spoiler_placeholder": "אזהרת תוכן",
@ -58,15 +48,15 @@ const he = {
"emoji_button.nature": "טבע", "emoji_button.nature": "טבע",
"emoji_button.objects": "חפצים", "emoji_button.objects": "חפצים",
"emoji_button.people": "אנשים", "emoji_button.people": "אנשים",
"emoji_button.search": "&rlm;חיפוש...", "emoji_button.search": "חיפוש...",
"emoji_button.symbols": "סמלים", "emoji_button.symbols": "סמלים",
"emoji_button.travel": "טיולים ואתרים", "emoji_button.travel": "טיולים ואתרים",
"empty_column.community": "&rlm;טור הסביבה ריק. יש לפרסם משהו כדי שדברים יתרחילו להתגלגל!", "empty_column.community": "טור הסביבה ריק. יש לפרסם משהו כדי שדברים יתרחילו להתגלגל!",
"empty_column.hashtag": "&rlm;אין כלום בהאשתג הזה עדיין.", "empty_column.hashtag": "אין כלום בהאשתג הזה עדיין.",
"empty_column.home.public_timeline": "בפרהסיה", "empty_column.home.public_timeline": "בפרהסיה",
"empty_column.home": "&rlm;אף אחד לא במעקב עדיין. אפשר לבקר ב{public} או להשתמש בחיפוש כדי להתחיל ולהכיר חצוצרנים אחרים.", "empty_column.home": "אף אחד לא במעקב עדיין. אפשר לבקר ב{public} או להשתמש בחיפוש כדי להתחיל ולהכיר חצוצרנים אחרים.",
"empty_column.notifications": "&rlm;אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב!", "empty_column.notifications": "אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב!",
"empty_column.public": "&rlm;אין פה כלום! כדי למלא את הטור הזה אפשר לכתוב משהו, או להתחיל לעקוב אחרי אנשים מקהילות אחרות.", "empty_column.public": "אין פה כלום! כדי למלא את הטור הזה אפשר לכתוב משהו, או להתחיל לעקוב אחרי אנשים מקהילות אחרות.",
"follow_request.authorize": "קבלה", "follow_request.authorize": "קבלה",
"follow_request.reject": "דחיה", "follow_request.reject": "דחיה",
"getting_started.apps": "קיים מבחר יישומונים לניידים", "getting_started.apps": "קיים מבחר יישומונים לניידים",
@ -74,7 +64,7 @@ const he = {
"getting_started.open_source_notice": "מסטודון היא תוכנה חופשית (בקוד פתוח). ניתן לתרום או לדווח על בעיות בגיטהאב: {github}. {apps}.", "getting_started.open_source_notice": "מסטודון היא תוכנה חופשית (בקוד פתוח). ניתן לתרום או לדווח על בעיות בגיטהאב: {github}. {apps}.",
"home.column_settings.advanced": "למתקדמים", "home.column_settings.advanced": "למתקדמים",
"home.column_settings.basic": "למתחילים", "home.column_settings.basic": "למתחילים",
"home.column_settings.filter_regex": "&rlm;סינון באמצעות ביטויים רגולריים (regular expressions)", "home.column_settings.filter_regex": "סינון באמצעות ביטויים רגולריים (regular expressions)",
"home.column_settings.show_reblogs": "הצגת הדהודים", "home.column_settings.show_reblogs": "הצגת הדהודים",
"home.column_settings.show_replies": "הצגת תגובות", "home.column_settings.show_replies": "הצגת תגובות",
"home.settings": "הגדרות טור", "home.settings": "הגדרות טור",
@ -94,15 +84,15 @@ const he = {
"navigation_bar.public_timeline": "בפרהסיה", "navigation_bar.public_timeline": "בפרהסיה",
"notification.favourite": "חצרוצך חובב על ידי {name}", "notification.favourite": "חצרוצך חובב על ידי {name}",
"notification.follow": "{name} במעקב אחרייך", "notification.follow": "{name} במעקב אחרייך",
"notification.mention": 'אוזכרת ע"י {name}', "notification.mention": "אוזכרת ע\"י {name}",
"notification.reblog": "חצרוצך הודהד על ידי {name}", "notification.reblog": "חצרוצך הודהד על ידי {name}",
"notifications.clear": "הסרת התראות", "notifications.clear": "הסרת התראות",
"notifications.clear_confirmation": "&rlm;להסיר את כל ההתראות? בטוח?", "notifications.clear_confirmation": "להסיר את כל ההתראות? בטוח?",
"notifications.column_settings.alert": "התראות לשולחן העבודה", "notifications.column_settings.alert": "התראות לשולחן העבודה",
"notifications.column_settings.favourite": "מחובבים:", "notifications.column_settings.favourite": "מחובבים:",
"notifications.column_settings.follow": "עוקבים חדשים:", "notifications.column_settings.follow": "עוקבים חדשים:",
"notifications.column_settings.mention": "&rlm;פניות:", "notifications.column_settings.mention": "פניות:",
"notifications.column_settings.reblog": "&rlm;הדהודים:", "notifications.column_settings.reblog": "הדהודים:",
"notifications.column_settings.show": "הצגה בטור", "notifications.column_settings.show": "הצגה בטור",
"notifications.column_settings.sound": "שמע מופעל", "notifications.column_settings.sound": "שמע מופעל",
"notifications.settings": "הגדרות טור", "notifications.settings": "הגדרות טור",
@ -120,7 +110,7 @@ const he = {
"onboarding.page_six.apps_available": "קיימים {apps} זמינים עבור אנדרואיד, אייפון ופלטפורמות נוספות.", "onboarding.page_six.apps_available": "קיימים {apps} זמינים עבור אנדרואיד, אייפון ופלטפורמות נוספות.",
"onboarding.page_six.github": "מסטודון הוא תוכנה חופשית. ניתן לדווח על באגים, לבקש יכולות, או לתרום לקוד באתר {github}.", "onboarding.page_six.github": "מסטודון הוא תוכנה חופשית. ניתן לדווח על באגים, לבקש יכולות, או לתרום לקוד באתר {github}.",
"onboarding.page_six.guidelines": "חוקי הקהילה", "onboarding.page_six.guidelines": "חוקי הקהילה",
"onboarding.page_six.read_guidelines": "&rlm;נא לקרוא את {guidelines} של {domain}!", "onboarding.page_six.read_guidelines": "נא לקרוא את {guidelines} של {domain}!",
"onboarding.page_six.various_app": "יישומונים ניידים", "onboarding.page_six.various_app": "יישומונים ניידים",
"onboarding.page_three.profile": "ץתחת 'עריכת פרופיל' ניתן להחליף את תמונת הפרופיל שלך, תיאור קצר, והשם המוצג. שם גם ניתן למצוא אפשרויות והעדפות נוספות.", "onboarding.page_three.profile": "ץתחת 'עריכת פרופיל' ניתן להחליף את תמונת הפרופיל שלך, תיאור קצר, והשם המוצג. שם גם ניתן למצוא אפשרויות והעדפות נוספות.",
"onboarding.page_three.search": "בחלונית החיפוש ניתן לחפש אנשים והאשתגים, כמו למשל {illustration} או {introductions}. כדי למצוא מישהו שלא על האינסטנס המקומי, יש להשתמש בכינוי המשתמש המלא.", "onboarding.page_three.search": "בחלונית החיפוש ניתן לחפש אנשים והאשתגים, כמו למשל {illustration} או {introductions}. כדי למצוא מישהו שלא על האינסטנס המקומי, יש להשתמש בכינוי המשתמש המלא.",
@ -171,7 +161,5 @@ const he = {
"video_player.expand": "הרחבת וידאו", "video_player.expand": "הרחבת וידאו",
"video_player.toggle_sound": "הפעלת\\ביטול שמע", "video_player.toggle_sound": "הפעלת\\ביטול שמע",
"video_player.toggle_visible": "הפעלת\\ביטול תצוגה", "video_player.toggle_visible": "הפעלת\\ביטול תצוגה",
"video_player.video_error": "לא ניתן לנגן וידאו", "video_player.video_error": "לא ניתן לנגן וידאו"
}; }
export default he;

View File

@ -1,11 +1,11 @@
const hr = { {
"account.block": "Blokiraj @{name}", "account.block": "Blokiraj @{name}",
"account.disclaimer": "Ovaj korisnik je sa druge instance. Ovaj broj bi mogao biti veći.", "account.disclaimer": "Ovaj korisnik je sa druge instance. Ovaj broj bi mogao biti veći.",
"account.edit_profile": "Uredi profil", "account.edit_profile": "Uredi profil",
"account.follow": "Slijedi", "account.follow": "Slijedi",
"account.followers": "Sljedbenici", "account.followers": "Sljedbenici",
"account.follows_you": "te slijedi",
"account.follows": "Slijedi", "account.follows": "Slijedi",
"account.follows_you": "te slijedi",
"account.mention": "Spomeni @{name}", "account.mention": "Spomeni @{name}",
"account.mute": "Utišaj @{name}", "account.mute": "Utišaj @{name}",
"account.posts": "Postovi", "account.posts": "Postovi",
@ -15,25 +15,46 @@ const hr = {
"account.unfollow": "Prestani slijediti", "account.unfollow": "Prestani slijediti",
"account.unmute": "Poništi utišavanje @{name}", "account.unmute": "Poništi utišavanje @{name}",
"boost_modal.combo": "Možeš pritisnuti {combo} kako bi ovo preskočio sljedeći put", "boost_modal.combo": "Možeš pritisnuti {combo} kako bi ovo preskočio sljedeći put",
"column_back_button.label": "Natrag",
"column.blocks": "Blokirani korisnici", "column.blocks": "Blokirani korisnici",
"column.community": "Lokalni timeline", "column.community": "Lokalni timeline",
"column.favourites": "Favoriti", "column.favourites": "Favoriti",
"column.follow_requests": "Zahtjevi za slijeđenje", "column.follow_requests": "Zahtjevi za slijeđenje",
"column.home": "Dom", "column.home": "Dom",
"column.mutes": "Muted users",
"column.notifications": "Notifikacije", "column.notifications": "Notifikacije",
"column.public": "Federalni timeline", "column.public": "Federalni timeline",
"column_back_button.label": "Natrag",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Što ti je na umu?", "compose_form.placeholder": "Što ti je na umu?",
"compose_form.privacy_disclaimer": "Tvoj privatni status će biti dostavljen spomenutim korisnicima na {domains}. Vjeruješ li {domainsCount, plural, one {that server} drugim {those servers}}? Privatnost postova radi samo na Mastodon instancama. Ako {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, neće biti indikacije da je tvoj post privatan, i mogao bit biti podignut ili biti učinjen vidljivim na drugi način neželjenim primateljima.", "compose_form.privacy_disclaimer": "Tvoj privatni status će biti dostavljen spomenutim korisnicima na {domains}. Vjeruješ li {domainsCount, plural, one {that server} drugim {those servers}}? Privatnost postova radi samo na Mastodon instancama. Ako {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, neće biti indikacije da je tvoj post privatan, i mogao bit biti podignut ili biti učinjen vidljivim na drugi način neželjenim primateljima.",
"compose_form.publish": "Toot", "compose_form.publish": "Toot",
"compose_form.sensitive": "Označi media sadržaj kao osjetljiv", "compose_form.sensitive": "Označi media sadržaj kao osjetljiv",
"compose_form.spoiler_placeholder": "Upozorenje o sadržaju",
"compose_form.spoiler": "Sakrij text iza upozorenja", "compose_form.spoiler": "Sakrij text iza upozorenja",
"compose_form.spoiler_placeholder": "Upozorenje o sadržaju",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Umetni smajlije", "emoji_button.label": "Umetni smajlije",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "Lokalni timeline je prazan. Napiši nešto javno kako bi pokrenuo stvari!", "empty_column.community": "Lokalni timeline je prazan. Napiši nešto javno kako bi pokrenuo stvari!",
"empty_column.hashtag": "Još ne postoji ništa s ovim hashtagom.", "empty_column.hashtag": "Još ne postoji ništa s ovim hashtagom.",
"empty_column.home.public_timeline": "javni timeline",
"empty_column.home": "Još ne slijediš nikoga. Posjeti {public} ili koristi tražilicu kako bi počeo i upoznao druge korisnike.", "empty_column.home": "Još ne slijediš nikoga. Posjeti {public} ili koristi tražilicu kako bi počeo i upoznao druge korisnike.",
"empty_column.home.public_timeline": "javni timeline",
"empty_column.notifications": "Još nemaš notifikacija. Komuniciraj sa drugima kako bi započeo razgovor.", "empty_column.notifications": "Još nemaš notifikacija. Komuniciraj sa drugima kako bi započeo razgovor.",
"empty_column.public": "Ovdje nema ništa! Napiši nešto javno, ili ručno slijedi korisnike sa drugih instanci kako bi popunio", "empty_column.public": "Ovdje nema ništa! Napiši nešto javno, ili ručno slijedi korisnike sa drugih instanci kako bi popunio",
"follow_request.authorize": "Authoriziraj", "follow_request.authorize": "Authoriziraj",
@ -58,13 +79,14 @@ const hr = {
"navigation_bar.follow_requests": "Zahtjevi za sljeđenje", "navigation_bar.follow_requests": "Zahtjevi za sljeđenje",
"navigation_bar.info": "Proširena informacija", "navigation_bar.info": "Proširena informacija",
"navigation_bar.logout": "Odjavi se", "navigation_bar.logout": "Odjavi se",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "Postavke", "navigation_bar.preferences": "Postavke",
"navigation_bar.public_timeline": "Federalni timeline", "navigation_bar.public_timeline": "Federalni timeline",
"notification.favourite": "{name} je lajkao tvoj status", "notification.favourite": "{name} je lajkao tvoj status",
"notification.follow": "{name} te sada slijedi", "notification.follow": "{name} te sada slijedi",
"notification.reblog": "{name} je podigao tvoj status", "notification.reblog": "{name} je podigao tvoj status",
"notifications.clear_confirmation": "Želiš li zaista obrisati sve svoje notifikacije?",
"notifications.clear": "Očisti notifikacije", "notifications.clear": "Očisti notifikacije",
"notifications.clear_confirmation": "Želiš li zaista obrisati sve svoje notifikacije?",
"notifications.column_settings.alert": "Desktop notifikacije", "notifications.column_settings.alert": "Desktop notifikacije",
"notifications.column_settings.favourite": "Favoriti:", "notifications.column_settings.favourite": "Favoriti:",
"notifications.column_settings.follow": "Novi sljedbenici:", "notifications.column_settings.follow": "Novi sljedbenici:",
@ -73,6 +95,26 @@ const hr = {
"notifications.column_settings.show": "Prikaži u stupcu", "notifications.column_settings.show": "Prikaži u stupcu",
"notifications.column_settings.sound": "Sviraj zvuk", "notifications.column_settings.sound": "Sviraj zvuk",
"notifications.settings": "Postavke rubrike", "notifications.settings": "Postavke rubrike",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Podesi status privatnosti", "privacy.change": "Podesi status privatnosti",
"privacy.direct.long": "Prikaži samo spomenutim korisnicima", "privacy.direct.long": "Prikaži samo spomenutim korisnicima",
"privacy.direct.short": "Direktno", "privacy.direct.short": "Direktno",
@ -87,9 +129,9 @@ const hr = {
"report.placeholder": "Dodatni komentari", "report.placeholder": "Dodatni komentari",
"report.submit": "Pošalji", "report.submit": "Pošalji",
"report.target": "Prijavljivanje", "report.target": "Prijavljivanje",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"search.placeholder": "Traži", "search.placeholder": "Traži",
"search.status_by": "Status od {name}", "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Obriši", "status.delete": "Obriši",
"status.favourite": "Označi omiljenim", "status.favourite": "Označi omiljenim",
"status.load_more": "Učitaj više", "status.load_more": "Učitaj više",
@ -99,6 +141,7 @@ const hr = {
"status.reblog": "Podigni", "status.reblog": "Podigni",
"status.reblogged_by": "{name} je podigao", "status.reblogged_by": "{name} je podigao",
"status.reply": "Odgovori", "status.reply": "Odgovori",
"status.replyAll": "Reply to thread",
"status.report": "Prijavi @{name}", "status.report": "Prijavi @{name}",
"status.sensitive_toggle": "Klikni da bi vidio", "status.sensitive_toggle": "Klikni da bi vidio",
"status.sensitive_warning": "Osjetljiv sadržaj", "status.sensitive_warning": "Osjetljiv sadržaj",
@ -113,9 +156,8 @@ const hr = {
"upload_button.label": "Dodaj media", "upload_button.label": "Dodaj media",
"upload_form.undo": "Poništi", "upload_form.undo": "Poništi",
"upload_progress.label": "Uploadam...", "upload_progress.label": "Uploadam...",
"video_player.expand": "Proširi video",
"video_player.toggle_sound": "Toggle zvuk", "video_player.toggle_sound": "Toggle zvuk",
"video_player.toggle_visible": "Preklopi vidljivost", "video_player.toggle_visible": "Preklopi vidljivost",
"video_player.expand": "Proširi video", "video_player.video_error": "Video could not be played"
}; }
export default hr;

View File

@ -0,0 +1,163 @@
{
"account.block": "Blokkolás",
"account.disclaimer": "This user is from another instance. This number may be larger.",
"account.edit_profile": "Profil szerkesztése",
"account.follow": "Követés",
"account.followers": "Követők",
"account.follows": "Követve",
"account.follows_you": "Követnek téged",
"account.mention": "Említés",
"account.mute": "Mute @{name}",
"account.posts": "Posts",
"account.report": "Report @{name}",
"account.requested": "Awaiting approval",
"account.unblock": "Blokkolás levétele",
"account.unfollow": "Követés abbahagyása",
"account.unmute": "Unmute @{name}",
"boost_modal.combo": "You can press {combo} to skip this next time",
"column.blocks": "Blocked users",
"column.community": "Local timeline",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
"column.home": "Kezdőlap",
"column.mutes": "Muted users",
"column.notifications": "Értesítések",
"column.public": "Nyilvános",
"column_back_button.label": "Vissza",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Mire gondolsz?",
"compose_form.privacy_disclaimer": "Your private status will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is private, and it may be boosted or otherwise made visible to unintended recipients.",
"compose_form.publish": "Tülk!",
"compose_form.sensitive": "Tartalom érzékenynek jelölése",
"compose_form.spoiler": "Hide text behind warning",
"compose_form.spoiler_placeholder": "Content warning",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"getting_started.apps": "Various apps are available",
"getting_started.heading": "Első lépések",
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}. {apps}.",
"home.column_settings.advanced": "Advanced",
"home.column_settings.basic": "Basic",
"home.column_settings.filter_regex": "Filter out by regular expressions",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings",
"lightbox.close": "Bezárás",
"loading_indicator.label": "Betöltés...",
"media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline",
"navigation_bar.edit_profile": "Profil szerkesztése",
"navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "Extended information",
"navigation_bar.logout": "Kijelentkezés",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "Beállítások",
"navigation_bar.public_timeline": "Nyilvános időfolyam",
"notification.favourite": "{name} kedvencnek jelölte az állapotod",
"notification.follow": "{name} követ téged",
"notification.reblog": "{name} reblogolta az állapotod",
"notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.favourite": "Favourites:",
"notifications.column_settings.follow": "New followers:",
"notifications.column_settings.mention": "Mentions:",
"notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.show": "Show in column",
"notifications.column_settings.sound": "Play sound",
"notifications.settings": "Column settings",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Direct",
"privacy.private.long": "Post to followers only",
"privacy.private.short": "Followers-only",
"privacy.public.long": "Post to public timelines",
"privacy.public.short": "Public",
"privacy.unlisted.long": "Do not show in public timelines",
"privacy.unlisted.short": "Unlisted",
"reply_indicator.cancel": "Mégsem",
"report.heading": "New report",
"report.placeholder": "Additional comments",
"report.submit": "Submit",
"report.target": "Reporting",
"search.placeholder": "Keresés",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Törlés",
"status.favourite": "Kedvenc",
"status.load_more": "Load more",
"status.media_hidden": "Media hidden",
"status.mention": "Említés",
"status.open": "Expand this status",
"status.reblog": "Reblog",
"status.reblogged_by": "{name} reblogolta",
"status.reply": "Válasz",
"status.replyAll": "Reply to thread",
"status.report": "Report @{name}",
"status.sensitive_toggle": "Katt a megtekintéshez",
"status.sensitive_warning": "Érzékeny tartalom",
"status.show_less": "Show less",
"status.show_more": "Show more",
"tabs_bar.compose": "Összeállítás",
"tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "Kezdőlap",
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notifications",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Média hozzáadása",
"upload_form.undo": "Mégsem",
"upload_progress.label": "Uploading...",
"video_player.expand": "Expand video",
"video_player.toggle_sound": "Hang kapcsolása",
"video_player.toggle_visible": "Toggle visibility",
"video_player.video_error": "Video could not be played"
}

View File

@ -1,11 +1,11 @@
const id = { {
"account.block": "Blokir @{name}", "account.block": "Blokir @{name}",
"account.disclaimer": "Pengguna ini berasal dari server lain. Angka berikut mungkin lebih besar.", "account.disclaimer": "Pengguna ini berasal dari server lain. Angka berikut mungkin lebih besar.",
"account.edit_profile": "Ubah profil", "account.edit_profile": "Ubah profil",
"account.follow": "Ikuti", "account.follow": "Ikuti",
"account.followers": "Pengikut", "account.followers": "Pengikut",
"account.follows_you": "Mengikuti anda",
"account.follows": "Mengikuti", "account.follows": "Mengikuti",
"account.follows_you": "Mengikuti anda",
"account.mention": "Balasan @{name}", "account.mention": "Balasan @{name}",
"account.mute": "Bisukan @{name}", "account.mute": "Bisukan @{name}",
"account.posts": "Postingan", "account.posts": "Postingan",
@ -53,8 +53,8 @@ const id = {
"emoji_button.travel": "Tempat Wisata", "emoji_button.travel": "Tempat Wisata",
"empty_column.community": "Linimasa lokal masih kosong. Tulis sesuatu secara publik dan buat roda berputar!", "empty_column.community": "Linimasa lokal masih kosong. Tulis sesuatu secara publik dan buat roda berputar!",
"empty_column.hashtag": "Tidak ada apapun dalam hashtag ini.", "empty_column.hashtag": "Tidak ada apapun dalam hashtag ini.",
"empty_column.home.public_timeline": "linimasa publik",
"empty_column.home": "Anda sedang tidak mengikuti siapapun. Kunjungi {public} atau gunakan pencarian untuk memulai dan bertemu pengguna lain.", "empty_column.home": "Anda sedang tidak mengikuti siapapun. Kunjungi {public} atau gunakan pencarian untuk memulai dan bertemu pengguna lain.",
"empty_column.home.public_timeline": "linimasa publik",
"empty_column.notifications": "Anda tidak memiliki notifikasi apapun. Berinteraksi dengan orang lain untuk memulai percakapan.", "empty_column.notifications": "Anda tidak memiliki notifikasi apapun. Berinteraksi dengan orang lain untuk memulai percakapan.",
"empty_column.public": "Tidak ada apapun disini! Tulis sesuatu, atau ikuti pengguna lain dari server lain untuk mengisinya secara manual", "empty_column.public": "Tidak ada apapun disini! Tulis sesuatu, atau ikuti pengguna lain dari server lain untuk mengisinya secara manual",
"follow_request.authorize": "Izinkan", "follow_request.authorize": "Izinkan",
@ -133,7 +133,8 @@ const id = {
"search_results.total": "{count} {count, plural, one {hasil} other {hasil}}", "search_results.total": "{count} {count, plural, one {hasil} other {hasil}}",
"status.cannot_reblog": "Postingan ini tidak dapat di-boost", "status.cannot_reblog": "Postingan ini tidak dapat di-boost",
"search.placeholder": "Pencarian", "search.placeholder": "Pencarian",
"search.status_by": "Status oleh {name}", "search_results.total": "{count} {count, plural, one {hasil} other {hasil}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Hapus", "status.delete": "Hapus",
"status.favourite": "Difavoritkan", "status.favourite": "Difavoritkan",
"status.load_more": "Tampilkan semua", "status.load_more": "Tampilkan semua",
@ -158,10 +159,9 @@ const id = {
"upload_button.label": "Tambahkan media", "upload_button.label": "Tambahkan media",
"upload_form.undo": "Undo", "upload_form.undo": "Undo",
"upload_progress.label": "Mengunggah...", "upload_progress.label": "Mengunggah...",
"video_player.expand": "Tampilkan video",
"video_player.toggle_sound": "Suara", "video_player.toggle_sound": "Suara",
"video_player.toggle_visible": "Tampilan", "video_player.toggle_visible": "Tampilan",
"video_player.expand": "Tampilkan video", "video_player.expand": "Tampilkan video",
"video_player.video_error": "Video tidak dapat diputar", "video_player.video_error": "Video tidak dapat diputar"
}; }
export default id;

View File

@ -0,0 +1,57 @@
import ar from './ar.json';
import en from './en.json';
import de from './de.json';
import es from './es.json';
import fa from './fa.json';
import he from './he.json';
import hr from './hr.json';
import hu from './hu.json';
import io from './io.json';
import it from './it.json';
import fr from './fr.json';
import nl from './nl.json';
import no from './no.json';
import oc from './oc.json';
import pt from './pt.json';
import pt_br from './pt-BR.json';
import uk from './uk.json';
import fi from './fi.json';
import eo from './eo.json';
import ru from './ru.json';
import ja from './ja.json';
import zh_hk from './zh-HK.json';
import zh_cn from './zh-CN.json';
import bg from './bg.json';
import id from './id.json';
const locales = {
ar,
en,
de,
es,
fa,
he,
hr,
hu,
io,
it,
fr,
nl,
no,
oc,
pt,
'pt-BR': pt_br,
uk,
fi,
eo,
ru,
ja,
'zh-HK': zh_hk,
'zh-CN': zh_cn,
bg,
id,
};
export default function getMessagesForLocale(locale) {
return locales[locale];
};

View File

@ -1,11 +1,11 @@
const io = { {
"account.block": "Blokusar @{name}", "account.block": "Blokusar @{name}",
"account.disclaimer": "Ca uzero esas de altra instaluro. Ca nombro forsan esas plu granda.", "account.disclaimer": "Ca uzero esas de altra instaluro. Ca nombro forsan esas plu granda.",
"account.edit_profile": "Modifikar profilo", "account.edit_profile": "Modifikar profilo",
"account.follow": "Sequar", "account.follow": "Sequar",
"account.followers": "Sequanti", "account.followers": "Sequanti",
"account.follows_you": "Sequas tu",
"account.follows": "Sequas", "account.follows": "Sequas",
"account.follows_you": "Sequas tu",
"account.mention": "Mencionar @{name}", "account.mention": "Mencionar @{name}",
"account.mute": "Celar @{name}", "account.mute": "Celar @{name}",
"account.posts": "Mesaji", "account.posts": "Mesaji",
@ -15,7 +15,6 @@ const io = {
"account.unfollow": "Ne plus sequar", "account.unfollow": "Ne plus sequar",
"account.unmute": "Ne plus celar @{name}", "account.unmute": "Ne plus celar @{name}",
"boost_modal.combo": "Tu povas presar sur {combo} por omisar co en la venonta foyo", "boost_modal.combo": "Tu povas presar sur {combo} por omisar co en la venonta foyo",
"column_back_button.label": "Retro",
"column.blocks": "Blokusita uzeri", "column.blocks": "Blokusita uzeri",
"column.community": "Lokala tempolineo", "column.community": "Lokala tempolineo",
"column.favourites": "Favorati", "column.favourites": "Favorati",
@ -24,17 +23,38 @@ const io = {
"column.mutes": "Celita uzeri", "column.mutes": "Celita uzeri",
"column.notifications": "Savigi", "column.notifications": "Savigi",
"column.public": "Federata tempolineo", "column.public": "Federata tempolineo",
"column_back_button.label": "Retro",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Quo esas en tua spirito?", "compose_form.placeholder": "Quo esas en tua spirito?",
"compose_form.privacy_disclaimer": "Tua privata mesajo livresos a mencionata uzeri en {domains}. Ka tu fidas {domainsCount, plural, one {ta servero} other {ta serveri}}? Privateso di mesaji funcionas nur en instaluri di Mastodon. Se {domains} {domainsCount, plural, one {ne esas instaluro di Mastodon} other {ne esas instaluri di Mastodon}}, esos nula indiko, ke tua mesajo esas privata, ed ol povos repetesar od altre divenar videbla da nedezirinda recevanti.", "compose_form.privacy_disclaimer": "Tua privata mesajo livresos a mencionata uzeri en {domains}. Ka tu fidas {domainsCount, plural, one {ta servero} other {ta serveri}}? Privateso di mesaji funcionas nur en instaluri di Mastodon. Se {domains} {domainsCount, plural, one {ne esas instaluro di Mastodon} other {ne esas instaluri di Mastodon}}, esos nula indiko, ke tua mesajo esas privata, ed ol povos repetesar od altre divenar videbla da nedezirinda recevanti.",
"compose_form.publish": "Siflar", "compose_form.publish": "Siflar",
"compose_form.sensitive": "Markizar kontenajo kom trubliva", "compose_form.sensitive": "Markizar kontenajo kom trubliva",
"compose_form.spoiler_placeholder": "Averto di kontenajo",
"compose_form.spoiler": "Celar texto dop averto", "compose_form.spoiler": "Celar texto dop averto",
"compose_form.spoiler_placeholder": "Averto di kontenajo",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insertar emoji", "emoji_button.label": "Insertar emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "La lokala tempolineo esas vakua. Skribez ulo publike por iniciar la agiveso!", "empty_column.community": "La lokala tempolineo esas vakua. Skribez ulo publike por iniciar la agiveso!",
"empty_column.hashtag": "Esas ankore nulo en ta gretovorto.", "empty_column.hashtag": "Esas ankore nulo en ta gretovorto.",
"empty_column.home.public_timeline": "la publika tempolineo",
"empty_column.home": "Tu sequas ankore nulu. Vizitez {public} od uzez la serchilo por komencar e renkontrar altra uzeri.", "empty_column.home": "Tu sequas ankore nulu. Vizitez {public} od uzez la serchilo por komencar e renkontrar altra uzeri.",
"empty_column.home.public_timeline": "la publika tempolineo",
"empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.", "empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.",
"empty_column.public": "Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.", "empty_column.public": "Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.",
"follow_request.authorize": "Yurizar", "follow_request.authorize": "Yurizar",
@ -64,10 +84,9 @@ const io = {
"navigation_bar.public_timeline": "Federata tempolineo", "navigation_bar.public_timeline": "Federata tempolineo",
"notification.favourite": "{name} favorizis tua mesajo", "notification.favourite": "{name} favorizis tua mesajo",
"notification.follow": "{name} sequeskis tu", "notification.follow": "{name} sequeskis tu",
"notification.mention": "{name} mencionis tu",
"notification.reblog": "{name} repetis tua mesajo", "notification.reblog": "{name} repetis tua mesajo",
"notifications.clear_confirmation": "Ka tu esas certa, ke tu volas efacar omna tua savigi?",
"notifications.clear": "Efacar savigi", "notifications.clear": "Efacar savigi",
"notifications.clear_confirmation": "Ka tu esas certa, ke tu volas efacar omna tua savigi?",
"notifications.column_settings.alert": "Surtabla savigi", "notifications.column_settings.alert": "Surtabla savigi",
"notifications.column_settings.favourite": "Favorati:", "notifications.column_settings.favourite": "Favorati:",
"notifications.column_settings.follow": "Nova sequanti:", "notifications.column_settings.follow": "Nova sequanti:",
@ -76,6 +95,26 @@ const io = {
"notifications.column_settings.show": "Montrar en kolumno", "notifications.column_settings.show": "Montrar en kolumno",
"notifications.column_settings.sound": "Plear sono", "notifications.column_settings.sound": "Plear sono",
"notifications.settings": "Aranji di kolumno", "notifications.settings": "Aranji di kolumno",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Aranjar privateso di mesaji", "privacy.change": "Aranjar privateso di mesaji",
"privacy.direct.long": "Sendar nur a mencionata uzeri", "privacy.direct.long": "Sendar nur a mencionata uzeri",
"privacy.direct.short": "Direte", "privacy.direct.short": "Direte",
@ -90,9 +129,9 @@ const io = {
"report.placeholder": "Plusa komenti", "report.placeholder": "Plusa komenti",
"report.submit": "Sendar", "report.submit": "Sendar",
"report.target": "Denuncante", "report.target": "Denuncante",
"search_results.total": "{count, number} {count, plural, one {rezulto} other {rezulti}}",
"search.placeholder": "Serchez", "search.placeholder": "Serchez",
"search.status_by": "Mesajo da {name}", "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezulti}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Efacar", "status.delete": "Efacar",
"status.favourite": "Favorizar", "status.favourite": "Favorizar",
"status.load_more": "Kargar pluse", "status.load_more": "Kargar pluse",
@ -117,10 +156,8 @@ const io = {
"upload_button.label": "Adjuntar kontenajo", "upload_button.label": "Adjuntar kontenajo",
"upload_form.undo": "Desfacar", "upload_form.undo": "Desfacar",
"upload_progress.label": "Kargante...", "upload_progress.label": "Kargante...",
"video_player.expand": "Extensar video",
"video_player.toggle_sound": "Acendar sono", "video_player.toggle_sound": "Acendar sono",
"video_player.toggle_visible": "Chanjar videbleso", "video_player.toggle_visible": "Chanjar videbleso",
"video_player.expand": "Extensar video", "video_player.video_error": "Video ne povus pleesar"
"video_player.video_error": "Video ne povus pleesar", }
};
export default io;

View File

@ -1,11 +1,11 @@
const it = { {
"account.block": "Blocca @{name}", "account.block": "Blocca @{name}",
"account.disclaimer": "Questo utente si trova su un altro server. Questo numero potrebbe essere maggiore.", "account.disclaimer": "Questo utente si trova su un altro server. Questo numero potrebbe essere maggiore.",
"account.edit_profile": "Modifica profilo", "account.edit_profile": "Modifica profilo",
"account.follow": "Segui", "account.follow": "Segui",
"account.followers": "Seguaci", "account.followers": "Seguaci",
"account.follows_you": "Ti segue",
"account.follows": "Segue", "account.follows": "Segue",
"account.follows_you": "Ti segue",
"account.mention": "Menziona @{name}", "account.mention": "Menziona @{name}",
"account.mute": "Silenzia @{name}", "account.mute": "Silenzia @{name}",
"account.posts": "Posts", "account.posts": "Posts",
@ -15,7 +15,6 @@ const it = {
"account.unfollow": "Non seguire", "account.unfollow": "Non seguire",
"account.unmute": "Non silenziare @{name}", "account.unmute": "Non silenziare @{name}",
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta", "boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta",
"column_back_button.label": "Indietro",
"column.blocks": "Utenti bloccati", "column.blocks": "Utenti bloccati",
"column.community": "Timeline locale", "column.community": "Timeline locale",
"column.favourites": "Apprezzati", "column.favourites": "Apprezzati",
@ -24,17 +23,38 @@ const it = {
"column.mutes": "Utenti silenziati", "column.mutes": "Utenti silenziati",
"column.notifications": "Notifiche", "column.notifications": "Notifiche",
"column.public": "Timeline federata", "column.public": "Timeline federata",
"column_back_button.label": "Indietro",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "A cosa stai pensando?", "compose_form.placeholder": "A cosa stai pensando?",
"compose_form.privacy_disclaimer": "Il tuo status privato verrà condiviso con gli utenti menzionati su {domains}. Ti fidi di {domainsCount, plural, one {quel server} other {quei server}}? Le impostazioni sulla privacy valgono solo su server Mastodon. Se {domains} {domainsCount, plural, one {non è un server Mastodon} other {non sono server Mastodon}}, non ci saranno indicazioni sulla privacy del tuo status, e potrebbe essere condiviso o reso visibile a destinatari indesiderati.", "compose_form.privacy_disclaimer": "Il tuo status privato verrà condiviso con gli utenti menzionati su {domains}. Ti fidi di {domainsCount, plural, one {quel server} other {quei server}}? Le impostazioni sulla privacy valgono solo su server Mastodon. Se {domains} {domainsCount, plural, one {non è un server Mastodon} other {non sono server Mastodon}}, non ci saranno indicazioni sulla privacy del tuo status, e potrebbe essere condiviso o reso visibile a destinatari indesiderati.",
"compose_form.publish": "Toot", "compose_form.publish": "Toot",
"compose_form.sensitive": "Segnala file come sensibile", "compose_form.sensitive": "Segnala file come sensibile",
"compose_form.spoiler_placeholder": "Content warning",
"compose_form.spoiler": "Nascondi testo con avvertimento", "compose_form.spoiler": "Nascondi testo con avvertimento",
"compose_form.spoiler_placeholder": "Content warning",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Inserisci emoji", "emoji_button.label": "Inserisci emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!", "empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!",
"empty_column.hashtag": "Non c'è ancora nessun post con questo hashtag.", "empty_column.hashtag": "Non c'è ancora nessun post con questo hashtag.",
"empty_column.home.public_timeline": "la timeline pubblica",
"empty_column.home": "Non stai ancora seguendo nessuno. Visita {public} o usa la ricerca per incontrare nuove persone.", "empty_column.home": "Non stai ancora seguendo nessuno. Visita {public} o usa la ricerca per incontrare nuove persone.",
"empty_column.home.public_timeline": "la timeline pubblica",
"empty_column.notifications": "Non hai ancora nessuna notifica. Interagisci con altri per iniziare conversazioni.", "empty_column.notifications": "Non hai ancora nessuna notifica. Interagisci con altri per iniziare conversazioni.",
"empty_column.public": "Qui non c'è nulla! Scrivi qualcosa pubblicamente, o aggiungi utenti da altri server per riempire questo spazio.", "empty_column.public": "Qui non c'è nulla! Scrivi qualcosa pubblicamente, o aggiungi utenti da altri server per riempire questo spazio.",
"follow_request.authorize": "Autorizza", "follow_request.authorize": "Autorizza",
@ -64,10 +84,9 @@ const it = {
"navigation_bar.public_timeline": "Timeline federata", "navigation_bar.public_timeline": "Timeline federata",
"notification.favourite": "{name} ha apprezzato il tuo post", "notification.favourite": "{name} ha apprezzato il tuo post",
"notification.follow": "{name} ha iniziato a seguirti", "notification.follow": "{name} ha iniziato a seguirti",
"notification.mention": "{name} ti ha menzionato",
"notification.reblog": "{name} ha condiviso il tuo post", "notification.reblog": "{name} ha condiviso il tuo post",
"notifications.clear_confirmation": "Vuoi davvero cancellare tutte le notifiche?",
"notifications.clear": "Cancella notifiche", "notifications.clear": "Cancella notifiche",
"notifications.clear_confirmation": "Vuoi davvero cancellare tutte le notifiche?",
"notifications.column_settings.alert": "Notifiche desktop", "notifications.column_settings.alert": "Notifiche desktop",
"notifications.column_settings.favourite": "Apprezzati:", "notifications.column_settings.favourite": "Apprezzati:",
"notifications.column_settings.follow": "Nuovi seguaci:", "notifications.column_settings.follow": "Nuovi seguaci:",
@ -76,6 +95,26 @@ const it = {
"notifications.column_settings.show": "Mostra in colonna", "notifications.column_settings.show": "Mostra in colonna",
"notifications.column_settings.sound": "Riproduci suono", "notifications.column_settings.sound": "Riproduci suono",
"notifications.settings": "Impostazioni colonna", "notifications.settings": "Impostazioni colonna",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Modifica privacy post", "privacy.change": "Modifica privacy post",
"privacy.direct.long": "Invia solo a utenti menzionati", "privacy.direct.long": "Invia solo a utenti menzionati",
"privacy.direct.short": "Diretto", "privacy.direct.short": "Diretto",
@ -90,9 +129,9 @@ const it = {
"report.placeholder": "Commenti aggiuntivi", "report.placeholder": "Commenti aggiuntivi",
"report.submit": "Invia", "report.submit": "Invia",
"report.target": "Invio la segnalazione", "report.target": "Invio la segnalazione",
"search_results.total": "{count} {count, plural, one {risultato} other {risultati}}",
"search.placeholder": "Cerca", "search.placeholder": "Cerca",
"search.status_by": "Status per {name}", "search_results.total": "{count} {count, plural, one {risultato} other {risultati}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Elimina", "status.delete": "Elimina",
"status.favourite": "Apprezzato", "status.favourite": "Apprezzato",
"status.load_more": "Mostra di più", "status.load_more": "Mostra di più",
@ -102,6 +141,7 @@ const it = {
"status.reblog": "Condividi", "status.reblog": "Condividi",
"status.reblogged_by": "{name} ha condiviso", "status.reblogged_by": "{name} ha condiviso",
"status.reply": "Rispondi", "status.reply": "Rispondi",
"status.replyAll": "Reply to thread",
"status.report": "Segnala @{name}", "status.report": "Segnala @{name}",
"status.sensitive_toggle": "Clicca per vedere", "status.sensitive_toggle": "Clicca per vedere",
"status.sensitive_warning": "Materiale sensibile", "status.sensitive_warning": "Materiale sensibile",
@ -116,10 +156,8 @@ const it = {
"upload_button.label": "Aggiungi file multimediale", "upload_button.label": "Aggiungi file multimediale",
"upload_form.undo": "Annulla", "upload_form.undo": "Annulla",
"upload_progress.label": "Sto caricando...", "upload_progress.label": "Sto caricando...",
"video_player.expand": "Espandi video",
"video_player.toggle_sound": "Attiva suono", "video_player.toggle_sound": "Attiva suono",
"video_player.toggle_visible": "Attiva visibilità", "video_player.toggle_visible": "Attiva visibilità",
"video_player.expand": "Espandi video", "video_player.video_error": "Il video non può essere riprodotto"
"video_player.video_error": "Il video non può essere riprodotto", }
};
export default it;

View File

@ -1,4 +1,4 @@
const ja = { {
"account.block": "ブロック", "account.block": "ブロック",
"account.disclaimer": "このユーザーは他のインスタンスに所属しているため、数字が正確で無い場合があります。", "account.disclaimer": "このユーザーは他のインスタンスに所属しているため、数字が正確で無い場合があります。",
"account.edit_profile": "プロフィールを編集", "account.edit_profile": "プロフィールを編集",
@ -41,16 +41,16 @@ const ja = {
"confirmations.delete.message": "本当に削除しますか?", "confirmations.delete.message": "本当に削除しますか?",
"confirmations.mute.confirm": "ミュート", "confirmations.mute.confirm": "ミュート",
"confirmations.mute.message": "本当に {name} をミュートしますか?", "confirmations.mute.message": "本当に {name} をミュートしますか?",
"emoji_button.label": "絵文字を追加",
"emoji_button.search": "検索...",
"emoji_button.people": "人々",
"emoji_button.nature": "自然",
"emoji_button.food": "食べ物",
"emoji_button.activity": "活動", "emoji_button.activity": "活動",
"emoji_button.travel": "旅行と場所",
"emoji_button.objects": "物",
"emoji_button.symbols": "記号",
"emoji_button.flags": "国旗", "emoji_button.flags": "国旗",
"emoji_button.food": "食べ物",
"emoji_button.label": "絵文字を追加",
"emoji_button.nature": "自然",
"emoji_button.objects": "物",
"emoji_button.people": "人々",
"emoji_button.search": "検索...",
"emoji_button.symbols": "記号",
"emoji_button.travel": "旅行と場所",
"empty_column.community": "ローカルタイムラインはまだ使われていません。何か書いてみましょう!", "empty_column.community": "ローカルタイムラインはまだ使われていません。何か書いてみましょう!",
"empty_column.hashtag": "このハッシュタグはまだ使われていません。", "empty_column.hashtag": "このハッシュタグはまだ使われていません。",
"empty_column.home": "まだ誰もフォローしていません。{public}を見に行くか、検索を使って他のユーザーを見つけましょう。", "empty_column.home": "まだ誰もフォローしていません。{public}を見に行くか、検索を使って他のユーザーを見つけましょう。",
@ -84,7 +84,6 @@ const ja = {
"navigation_bar.public_timeline": "連合タイムライン", "navigation_bar.public_timeline": "連合タイムライン",
"notification.favourite": "{name} さんがあなたのトゥートをお気に入りに登録しました", "notification.favourite": "{name} さんがあなたのトゥートをお気に入りに登録しました",
"notification.follow": "{name} さんにフォローされました", "notification.follow": "{name} さんにフォローされました",
"notification.mention": "{name} さんがあなたに返信しました",
"notification.reblog": "{name} さんがあなたのトゥートをブーストしました", "notification.reblog": "{name} さんがあなたのトゥートをブーストしました",
"notifications.clear": "通知を消去", "notifications.clear": "通知を消去",
"notifications.clear_confirmation": "本当に通知を消去しますか?", "notifications.clear_confirmation": "本当に通知を消去しますか?",
@ -98,23 +97,23 @@ const ja = {
"notifications.settings": "カラム設定", "notifications.settings": "カラム設定",
"onboarding.done": "完了", "onboarding.done": "完了",
"onboarding.next": "次へ", "onboarding.next": "次へ",
"onboarding.page_one.welcome": "Mastodonへようこそ", "onboarding.page_five.public_timelines": "連合タイムラインでは{domain}の人がフォローしているMastodon全体での公開投稿を表示します。同じくローカルタイムラインでは{domain}のみの公開投稿を表示します。",
"onboarding.page_one.federation": "Mastodonは誰でも参加できるSNSです。",
"onboarding.page_one.handle": "あなたは今数あるMastodonインスタンスの1つである{domain}にいます。あなたのフルハンドルは{handle}です。",
"onboarding.page_two.compose": "フォームから投稿できます。イメージや、公開範囲の設定や、表示時の警告の設定は下部のアイコンから行なえます。",
"onboarding.page_three.search": "検索バーで、{illustration}や{introductions}のように特定のハッシュタグの投稿を見たり、ユーザーを探したりできます。",
"onboarding.page_three.profile": "「プロフィールを編集」から、あなたの自己紹介や表示名を変更できます。またそこでは他の設定ができます。",
"onboarding.page_four.home": "「ホーム」タイムラインではあなたがフォローしている人の投稿を表示します。", "onboarding.page_four.home": "「ホーム」タイムラインではあなたがフォローしている人の投稿を表示します。",
"onboarding.page_four.notifications": "「通知」ではあなたへの他の人からの関わりを表示します。", "onboarding.page_four.notifications": "「通知」ではあなたへの他の人からの関わりを表示します。",
"onboarding.page_five.public_timelines": "連合タイムラインでは{domain}の人がフォローしているMastodon全体での公開投稿を表示します。同じくローカルタイムラインでは{domain}のみの公開投稿を表示します。", "onboarding.page_one.federation": "Mastodonは誰でも参加できるSNSです。",
"onboarding.page_six.almost_done": "以上です。", "onboarding.page_one.handle": "あなたは今数あるMastodonインスタンスの1つである{domain}にいます。あなたのフルハンドルは{handle}です。",
"onboarding.page_one.welcome": "Mastodonへようこそ",
"onboarding.page_six.admin": "あなたのインスタンスの管理者は{admin}です。", "onboarding.page_six.admin": "あなたのインスタンスの管理者は{admin}です。",
"onboarding.page_six.read_guidelines": "{guidelines}を読むことを忘れないようにしてください。", "onboarding.page_six.almost_done": "以上です。",
"onboarding.page_six.guidelines": "コミュニティガイドライン",
"onboarding.page_six.github": "MastodonはOSSです。バグ報告や機能要望あるいは貢献を{github}から行なえます。",
"onboarding.page_six.apps_available": "iOS、Androidあるいは他のプラットフォームで使える{apps}があります。",
"onboarding.page_six.various_app": "様々なモバイルアプリ",
"onboarding.page_six.appetoot": "Bon Appetoot!", "onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "iOS、Androidあるいは他のプラットフォームで使える{apps}があります。",
"onboarding.page_six.github": "MastodonはOSSです。バグ報告や機能要望あるいは貢献を{github}から行なえます。",
"onboarding.page_six.guidelines": "コミュニティガイドライン",
"onboarding.page_six.read_guidelines": "{guidelines}を読むことを忘れないようにしてください。",
"onboarding.page_six.various_app": "様々なモバイルアプリ",
"onboarding.page_three.profile": "「プロフィールを編集」から、あなたの自己紹介や表示名を変更できます。またそこでは他の設定ができます。",
"onboarding.page_three.search": "検索バーで、{illustration}や{introductions}のように特定のハッシュタグの投稿を見たり、ユーザーを探したりできます。",
"onboarding.page_two.compose": "フォームから投稿できます。イメージや、公開範囲の設定や、表示時の警告の設定は下部のアイコンから行なえます。",
"onboarding.skip": "スキップ", "onboarding.skip": "スキップ",
"privacy.change": "投稿のプライバシーを変更", "privacy.change": "投稿のプライバシーを変更",
"privacy.direct.long": "メンションしたユーザーだけに公開", "privacy.direct.long": "メンションしたユーザーだけに公開",
@ -131,7 +130,6 @@ const ja = {
"report.submit": "通報する", "report.submit": "通報する",
"report.target": "問題のユーザー", "report.target": "問題のユーザー",
"search.placeholder": "検索", "search.placeholder": "検索",
"search.status_by": "{name}からの投稿",
"search_results.total": "{count, number} 件の結果", "search_results.total": "{count, number} 件の結果",
"status.cannot_reblog": "この投稿はブーストできません", "status.cannot_reblog": "この投稿はブーストできません",
"status.delete": "削除", "status.delete": "削除",
@ -161,7 +159,5 @@ const ja = {
"video_player.expand": "動画の詳細", "video_player.expand": "動画の詳細",
"video_player.toggle_sound": "音の切り替え", "video_player.toggle_sound": "音の切り替え",
"video_player.toggle_visible": "表示切り替え", "video_player.toggle_visible": "表示切り替え",
"video_player.video_error": "動画の再生に失敗しました", "video_player.video_error": "動画の再生に失敗しました"
}; }
export default ja;

View File

@ -1,10 +1,11 @@
const nl = { {
"account.block": "Blokkeer @{name}", "account.block": "Blokkeer @{name}",
"account.disclaimer": "This user is from another instance. This number may be larger.",
"account.edit_profile": "Profiel bewerken", "account.edit_profile": "Profiel bewerken",
"account.follow": "Volgen",
"account.followers": "Volgers", "account.followers": "Volgers",
"account.follows": "Volgt", "account.follows": "Volgt",
"account.follows_you": "Volgt jou", "account.follows_you": "Volgt jou",
"account.follow": "Volgen",
"account.mention": "Vermeld @{name}", "account.mention": "Vermeld @{name}",
"account.mute": "Negeer @{name}", "account.mute": "Negeer @{name}",
"account.posts": "Berichten", "account.posts": "Berichten",
@ -14,24 +15,32 @@ const nl = {
"account.unfollow": "Ontvolgen", "account.unfollow": "Ontvolgen",
"account.unmute": "Negeer @{name} niet meer", "account.unmute": "Negeer @{name} niet meer",
"boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan", "boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
"column_back_button.label": "terug",
"column.blocks": "Geblokkeerde gebruikers", "column.blocks": "Geblokkeerde gebruikers",
"column.community": "Lokale tijdlijn", "column.community": "Lokale tijdlijn",
"column.favourites": "Favorieten", "column.favourites": "Favorieten",
"column.follow_requests": "Follow requests",
"column.home": "Jouw tijdlijn", "column.home": "Jouw tijdlijn",
"column.mutes": "Genegeerde gebruikers", "column.mutes": "Genegeerde gebruikers",
"column.notifications": "Meldingen", "column.notifications": "Meldingen",
"column.public": "Globale tijdlijn", "column.public": "Globale tijdlijn",
"column_back_button.label": "terug",
"column_subheading.navigation": "Navigatie", "column_subheading.navigation": "Navigatie",
"column_subheading.settings": "Instellingen", "column_subheading.settings": "Instellingen",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Wat wil je kwijt?", "compose_form.placeholder": "Wat wil je kwijt?",
"compose_form.privacy_disclaimer": "Jouw privétoot wordt afgeleverd aan de vermelde gebruikers op {domains}. Vertrouw jij {domainsCount, plural, one {die server} other {die servers}}? Het privé plaatsen van toots werkt alleen op Mastodon-servers. Wanneer {domains} {domainsCount, plural, one {geen Mastodon-server is} other {geen Mastodon-servers zijn}}, dan wordt er niet aangegeven dat de toot privé is, waardoor het kan worden geboost of op een andere manier zichtbaar wordt gemaakt voor mensen waarvoor het niet was bedoeld.", "compose_form.privacy_disclaimer": "Jouw privétoot wordt afgeleverd aan de vermelde gebruikers op {domains}. Vertrouw jij {domainsCount, plural, one {die server} other {die servers}}? Het privé plaatsen van toots werkt alleen op Mastodon-servers. Wanneer {domains} {domainsCount, plural, one {geen Mastodon-server is} other {geen Mastodon-servers zijn}}, dan wordt er niet aangegeven dat de toot privé is, waardoor het kan worden geboost of op een andere manier zichtbaar wordt gemaakt voor mensen waarvoor het niet was bedoeld.",
"compose_form.private": "Als privé markeren",
"compose_form.publish": "Toot", "compose_form.publish": "Toot",
"compose_form.sensitive": "Media als gevoelig markeren", "compose_form.sensitive": "Media als gevoelig markeren",
"compose_form.spoiler_placeholder": "Waarschuwingstekst",
"compose_form.spoiler": "Tekst achter waarschuwing verbergen", "compose_form.spoiler": "Tekst achter waarschuwing verbergen",
"compose_form.unlisted": "Niet op openbare tijdlijnen tonen", "compose_form.spoiler_placeholder": "Waarschuwingstekst",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activiteiten", "emoji_button.activity": "Activiteiten",
"emoji_button.flags": "Vlaggen", "emoji_button.flags": "Vlaggen",
"emoji_button.food": "Eten en drinken", "emoji_button.food": "Eten en drinken",
@ -42,13 +51,27 @@ const nl = {
"emoji_button.search": "Zoeken...", "emoji_button.search": "Zoeken...",
"emoji_button.symbols": "Symbolen", "emoji_button.symbols": "Symbolen",
"emoji_button.travel": "Reizen en plekken", "emoji_button.travel": "Reizen en plekken",
"getting_started.about_addressing": "Je kunt mensen volgen als je hun gebruikersnaam en het domein van hun server kent. Voer hiervoor het e-mailachtige adres in het zoekveld in.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"getting_started.about_shortcuts": "Als de gezochte gebruiker op hetzelfde domein zit als jijzelf, is invoeren van de gebruikersnaam genoeg. Dat geldt ook als je mensen in toots wilt vermelden.", "empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"getting_started.apps": "Er zijn meerdere apps beschikbaar", "getting_started.apps": "Er zijn meerdere apps beschikbaar",
"getting_started.heading": "Beginnen", "getting_started.heading": "Beginnen",
"getting_started.open_source_notice": "Mastodon is open-sourcesoftware. Je kunt bijdragen of problemen melden op GitHub via {github}. {apps}.", "getting_started.open_source_notice": "Mastodon is open-sourcesoftware. Je kunt bijdragen of problemen melden op GitHub via {github}. {apps}.",
"home.column_settings.advanced": "Advanced",
"home.column_settings.basic": "Basic",
"home.column_settings.filter_regex": "Filter out by regular expressions",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings",
"lightbox.close": "Sluiten", "lightbox.close": "Sluiten",
"loading_indicator.label": "Laden…", "loading_indicator.label": "Laden…",
"media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found",
"navigation_bar.blocks": "Geblokkeerde gebruikers", "navigation_bar.blocks": "Geblokkeerde gebruikers",
"navigation_bar.community_timeline": "Lokale tijdlijn", "navigation_bar.community_timeline": "Lokale tijdlijn",
"navigation_bar.edit_profile": "Profiel bewerken", "navigation_bar.edit_profile": "Profiel bewerken",
@ -61,10 +84,9 @@ const nl = {
"navigation_bar.public_timeline": "Globale tijdlijn", "navigation_bar.public_timeline": "Globale tijdlijn",
"notification.favourite": "{name} markeerde jouw toot als favoriet", "notification.favourite": "{name} markeerde jouw toot als favoriet",
"notification.follow": "{name} volgt jou nu", "notification.follow": "{name} volgt jou nu",
"notification.mention": "{name} vermeldde jou",
"notification.reblog": "{name} boostte jouw toot", "notification.reblog": "{name} boostte jouw toot",
"notifications.clear_confirmation": "Weet je zeker dat je al jouw meldingen wilt verwijderen?",
"notifications.clear": "Meldingen verwijderen", "notifications.clear": "Meldingen verwijderen",
"notifications.clear_confirmation": "Weet je zeker dat je al jouw meldingen wilt verwijderen?",
"notifications.column_settings.alert": "Desktopmeldingen", "notifications.column_settings.alert": "Desktopmeldingen",
"notifications.column_settings.favourite": "Favorieten:", "notifications.column_settings.favourite": "Favorieten:",
"notifications.column_settings.follow": "Nieuwe volgers:", "notifications.column_settings.follow": "Nieuwe volgers:",
@ -73,6 +95,7 @@ const nl = {
"notifications.column_settings.show": "In kolom tonen", "notifications.column_settings.show": "In kolom tonen",
"notifications.column_settings.sound": "Geluid afspelen", "notifications.column_settings.sound": "Geluid afspelen",
"notifications.settings": "Kolom-instellingen", "notifications.settings": "Kolom-instellingen",
"onboarding.done": "Done",
"onboarding.next": "Volgende", "onboarding.next": "Volgende",
"onboarding.page_five.public_timelines": "De lokale tijdlijn toont openbare toots van iedereen op {domain}. De globale tijdlijn toont openbare toots van iedereen die door gebruikers van {domain} worden gevolgd, dus ook mensen van andere Mastodon-servers. Dit zijn de openbare tijdlijnen en vormen een uitstekende manier om nieuwe mensen te ontdekken.", "onboarding.page_five.public_timelines": "De lokale tijdlijn toont openbare toots van iedereen op {domain}. De globale tijdlijn toont openbare toots van iedereen die door gebruikers van {domain} worden gevolgd, dus ook mensen van andere Mastodon-servers. Dit zijn de openbare tijdlijnen en vormen een uitstekende manier om nieuwe mensen te ontdekken.",
"onboarding.page_four.home": "Jouw tijdlijn laat toots zien van mensen die jij volgt.", "onboarding.page_four.home": "Jouw tijdlijn laat toots zien van mensen die jij volgt.",
@ -102,29 +125,39 @@ const nl = {
"privacy.unlisted.long": "Niet op openbare tijdlijnen tonen", "privacy.unlisted.long": "Niet op openbare tijdlijnen tonen",
"privacy.unlisted.short": "Minder openbaar", "privacy.unlisted.short": "Minder openbaar",
"reply_indicator.cancel": "Annuleren", "reply_indicator.cancel": "Annuleren",
"search.account": "Account", "report.heading": "New report",
"search.hashtag": "Hashtag", "report.placeholder": "Additional comments",
"report.submit": "Submit",
"report.target": "Reporting",
"search.placeholder": "Zoeken", "search.placeholder": "Zoeken",
"search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}", "search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Verwijderen", "status.delete": "Verwijderen",
"status.favourite": "Favoriet", "status.favourite": "Favoriet",
"status.load_more": "Load more",
"status.media_hidden": "Media hidden",
"status.mention": "@{name} vermelden", "status.mention": "@{name} vermelden",
"status.open": "Expand this status",
"status.reblog": "Boost", "status.reblog": "Boost",
"status.reblogged_by": "{name} boostte", "status.reblogged_by": "{name} boostte",
"status.reply": "Reageren", "status.reply": "Reageren",
"status.replyAll": "Reply to thread",
"status.report": "Report @{name}",
"status.sensitive_toggle": "Klik om te zien", "status.sensitive_toggle": "Klik om te zien",
"status.sensitive_warning": "Gevoelige inhoud", "status.sensitive_warning": "Gevoelige inhoud",
"status.show_less": "Minder tonen", "status.show_less": "Minder tonen",
"status.show_more": "Meer tonen", "status.show_more": "Meer tonen",
"tabs_bar.compose": "Schrijven", "tabs_bar.compose": "Schrijven",
"tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "Jouw tijdlijn", "tabs_bar.home": "Jouw tijdlijn",
"tabs_bar.mentions": "Vermeldingen", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Meldingen", "tabs_bar.notifications": "Meldingen",
"tabs_bar.public": "Globale tijdlijn", "upload_area.title": "Drag & drop to upload",
"upload_button.label": "Media toevoegen", "upload_button.label": "Media toevoegen",
"upload_form.undo": "Ongedaan maken", "upload_form.undo": "Ongedaan maken",
"upload_progress.label": "Uploading...",
"video_player.expand": "Expand video",
"video_player.toggle_sound": "Geluid in-/uitschakelen", "video_player.toggle_sound": "Geluid in-/uitschakelen",
"video_player.toggle_visible": "Toggle visibility",
}; "video_player.video_error": "Video could not be played"
}
export default nl;

View File

@ -1,4 +1,4 @@
const no = { {
"account.block": "Blokkér @{name}", "account.block": "Blokkér @{name}",
"account.disclaimer": "Denne brukeren er fra en annen instans. Dette tallet kan være høyere.", "account.disclaimer": "Denne brukeren er fra en annen instans. Dette tallet kan være høyere.",
"account.edit_profile": "Rediger profil", "account.edit_profile": "Rediger profil",
@ -15,25 +15,46 @@ const no = {
"account.unfollow": "Avfølg", "account.unfollow": "Avfølg",
"account.unmute": "Avdemp @{name}", "account.unmute": "Avdemp @{name}",
"boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang", "boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang",
"column_back_button.label": "Tilbake",
"column.blocks": "Blokkerte brukere", "column.blocks": "Blokkerte brukere",
"column.community": "Lokal tidslinje", "column.community": "Lokal tidslinje",
"column.favourites": "Likt", "column.favourites": "Likt",
"column.follow_requests": "Følgeforespørsler", "column.follow_requests": "Følgeforespørsler",
"column.home": "Hjem", "column.home": "Hjem",
"column.mutes": "Muted users",
"column.notifications": "Varslinger", "column.notifications": "Varslinger",
"column.public": "Felles tidslinje", "column.public": "Felles tidslinje",
"column_back_button.label": "Tilbake",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Hva har du på hjertet?", "compose_form.placeholder": "Hva har du på hjertet?",
"compose_form.privacy_disclaimer": "Din private status vil leveres til nevnte brukere på {domains}. Stoler du på {domainsCount, plural, one {den serveren} other {de serverne}}? Synlighet fungerer kun på Mastodon-instanser. Hvis {domains} {domainsCount, plural, one {ike er en Mastodon-instans} other {ikke er Mastodon-instanser}}, vil det ikke indikeres at posten din er privat, og den kan kanskje bli fremhevd eller på annen måte bli synlig for uventede mottakere.", "compose_form.privacy_disclaimer": "Din private status vil leveres til nevnte brukere på {domains}. Stoler du på {domainsCount, plural, one {den serveren} other {de serverne}}? Synlighet fungerer kun på Mastodon-instanser. Hvis {domains} {domainsCount, plural, one {ike er en Mastodon-instans} other {ikke er Mastodon-instanser}}, vil det ikke indikeres at posten din er privat, og den kan kanskje bli fremhevd eller på annen måte bli synlig for uventede mottakere.",
"compose_form.publish": "Tut", "compose_form.publish": "Tut",
"compose_form.sensitive": "Merk media som følsomt", "compose_form.sensitive": "Merk media som følsomt",
"compose_form.spoiler_placeholder": "Innholdsadvarsel",
"compose_form.spoiler": "Skjul tekst bak advarsel", "compose_form.spoiler": "Skjul tekst bak advarsel",
"compose_form.spoiler_placeholder": "Innholdsadvarsel",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Sett inn emoji", "emoji_button.label": "Sett inn emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!", "empty_column.community": "Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!",
"empty_column.hashtag": "Det er ingenting i denne hashtagen ennå.", "empty_column.hashtag": "Det er ingenting i denne hashtagen ennå.",
"empty_column.home.public_timeline": "en offentlig tidslinje",
"empty_column.home": "Du har ikke fulgt noen ennå. Besøk {publlic} eller bruk søk for å komme i gang og møte andre brukere.", "empty_column.home": "Du har ikke fulgt noen ennå. Besøk {publlic} eller bruk søk for å komme i gang og møte andre brukere.",
"empty_column.home.public_timeline": "en offentlig tidslinje",
"empty_column.notifications": "Du har ingen varsler ennå. Kommuniser med andre for å begynne samtalen.", "empty_column.notifications": "Du har ingen varsler ennå. Kommuniser med andre for å begynne samtalen.",
"empty_column.public": "Det er ingenting her! Skriv noe offentlig, eller følg brukere manuelt fra andre instanser for å fylle den opp", "empty_column.public": "Det er ingenting her! Skriv noe offentlig, eller følg brukere manuelt fra andre instanser for å fylle den opp",
"follow_request.authorize": "Autorisér", "follow_request.authorize": "Autorisér",
@ -58,13 +79,14 @@ const no = {
"navigation_bar.follow_requests": "Følgeforespørsler", "navigation_bar.follow_requests": "Følgeforespørsler",
"navigation_bar.info": "Utvidet informasjon", "navigation_bar.info": "Utvidet informasjon",
"navigation_bar.logout": "Logg ut", "navigation_bar.logout": "Logg ut",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "Preferanser", "navigation_bar.preferences": "Preferanser",
"navigation_bar.public_timeline": "Felles tidslinje", "navigation_bar.public_timeline": "Felles tidslinje",
"notification.favourite": "{name} likte din status", "notification.favourite": "{name} likte din status",
"notification.follow": "{name} fulgte deg", "notification.follow": "{name} fulgte deg",
"notification.reblog": "{name} fremhevde din status", "notification.reblog": "{name} fremhevde din status",
"notifications.clear_confirmation": "Er du sikker på at du vil fjerne alle dine varsler?",
"notifications.clear": "Fjern varsler", "notifications.clear": "Fjern varsler",
"notifications.clear_confirmation": "Er du sikker på at du vil fjerne alle dine varsler?",
"notifications.column_settings.alert": "Skrivebordsvarslinger", "notifications.column_settings.alert": "Skrivebordsvarslinger",
"notifications.column_settings.favourite": "Likt:", "notifications.column_settings.favourite": "Likt:",
"notifications.column_settings.follow": "Nye følgere:", "notifications.column_settings.follow": "Nye følgere:",
@ -73,6 +95,26 @@ const no = {
"notifications.column_settings.show": "Vis i kolonne", "notifications.column_settings.show": "Vis i kolonne",
"notifications.column_settings.sound": "Spill lyd", "notifications.column_settings.sound": "Spill lyd",
"notifications.settings": "Kolonneinstillinger", "notifications.settings": "Kolonneinstillinger",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Justér synlighet", "privacy.change": "Justér synlighet",
"privacy.direct.long": "Post kun til nevnte brukere", "privacy.direct.long": "Post kun til nevnte brukere",
"privacy.direct.short": "Direkte", "privacy.direct.short": "Direkte",
@ -87,9 +129,9 @@ const no = {
"report.placeholder": "Tilleggskommentarer", "report.placeholder": "Tilleggskommentarer",
"report.submit": "Send inn", "report.submit": "Send inn",
"report.target": "Rapporterer", "report.target": "Rapporterer",
"search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}",
"search.placeholder": "Søk", "search.placeholder": "Søk",
"search.status_by": "Status fra {name}", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Slett", "status.delete": "Slett",
"status.favourite": "Lik", "status.favourite": "Lik",
"status.load_more": "Last mer", "status.load_more": "Last mer",
@ -99,6 +141,7 @@ const no = {
"status.reblog": "Fremhev", "status.reblog": "Fremhev",
"status.reblogged_by": "Fremhevd av {name}", "status.reblogged_by": "Fremhevd av {name}",
"status.reply": "Svar", "status.reply": "Svar",
"status.replyAll": "Reply to thread",
"status.report": "Rapporter @{name}", "status.report": "Rapporter @{name}",
"status.sensitive_toggle": "Klikk for å vise", "status.sensitive_toggle": "Klikk for å vise",
"status.sensitive_warning": "Følsomt innhold", "status.sensitive_warning": "Følsomt innhold",
@ -113,18 +156,8 @@ const no = {
"upload_button.label": "Legg til media", "upload_button.label": "Legg til media",
"upload_form.undo": "Angre", "upload_form.undo": "Angre",
"upload_progress.label": "Laster opp...", "upload_progress.label": "Laster opp...",
"video_player.expand": "Utvid video",
"video_player.toggle_sound": "Veksle lyd", "video_player.toggle_sound": "Veksle lyd",
"video_player.toggle_visible": "Veksle synlighet", "video_player.toggle_visible": "Veksle synlighet",
"video_player.expand": "Utvid video", "video_player.video_error": "Video could not be played"
"getting_started.about_addressing": "Du kan følge noen hvis du vet brukernavnet deres og domenet de er på ved å skrive en e-postadresse inn i søkeskjemaet.", }
"getting_started.about_shortcuts": "Hvis målbrukeren er på samme domene som deg, vil kun brukernavnet også fungere. Den samme regelen gjelder når man nevner noen i statuser.",
"tabs_bar.mentions": "Nevninger",
"tabs_bar.public": "Felles tidslinje",
"compose_form.private": "Merk som privat",
"compose_form.unlisted": "Ikke vis på offentlige tidslinjer",
"search.account": "Konto",
"search.hashtag": "Hashtag",
"notification.mention": "{name} nevnte deg"
};
export default no;

View File

@ -1,128 +1,163 @@
const oc = { {
"column_back_button.label": "Tornar", "account.block": "Blocar",
"lightbox.close": "Tampar", "account.disclaimer": "Aqueste compte es sus una autra instància. Los nombres pòdon èsser mai grandes.",
"loading_indicator.label": "Cargament…",
"status.mention": "Mencionar",
"status.delete": "Escafar",
"status.reply": "Respondre",
"status.reblog": "Partejar",
"status.favourite": "Apondre als favorits",
"status.reblogged_by": "{name} a partejat :",
"status.sensitive_warning": "Contengut embarrassant",
"status.sensitive_toggle": "Clicar per mostrar",
"status.show_more": "Desplegar",
"status.show_less": "Tornar plegar",
"status.open": "Desplegar aqueste estatut",
"status.report": "Senhalar @{name}",
"status.load_more": "Cargar mai",
"status.media_hidden": "Mèdia rescondut",
"video_player.toggle_sound": "Activar/Desactivar lo son",
"video_player.toggle_visible": "Mostrar/Rescondre la vidèo",
"account.mention": "Mencionar",
"account.edit_profile": "Modificar lo perfil", "account.edit_profile": "Modificar lo perfil",
"account.follow": "Sègre",
"account.followers": "Abonats",
"account.follows": "Abonaments",
"account.follows_you": "Vos sèc",
"account.mention": "Mencionar",
"account.mute": "Rescondre",
"account.posts": "Estatuts",
"account.report": "Senhalar",
"account.requested": "Invitacion mandada",
"account.unblock": "Desblocar", "account.unblock": "Desblocar",
"account.unfollow": "Quitar de sègre", "account.unfollow": "Quitar de sègre",
"account.block": "Blocar",
"account.mute": "Rescondre",
"account.unmute": "Quitar de rescondre", "account.unmute": "Quitar de rescondre",
"account.follow": "Sègre", "boost_modal.combo": "You can press {combo} to skip this next time",
"account.posts": "Estatuts",
"account.follows": "Abonaments",
"account.followers": "Abonats",
"account.follows_you": "Vos sèc",
"account.requested": "Invitacion mandada",
"account.report": "Senhalar",
"account.disclaimer": "Aqueste compte es sus una autra instància. Los nombres pòdon èsser mai grandes.",
"getting_started.heading": "Per començar",
"getting_started.about_addressing": "Podètz sègre los estatuts de qualquun en picant son identificant e lo domeni de linstància separat amb un @ coma una adreça de corrièl dins lo camp de recèrca.",
"getting_started.about_shortcuts": "Saquesta persona emplega la meteissa instància que vos lidentifican basta. Atal foncionan tanben las mencions dins vòstres estatuts.",
"getting_started.about_developer": "Per sègre lo desvolopaire daqueste projècte : Gargron@mastodon.social",
"getting_started.open_source_notice": "Mastodon es un logicial liure. Podètz contribuir e mandar vòstres comentaris e rapòrt de bug via{github} sus GitHub.",
"column.home": "Acuèlh",
"column.community": "Fil public local",
"column.public": "Fil public global",
"column.notifications": "Notificacions",
"column.blocks": "Personas blocadas", "column.blocks": "Personas blocadas",
"column.community": "Fil public local",
"column.favourites": "Favorits", "column.favourites": "Favorits",
"column.follow_requests": "Demandas dabonament", "column.follow_requests": "Demandas dabonament",
"empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualquun per començar una conversacion.", "column.home": "Acuèlh",
"empty_column.public": "I a pas res aquí ! Escribètz quicòm de public, o seguètz de personas dautras instàncias per garnir lo fil public.", "column.mutes": "Muted users",
"empty_column.home": "Pel moment segètz pas segun. Visitatz {public} o utilizatz la recèrca per vos connectar a dautras personas.", "column.notifications": "Notificacions",
"empty_column.home.public_timeline": "lo fil public", "column.public": "Fil public global",
"empty_column.community": "Lo fil public local es void. Escribètz quicòm per lo garnir !", "column_back_button.label": "Tornar",
"empty_column.hashtag": "I a pas encara de contengut ligat a aqueste hashtag", "column_subheading.navigation": "Navigation",
"tabs_bar.compose": "Compausar", "column_subheading.settings": "Settings",
"tabs_bar.home": "Acuèlh", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"tabs_bar.mentions": "Mencions", "compose_form.lock_disclaimer.lock": "locked",
"tabs_bar.public": "Fil public global",
"tabs_bar.notifications": "Notifications",
"tabs_bar.local_timeline": "Fil public local",
"tabs_bar.federated_timeline": "Fil public global",
"compose_form.placeholder": "A de qué pensatz ?", "compose_form.placeholder": "A de qué pensatz ?",
"compose_form.privacy_disclaimer": "Vòstre estatut privat serà enviat a las personas mencionadas sus {domains}. Vos fisatz daqueste{domainsCount, plural, one { servidor} other {s servidors}} per divulgar pas vòstre estatut ? Los estatuts privats foncionan pas que sus las instàncias a Mastodons. Se {domains} {domainsCount, plural, one {es pas una instància a Mastodon} other {son pas d'instàncias a Mastodon}}, i aurà pas dindicacion disent que vòstre estatut es privat e poirà èsser partejat o èsser visible a de mond pas prevists",
"compose_form.publish": "Tut", "compose_form.publish": "Tut",
"compose_form.sensitive": "Marcar lo mèdia coma embarrassant", "compose_form.sensitive": "Marcar lo mèdia coma embarrassant",
"compose_form.spoiler": "Rescondre lo tèxte darrièr un avertiment", "compose_form.spoiler": "Rescondre lo tèxte darrièr un avertiment",
"compose_form.spoiler_placeholder": "Avertiment", "compose_form.spoiler_placeholder": "Avertiment",
"compose_form.private": "Far venir privat", "confirmation_modal.cancel": "Cancel",
"compose_form.privacy_disclaimer": "Vòstre estatut privat serà enviat a las personas mencionadas sus {domains}. Vos fisatz daqueste{domainsCount, plural, one { servidor} other {s servidors}} per divulgar pas vòstre estatut ? Los estatuts privats foncionan pas que sus las instàncias a Mastodons. Se {domains} {domainsCount, plural, one {es pas una instància a Mastodon} other {son pas d'instàncias a Mastodon}}, i aurà pas dindicacion disent que vòstre estatut es privat e poirà èsser partejat o èsser visible a de mond pas prevists", "confirmations.block.confirm": "Block",
"compose_form.unlisted": "Mostrar pas dins los fils publics", "confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Inserir un emoji", "emoji_button.label": "Inserir un emoji",
"navigation_bar.edit_profile": "Modificar lo perfil", "emoji_button.nature": "Nature",
"navigation_bar.preferences": "Preferéncias", "emoji_button.objects": "Objects",
"navigation_bar.community_timeline": "Fil public local", "emoji_button.people": "People",
"navigation_bar.public_timeline": "Fil public global", "emoji_button.search": "Search...",
"navigation_bar.blocks": "Personas blocadas", "emoji_button.symbols": "Symbols",
"navigation_bar.favourites": "Favorits", "emoji_button.travel": "Travel & Places",
"navigation_bar.info": "Mai informacions", "empty_column.community": "Lo fil public local es void. Escribètz quicòm per lo garnir !",
"navigation_bar.logout": "Desconnexion", "empty_column.hashtag": "I a pas encara de contengut ligat a aqueste hashtag",
"navigation_bar.follow_requests": "Demandas d'abonament", "empty_column.home": "Pel moment segètz pas segun. Visitatz {public} o utilizatz la recèrca per vos connectar a dautras personas.",
"reply_indicator.cancel": "Anullar", "empty_column.home.public_timeline": "lo fil public",
"search.placeholder": "Recercar", "empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualquun per començar una conversacion.",
"search.account": "Compte", "empty_column.public": "I a pas res aquí ! Escribètz quicòm de public, o seguètz de personas dautras instàncias per garnir lo fil public.",
"search.hashtag": "Mot-clau",
"search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}",
"search.status_by": "Estatuts de {name}",
"upload_button.label": "Apondre un mèdia",
"upload_form.undo": "Anullar",
"upload_progress.label": "Mandadís…",
"upload_area.title": "Lisatz e depausatz per mandar",
"notification.follow": "{name} vos sèc.",
"notification.favourite": "{name} a apondut a sos favorits :",
"notification.reblog": "{name} a partejat vòstre estatut :",
"notification.mention": "{name} vos a mencionat :",
"notifications.column_settings.alert": "Notificacions localas",
"notifications.column_settings.show": "Mostrar dins la colomna",
"notifications.column_settings.sound": "Emetre un son",
"notifications.column_settings.follow": "Nòus abonats :",
"notifications.column_settings.favourite": "Favorits :",
"notifications.column_settings.mention": "Mencions :",
"notifications.column_settings.reblog": "Partatges :",
"notifications.clear": "Levar",
"notifications.clear_confirmation": "Volètz vertadièrament levar totas vòstras las notificacions ?",
"notifications.settings": "Paramètres de la colomna",
"privacy.public.short": "Public",
"privacy.public.long": "Mostrar dins los fils publics",
"privacy.unlisted.short": "Pas-listat",
"privacy.unlisted.long": "Mostrar pas dins los fils publics",
"privacy.private.short": "Privat",
"privacy.private.long": "Mostrar pas qu'a vòstres abonats",
"privacy.direct.short": "Dirècte",
"privacy.direct.long": "Mostrar pas qu'a las personas mencionadas",
"privacy.change": "Ajustar la confidencialitat del messatge",
"media_gallery.toggle_visible": "Modificar la visibilitat",
"missing_indicator.label": "Pas trobat",
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
"follow_request.reject": "Regetar", "follow_request.reject": "Regetar",
"home.settings": "Paramètres de la colomna", "getting_started.apps": "Various apps are available",
"getting_started.heading": "Per començar",
"getting_started.open_source_notice": "Mastodon es un logicial liure. Podètz contribuir e mandar vòstres comentaris e rapòrt de bug via{github} sus GitHub.",
"home.column_settings.advanced": "Avançat",
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.filter_regex": "Filtrar amb una expression racionala",
"home.column_settings.show_reblogs": "Mostrar los partatges", "home.column_settings.show_reblogs": "Mostrar los partatges",
"home.column_settings.show_replies": "Mostrar las responsas", "home.column_settings.show_replies": "Mostrar las responsas",
"home.column_settings.advanced": "Avançat", "home.settings": "Paramètres de la colomna",
"home.column_settings.filter_regex": "Filtrar amb una expression racionala", "lightbox.close": "Tampar",
"loading_indicator.label": "Cargament…",
"media_gallery.toggle_visible": "Modificar la visibilitat",
"missing_indicator.label": "Pas trobat",
"navigation_bar.blocks": "Personas blocadas",
"navigation_bar.community_timeline": "Fil public local",
"navigation_bar.edit_profile": "Modificar lo perfil",
"navigation_bar.favourites": "Favorits",
"navigation_bar.follow_requests": "Demandas d'abonament",
"navigation_bar.info": "Mai informacions",
"navigation_bar.logout": "Desconnexion",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "Preferéncias",
"navigation_bar.public_timeline": "Fil public global",
"notification.favourite": "{name} a apondut a sos favorits :",
"notification.follow": "{name} vos sèc.",
"notification.reblog": "{name} a partejat vòstre estatut :",
"notifications.clear": "Levar",
"notifications.clear_confirmation": "Volètz vertadièrament levar totas vòstras las notificacions ?",
"notifications.column_settings.alert": "Notificacions localas",
"notifications.column_settings.favourite": "Favorits :",
"notifications.column_settings.follow": "Nòus abonats :",
"notifications.column_settings.mention": "Mencions :",
"notifications.column_settings.reblog": "Partatges :",
"notifications.column_settings.show": "Mostrar dins la colomna",
"notifications.column_settings.sound": "Emetre un son",
"notifications.settings": "Paramètres de la colomna",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Ajustar la confidencialitat del messatge",
"privacy.direct.long": "Mostrar pas qu'a las personas mencionadas",
"privacy.direct.short": "Dirècte",
"privacy.private.long": "Mostrar pas qu'a vòstres abonats",
"privacy.private.short": "Privat",
"privacy.public.long": "Mostrar dins los fils publics",
"privacy.public.short": "Public",
"privacy.unlisted.long": "Mostrar pas dins los fils publics",
"privacy.unlisted.short": "Pas-listat",
"reply_indicator.cancel": "Anullar",
"report.heading": "Nòu senhalament", "report.heading": "Nòu senhalament",
"report.placeholder": "Comentaris addicionals", "report.placeholder": "Comentaris addicionals",
"report.submit": "Mandat", "report.submit": "Mandat",
"report.target": "Senhalament" "report.target": "Senhalament",
}; "search.placeholder": "Recercar",
"search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}",
export default oc; "status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Escafar",
"status.favourite": "Apondre als favorits",
"status.load_more": "Cargar mai",
"status.media_hidden": "Mèdia rescondut",
"status.mention": "Mencionar",
"status.open": "Desplegar aqueste estatut",
"status.reblog": "Partejar",
"status.reblogged_by": "{name} a partejat :",
"status.reply": "Respondre",
"status.replyAll": "Reply to thread",
"status.report": "Senhalar @{name}",
"status.sensitive_toggle": "Clicar per mostrar",
"status.sensitive_warning": "Contengut embarrassant",
"status.show_less": "Tornar plegar",
"status.show_more": "Desplegar",
"tabs_bar.compose": "Compausar",
"tabs_bar.federated_timeline": "Fil public global",
"tabs_bar.home": "Acuèlh",
"tabs_bar.local_timeline": "Fil public local",
"tabs_bar.notifications": "Notifications",
"upload_area.title": "Lisatz e depausatz per mandar",
"upload_button.label": "Apondre un mèdia",
"upload_form.undo": "Anullar",
"upload_progress.label": "Mandadís…",
"video_player.expand": "Expand video",
"video_player.toggle_sound": "Activar/Desactivar lo son",
"video_player.toggle_visible": "Mostrar/Rescondre la vidèo",
"video_player.video_error": "Video could not be played"
}

View File

@ -1,11 +1,11 @@
const pt_br = { {
"account.block": "Bloquear @{name}", "account.block": "Bloquear @{name}",
"account.disclaimer": "Essa conta está localizado em outra instância. Os nomes podem ser maiores.", "account.disclaimer": "Essa conta está localizado em outra instância. Os nomes podem ser maiores.",
"account.edit_profile": "Editar perfil", "account.edit_profile": "Editar perfil",
"account.follow": "Seguir", "account.follow": "Seguir",
"account.followers": "Seguidores", "account.followers": "Seguidores",
"account.follows_you": "É teu seguidor",
"account.follows": "Segue", "account.follows": "Segue",
"account.follows_you": "É teu seguidor",
"account.mention": "Mencionar @{name}", "account.mention": "Mencionar @{name}",
"account.mute": "Silenciar @{name}", "account.mute": "Silenciar @{name}",
"account.posts": "Posts", "account.posts": "Posts",
@ -15,7 +15,6 @@ const pt_br = {
"account.unfollow": "Deixar de seguir", "account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}", "account.unmute": "Não silenciar @{name}",
"boost_modal.combo": "Pode clicar {combo} para não voltar a ver", "boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
"column_back_button.label": "Voltar",
"column.blocks": "Utilizadores Bloqueados", "column.blocks": "Utilizadores Bloqueados",
"column.community": "Local", "column.community": "Local",
"column.favourites": "Favoritos", "column.favourites": "Favoritos",
@ -24,17 +23,38 @@ const pt_br = {
"column.mutes": "Utilizadores silenciados", "column.mutes": "Utilizadores silenciados",
"column.notifications": "Notificações", "column.notifications": "Notificações",
"column.public": "Global", "column.public": "Global",
"column_back_button.label": "Voltar",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Em que estás a pensar?", "compose_form.placeholder": "Em que estás a pensar?",
"compose_form.privacy_disclaimer": "O teu conteúdo privado vai ser partilhado com os utilizadores do {domains}. Confias {domainsCount, plural, one {neste servidor} other {nestes servidores}}? A privacidade só funciona em instâncias do Mastodon. Se {domains} {domainsCount, plural, one {não é uma instância} other {não são instâncias}}, não existem indicadores da privacidade da tua partilha, e podem ser partilhados com outros.", "compose_form.privacy_disclaimer": "O teu conteúdo privado vai ser partilhado com os utilizadores do {domains}. Confias {domainsCount, plural, one {neste servidor} other {nestes servidores}}? A privacidade só funciona em instâncias do Mastodon. Se {domains} {domainsCount, plural, one {não é uma instância} other {não são instâncias}}, não existem indicadores da privacidade da tua partilha, e podem ser partilhados com outros.",
"compose_form.publish": "Publicar", "compose_form.publish": "Publicar",
"compose_form.sensitive": "Marcar media como conteúdo sensível", "compose_form.sensitive": "Marcar media como conteúdo sensível",
"compose_form.spoiler_placeholder": "Aviso de conteúdo",
"compose_form.spoiler": "Esconder texto com aviso", "compose_form.spoiler": "Esconder texto com aviso",
"compose_form.spoiler_placeholder": "Aviso de conteúdo",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Inserir Emoji", "emoji_button.label": "Inserir Emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "Ainda não existem conteúdo local para mostrar!", "empty_column.community": "Ainda não existem conteúdo local para mostrar!",
"empty_column.hashtag": "Ainda não existe qualquer conteúdo com essa hashtag", "empty_column.hashtag": "Ainda não existe qualquer conteúdo com essa hashtag",
"empty_column.home.public_timeline": "global",
"empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.", "empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.",
"empty_column.home.public_timeline": "global",
"empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.", "empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.",
"empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.", "empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.",
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
@ -64,10 +84,9 @@ const pt_br = {
"navigation_bar.public_timeline": "Global", "navigation_bar.public_timeline": "Global",
"notification.favourite": "{name} adicionou o teu post aos favoritos", "notification.favourite": "{name} adicionou o teu post aos favoritos",
"notification.follow": "{name} seguiu-te", "notification.follow": "{name} seguiu-te",
"notification.mention": "{name} mencionou-te",
"notification.reblog": "{name} partilhou o teu post", "notification.reblog": "{name} partilhou o teu post",
"notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?",
"notifications.clear": "Limpar notificações", "notifications.clear": "Limpar notificações",
"notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?",
"notifications.column_settings.alert": "Notificações no computador", "notifications.column_settings.alert": "Notificações no computador",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.follow": "Novos seguidores:", "notifications.column_settings.follow": "Novos seguidores:",
@ -76,6 +95,26 @@ const pt_br = {
"notifications.column_settings.show": "Mostrar nas colunas", "notifications.column_settings.show": "Mostrar nas colunas",
"notifications.column_settings.sound": "Reproduzir som", "notifications.column_settings.sound": "Reproduzir som",
"notifications.settings": "Parâmetros da listagem de Notificações", "notifications.settings": "Parâmetros da listagem de Notificações",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Ajustar a privacidade da mensagem", "privacy.change": "Ajustar a privacidade da mensagem",
"privacy.direct.long": "Apenas para utilizadores mencionados", "privacy.direct.long": "Apenas para utilizadores mencionados",
"privacy.direct.short": "Directo", "privacy.direct.short": "Directo",
@ -90,9 +129,9 @@ const pt_br = {
"report.placeholder": "Comentários adicionais", "report.placeholder": "Comentários adicionais",
"report.submit": "Enviar", "report.submit": "Enviar",
"report.target": "Denunciar", "report.target": "Denunciar",
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"search.placeholder": "Pesquisar", "search.placeholder": "Pesquisar",
"search.status_by": "Post de {name}", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Eliminar", "status.delete": "Eliminar",
"status.favourite": "Adicionar aos favoritos", "status.favourite": "Adicionar aos favoritos",
"status.load_more": "Carregar mais", "status.load_more": "Carregar mais",
@ -102,6 +141,7 @@ const pt_br = {
"status.reblog": "Partilhar", "status.reblog": "Partilhar",
"status.reblogged_by": "{name} partilhou", "status.reblogged_by": "{name} partilhou",
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Reply to thread",
"status.report": "Denúnciar @{name}", "status.report": "Denúnciar @{name}",
"status.sensitive_toggle": "Clique para ver", "status.sensitive_toggle": "Clique para ver",
"status.sensitive_warning": "Conteúdo sensível", "status.sensitive_warning": "Conteúdo sensível",
@ -116,10 +156,8 @@ const pt_br = {
"upload_button.label": "Adicionar media", "upload_button.label": "Adicionar media",
"upload_form.undo": "Anular", "upload_form.undo": "Anular",
"upload_progress.label": "A gravar...", "upload_progress.label": "A gravar...",
"video_player.expand": "Expandir vídeo",
"video_player.toggle_sound": "Ligar/Desligar som", "video_player.toggle_sound": "Ligar/Desligar som",
"video_player.toggle_visible": "Ligar/Desligar vídeo", "video_player.toggle_visible": "Ligar/Desligar vídeo",
"video_player.expand": "Expandir vídeo", "video_player.video_error": "Não é possível ver o vídeo"
"video_player.video_error": "Não é possível ver o vídeo", }
};
export default pt_br;

View File

@ -1,11 +1,11 @@
const pt = { {
"account.block": "Bloquear @{name}", "account.block": "Bloquear @{name}",
"account.disclaimer": "Essa conta está localizado em outra instância. Os nomes podem ser maiores.", "account.disclaimer": "Essa conta está localizado em outra instância. Os nomes podem ser maiores.",
"account.edit_profile": "Editar perfil", "account.edit_profile": "Editar perfil",
"account.follow": "Seguir", "account.follow": "Seguir",
"account.followers": "Seguidores", "account.followers": "Seguidores",
"account.follows_you": "É teu seguidor",
"account.follows": "Segue", "account.follows": "Segue",
"account.follows_you": "É teu seguidor",
"account.mention": "Mencionar @{name}", "account.mention": "Mencionar @{name}",
"account.mute": "Silenciar @{name}", "account.mute": "Silenciar @{name}",
"account.posts": "Posts", "account.posts": "Posts",
@ -15,7 +15,6 @@ const pt = {
"account.unfollow": "Deixar de seguir", "account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}", "account.unmute": "Não silenciar @{name}",
"boost_modal.combo": "Pode clicar {combo} para não voltar a ver", "boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
"column_back_button.label": "Voltar",
"column.blocks": "Utilizadores Bloqueados", "column.blocks": "Utilizadores Bloqueados",
"column.community": "Local", "column.community": "Local",
"column.favourites": "Favoritos", "column.favourites": "Favoritos",
@ -24,17 +23,38 @@ const pt = {
"column.mutes": "Utilizadores silenciados", "column.mutes": "Utilizadores silenciados",
"column.notifications": "Notificações", "column.notifications": "Notificações",
"column.public": "Global", "column.public": "Global",
"column_back_button.label": "Voltar",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Em que estás a pensar?", "compose_form.placeholder": "Em que estás a pensar?",
"compose_form.privacy_disclaimer": "O teu conteúdo privado vai ser partilhado com os utilizadores do {domains}. Confias {domainsCount, plural, one {neste servidor} other {nestes servidores}}? A privacidade só funciona em instâncias do Mastodon. Se {domains} {domainsCount, plural, one {não é uma instância} other {não são instâncias}}, não existem indicadores da privacidade da tua partilha, e podem ser partilhados com outros.", "compose_form.privacy_disclaimer": "O teu conteúdo privado vai ser partilhado com os utilizadores do {domains}. Confias {domainsCount, plural, one {neste servidor} other {nestes servidores}}? A privacidade só funciona em instâncias do Mastodon. Se {domains} {domainsCount, plural, one {não é uma instância} other {não são instâncias}}, não existem indicadores da privacidade da tua partilha, e podem ser partilhados com outros.",
"compose_form.publish": "Publicar", "compose_form.publish": "Publicar",
"compose_form.sensitive": "Marcar media como conteúdo sensível", "compose_form.sensitive": "Marcar media como conteúdo sensível",
"compose_form.spoiler_placeholder": "Aviso de conteúdo",
"compose_form.spoiler": "Esconder texto com aviso", "compose_form.spoiler": "Esconder texto com aviso",
"compose_form.spoiler_placeholder": "Aviso de conteúdo",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Inserir Emoji", "emoji_button.label": "Inserir Emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "Ainda não existem conteúdo local para mostrar!", "empty_column.community": "Ainda não existem conteúdo local para mostrar!",
"empty_column.hashtag": "Ainda não existe qualquer conteúdo com essa hashtag", "empty_column.hashtag": "Ainda não existe qualquer conteúdo com essa hashtag",
"empty_column.home.public_timeline": "global",
"empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.", "empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.",
"empty_column.home.public_timeline": "global",
"empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.", "empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.",
"empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.", "empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.",
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
@ -64,10 +84,9 @@ const pt = {
"navigation_bar.public_timeline": "Global", "navigation_bar.public_timeline": "Global",
"notification.favourite": "{name} adicionou o teu post aos favoritos", "notification.favourite": "{name} adicionou o teu post aos favoritos",
"notification.follow": "{name} seguiu-te", "notification.follow": "{name} seguiu-te",
"notification.mention": "{name} mencionou-te",
"notification.reblog": "{name} partilhou o teu post", "notification.reblog": "{name} partilhou o teu post",
"notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?",
"notifications.clear": "Limpar notificações", "notifications.clear": "Limpar notificações",
"notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?",
"notifications.column_settings.alert": "Notificações no computador", "notifications.column_settings.alert": "Notificações no computador",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.follow": "Novos seguidores:", "notifications.column_settings.follow": "Novos seguidores:",
@ -76,6 +95,26 @@ const pt = {
"notifications.column_settings.show": "Mostrar nas colunas", "notifications.column_settings.show": "Mostrar nas colunas",
"notifications.column_settings.sound": "Reproduzir som", "notifications.column_settings.sound": "Reproduzir som",
"notifications.settings": "Parâmetros da listagem de Notificações", "notifications.settings": "Parâmetros da listagem de Notificações",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Ajustar a privacidade da mensagem", "privacy.change": "Ajustar a privacidade da mensagem",
"privacy.direct.long": "Apenas para utilizadores mencionados", "privacy.direct.long": "Apenas para utilizadores mencionados",
"privacy.direct.short": "Directo", "privacy.direct.short": "Directo",
@ -90,9 +129,9 @@ const pt = {
"report.placeholder": "Comentários adicionais", "report.placeholder": "Comentários adicionais",
"report.submit": "Enviar", "report.submit": "Enviar",
"report.target": "Denunciar", "report.target": "Denunciar",
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"search.placeholder": "Pesquisar", "search.placeholder": "Pesquisar",
"search.status_by": "Post de {name}", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Eliminar", "status.delete": "Eliminar",
"status.favourite": "Adicionar aos favoritos", "status.favourite": "Adicionar aos favoritos",
"status.load_more": "Carregar mais", "status.load_more": "Carregar mais",
@ -102,6 +141,7 @@ const pt = {
"status.reblog": "Partilhar", "status.reblog": "Partilhar",
"status.reblogged_by": "{name} partilhou", "status.reblogged_by": "{name} partilhou",
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Reply to thread",
"status.report": "Denúnciar @{name}", "status.report": "Denúnciar @{name}",
"status.sensitive_toggle": "Clique para ver", "status.sensitive_toggle": "Clique para ver",
"status.sensitive_warning": "Conteúdo sensível", "status.sensitive_warning": "Conteúdo sensível",
@ -116,10 +156,8 @@ const pt = {
"upload_button.label": "Adicionar media", "upload_button.label": "Adicionar media",
"upload_form.undo": "Anular", "upload_form.undo": "Anular",
"upload_progress.label": "A gravar...", "upload_progress.label": "A gravar...",
"video_player.expand": "Expandir vídeo",
"video_player.toggle_sound": "Ligar/Desligar som", "video_player.toggle_sound": "Ligar/Desligar som",
"video_player.toggle_visible": "Ligar/Desligar vídeo", "video_player.toggle_visible": "Ligar/Desligar vídeo",
"video_player.expand": "Expandir vídeo", "video_player.video_error": "Não é possível ver o vídeo"
"video_player.video_error": "Não é possível ver o vídeo", }
};
export default pt;

View File

@ -1,4 +1,4 @@
const ru = { {
"account.block": "Блокировать", "account.block": "Блокировать",
"account.disclaimer": "Это пользователь с другого узла. Число может быть больше.", "account.disclaimer": "Это пользователь с другого узла. Число может быть больше.",
"account.edit_profile": "Изменить профиль", "account.edit_profile": "Изменить профиль",
@ -26,12 +26,21 @@ const ru = {
"column_back_button.label": "Назад", "column_back_button.label": "Назад",
"column_subheading.navigation": "Навигация", "column_subheading.navigation": "Навигация",
"column_subheading.settings": "Настройки", "column_subheading.settings": "Настройки",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "О чем Вы думаете?", "compose_form.placeholder": "О чем Вы думаете?",
"compose_form.privacy_disclaimer": "Ваш приватный статус будет доставлен упомянутым пользователям на доменах {domains}. Доверяете ли вы {domainsCount, plural, one {этому серверу} other {этим серверам}}? Приватность постов работает только на узлах Mastodon. Если {domains} {domainsCount, plural, one {не является узлом Mastodon} other {не являются узлами Mastodon}}, приватность поста не будет указана, и он может оказаться продвинут или иным образом показан не обозначенным Вами пользователям.", "compose_form.privacy_disclaimer": "Ваш приватный статус будет доставлен упомянутым пользователям на доменах {domains}. Доверяете ли вы {domainsCount, plural, one {этому серверу} other {этим серверам}}? Приватность постов работает только на узлах Mastodon. Если {domains} {domainsCount, plural, one {не является узлом Mastodon} other {не являются узлами Mastodon}}, приватность поста не будет указана, и он может оказаться продвинут или иным образом показан не обозначенным Вами пользователям.",
"compose_form.publish": "Трубить", "compose_form.publish": "Трубить",
"compose_form.sensitive": "Отметить как чувствительный контент", "compose_form.sensitive": "Отметить как чувствительный контент",
"compose_form.spoiler": "Скрыть текст за предупреждением", "compose_form.spoiler": "Скрыть текст за предупреждением",
"compose_form.spoiler_placeholder": "Предупреждение о скрытом тексте", "compose_form.spoiler_placeholder": "Предупреждение о скрытом тексте",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Занятия", "emoji_button.activity": "Занятия",
"emoji_button.flags": "Флаги", "emoji_button.flags": "Флаги",
"emoji_button.food": "Еда и напитки", "emoji_button.food": "Еда и напитки",
@ -75,7 +84,6 @@ const ru = {
"navigation_bar.public_timeline": "Глобальная лента", "navigation_bar.public_timeline": "Глобальная лента",
"notification.favourite": "{name} понравился Ваш статус", "notification.favourite": "{name} понравился Ваш статус",
"notification.follow": "{name} подписался(-лась) на Вас", "notification.follow": "{name} подписался(-лась) на Вас",
"notification.mention": "{name} упомянул(а) Вас",
"notification.reblog": "{name} продвинул(а) Ваш статус", "notification.reblog": "{name} продвинул(а) Ваш статус",
"notifications.clear": "Очистить уведомления", "notifications.clear": "Очистить уведомления",
"notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?", "notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?",
@ -87,6 +95,26 @@ const ru = {
"notifications.column_settings.show": "Показывать в колонке", "notifications.column_settings.show": "Показывать в колонке",
"notifications.column_settings.sound": "Проигрывать звук", "notifications.column_settings.sound": "Проигрывать звук",
"notifications.settings": "Настройки колонки", "notifications.settings": "Настройки колонки",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Изменить видимость статуса", "privacy.change": "Изменить видимость статуса",
"privacy.direct.long": "Показать только упомянутым", "privacy.direct.long": "Показать только упомянутым",
"privacy.direct.short": "Направленный", "privacy.direct.short": "Направленный",
@ -102,7 +130,6 @@ const ru = {
"report.submit": "Отправить", "report.submit": "Отправить",
"report.target": "Жалуемся на", "report.target": "Жалуемся на",
"search.placeholder": "Поиск", "search.placeholder": "Поиск",
"search.status_by": "Статус от {name}",
"search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}", "search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}",
"status.cannot_reblog": "Этот статус не может быть продвинут", "status.cannot_reblog": "Этот статус не может быть продвинут",
"status.delete": "Удалить", "status.delete": "Удалить",
@ -132,7 +159,5 @@ const ru = {
"video_player.expand": "Развернуть видео", "video_player.expand": "Развернуть видео",
"video_player.toggle_sound": "Вкл./выкл. звук", "video_player.toggle_sound": "Вкл./выкл. звук",
"video_player.toggle_visible": "Показать/скрыть", "video_player.toggle_visible": "Показать/скрыть",
"video_player.video_error": "Видео не может быть проиграно", "video_player.video_error": "Видео не может быть проиграно"
}; }
export default ru;

View File

@ -0,0 +1,163 @@
{
"account.block": "Заблокувати",
"account.disclaimer": "This user is from another instance. This number may be larger.",
"account.edit_profile": "Налаштування профілю",
"account.follow": "Підписатися",
"account.followers": "Підписники",
"account.follows": "Підписки",
"account.follows_you": "Підписаний",
"account.mention": "Згадати",
"account.mute": "Mute @{name}",
"account.posts": "Пости",
"account.report": "Report @{name}",
"account.requested": "Awaiting approval",
"account.unblock": "Розблокувати",
"account.unfollow": "Відписатися",
"account.unmute": "Unmute @{name}",
"boost_modal.combo": "You can press {combo} to skip this next time",
"column.blocks": "Blocked users",
"column.community": "Local timeline",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
"column.home": "Головна",
"column.mutes": "Muted users",
"column.notifications": "Сповіщення",
"column.public": "Стіна",
"column_back_button.label": "Назад",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Що у Вас на думці?",
"compose_form.privacy_disclaimer": "Your private status will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is private, and it may be boosted or otherwise made visible to unintended recipients.",
"compose_form.publish": "Дмухнути",
"compose_form.sensitive": "Непристойний зміст",
"compose_form.spoiler": "Hide text behind warning",
"compose_form.spoiler_placeholder": "Content warning",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"getting_started.apps": "Various apps are available",
"getting_started.heading": "Ласкаво просимо",
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}. {apps}.",
"home.column_settings.advanced": "Advanced",
"home.column_settings.basic": "Basic",
"home.column_settings.filter_regex": "Filter out by regular expressions",
"home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings",
"lightbox.close": "Закрити",
"loading_indicator.label": "Завантаження...",
"media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline",
"navigation_bar.edit_profile": "Редагувати профіль",
"navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "Extended information",
"navigation_bar.logout": "Вийти",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "Налаштування",
"navigation_bar.public_timeline": "Публічна стіна",
"notification.favourite": "{name} сподобався ваш допис",
"notification.follow": "{name} підписався(-лась) на Вас",
"notification.reblog": "{name} передмухнув(-ла) Ваш статус",
"notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.favourite": "Favourites:",
"notifications.column_settings.follow": "New followers:",
"notifications.column_settings.mention": "Mentions:",
"notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.show": "Show in column",
"notifications.column_settings.sound": "Play sound",
"notifications.settings": "Column settings",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Direct",
"privacy.private.long": "Post to followers only",
"privacy.private.short": "Followers-only",
"privacy.public.long": "Post to public timelines",
"privacy.public.short": "Public",
"privacy.unlisted.long": "Do not show in public timelines",
"privacy.unlisted.short": "Unlisted",
"reply_indicator.cancel": "Відмінити",
"report.heading": "New report",
"report.placeholder": "Additional comments",
"report.submit": "Submit",
"report.target": "Reporting",
"search.placeholder": "Пошук",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "Видалити",
"status.favourite": "Подобається",
"status.load_more": "Load more",
"status.media_hidden": "Media hidden",
"status.mention": "Згадати",
"status.open": "Expand this status",
"status.reblog": "Передмухнути",
"status.reblogged_by": "{name} передмухнув(-ла)",
"status.reply": "Відповісти",
"status.replyAll": "Reply to thread",
"status.report": "Report @{name}",
"status.sensitive_toggle": "Натисніть, щоб подивитися",
"status.sensitive_warning": "Непристойний зміст",
"status.show_less": "Show less",
"status.show_more": "Show more",
"tabs_bar.compose": "Написати",
"tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "Головна",
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Сповіщення",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Додати медіа",
"upload_form.undo": "Відмінити",
"upload_progress.label": "Uploading...",
"video_player.expand": "Expand video",
"video_player.toggle_sound": "Увімкнути/вимкнути звук",
"video_player.toggle_visible": "Toggle visibility",
"video_player.video_error": "Video could not be played"
}

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -1,30 +1,11 @@
import zh from 'react-intl/locale-data/zh'; {
const localeData = zh.reduce(function (acc, localeData) {
if (localeData.locale === "zh-Hans-CN") {
// rename the locale "zh-Hans-CN" as "zh-CN"
// (match the code usually used in Accepted-Language header)
acc.push(Object.assign({},
localeData,
{
"locale": "zh-CN",
"parentLocale": "zh-Hans-CN",
}
));
}
return acc;
}, []);
export { localeData as localeData };
const zh_cn = {
"account.block": "屏蔽 @{name}", "account.block": "屏蔽 @{name}",
"account.disclaimer": "由于这个账户处于另一个服务站,实际数字会比这个更多。", "account.disclaimer": "由于这个账户处于另一个服务站,实际数字会比这个更多。",
"account.edit_profile": "修改个人资料", "account.edit_profile": "修改个人资料",
"account.follow": "关注", "account.follow": "关注",
"account.followers": "关注者", "account.followers": "关注者",
"account.follows_you": "关注你",
"account.follows": "正关注", "account.follows": "正关注",
"account.follows_you": "关注你",
"account.mention": "提及 @{name}", "account.mention": "提及 @{name}",
"account.mute": "将 @{name} 静音", "account.mute": "将 @{name} 静音",
"account.posts": "嘟文", "account.posts": "嘟文",
@ -34,39 +15,50 @@ const zh_cn = {
"account.unfollow": "取消关注", "account.unfollow": "取消关注",
"account.unmute": "取消 @{name} 的静音", "account.unmute": "取消 @{name} 的静音",
"boost_modal.combo": "如你想在下次路过时显示,请按{combo}", "boost_modal.combo": "如你想在下次路过时显示,请按{combo}",
"column_back_button.label": "返回",
"column.blocks": "屏蔽用户", "column.blocks": "屏蔽用户",
"column.community": "本站时间轴", "column.community": "本站时间轴",
// intentional departure from existing "推文" translation for posts:
// "推文" refers to "推特", the official translation for Twitter.
// Currently using a semi-phonetic translation "嘟", which refers
// to train horn sounds, for "toot".
"column.favourites": "赞过的嘟文", "column.favourites": "赞过的嘟文",
"column.follow_requests": "关注请求", "column.follow_requests": "关注请求",
"column.home": "主页", "column.home": "主页",
"column.mutes": "Muted users",
"column.notifications": "通知", "column.notifications": "通知",
"column.public": "跨站公共时间轴", "column.public": "跨站公共时间轴",
"column_back_button.label": "返回",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "在想啥?", "compose_form.placeholder": "在想啥?",
"compose_form.privacy_disclaimer": "你的私人嘟文,将被发送至你所提及的 {domains} 用户。你是否信任{domainsCount, plural, one {这个网站} other {这些网站}}?请留意,嘟文隐私设置只适用于各 Mastodon 服务站,如果 {domains} {domainsCount, plural, one {不是 Mastodon 服务站} other {之中有些不是 Mastodon 服务站}},对方将无法收到这篇嘟文的隐私设置,然后可能被转嘟给不能预知的用户阅读。", "compose_form.privacy_disclaimer": "你的私人嘟文,将被发送至你所提及的 {domains} 用户。你是否信任{domainsCount, plural, one {这个网站} other {这些网站}}?请留意,嘟文隐私设置只适用于各 Mastodon 服务站,如果 {domains} {domainsCount, plural, one {不是 Mastodon 服务站} other {之中有些不是 Mastodon 服务站}},对方将无法收到这篇嘟文的隐私设置,然后可能被转嘟给不能预知的用户阅读。",
"compose_form.private": "标示为“只有关注你的人能看”",
// Going "toot-toot" here below.
"compose_form.publish": "嘟嘟", "compose_form.publish": "嘟嘟",
"compose_form.sensitive": "将媒体文件标示为“敏感内容”", "compose_form.sensitive": "将媒体文件标示为“敏感内容”",
"compose_form.spoiler_placeholder": "敏感内容的警告消息",
"compose_form.spoiler": "将部分文本藏于警告消息之后", "compose_form.spoiler": "将部分文本藏于警告消息之后",
"compose_form.unlisted": "请勿在公共时间轴显示", "compose_form.spoiler_placeholder": "敏感内容的警告消息",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "加入表情符号", "emoji_button.label": "加入表情符号",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "本站时间轴暂时未有内容,快贴文来抢头香啊!", "empty_column.community": "本站时间轴暂时未有内容,快贴文来抢头香啊!",
"empty_column.hashtag": "这个标签暂时未有内容。", "empty_column.hashtag": "这个标签暂时未有内容。",
"empty_column.home": "你还没有关注任何用户。快看看{public},向其他用户搭讪吧。", "empty_column.home": "你还没有关注任何用户。快看看{public},向其他用户搭讪吧。",
"empty_column.home.public_timeline": "公共时间轴", "empty_column.home.public_timeline": "公共时间轴",
"empty_column.home": "你还没有关注任何用户。快看看{public},向其他用户搭讪吧。",
"empty_column.notifications": "你没有任何通知纪录,快向其他用户搭讪吧。", "empty_column.notifications": "你没有任何通知纪录,快向其他用户搭讪吧。",
"empty_column.public": "跨站公共时间轴暂时没有内容!快写一些公共的嘟文,或者关注另一些服务站的用户吧!你和本站、友站的交流,将决定这里出现的内容。", "empty_column.public": "跨站公共时间轴暂时没有内容!快写一些公共的嘟文,或者关注另一些服务站的用户吧!你和本站、友站的交流,将决定这里出现的内容。",
"follow_request.authorize": "批准", "follow_request.authorize": "批准",
"follow_request.reject": "拒绝", "follow_request.reject": "拒绝",
"getting_started.about_addressing": "只要你知道一位用户的用户名称和域名,你可以用“@用户名称@域名”的格式在搜索栏寻找该用户。",
"getting_started.about_shortcuts": "只要该用户是在你现在的服务站开立,你就可以直接输入用户名搜索。在嘟文中提及别的用户也是如此。",
"getting_started.apps": "手机或桌面应用程序", "getting_started.apps": "手机或桌面应用程序",
"getting_started.heading": "开始使用", "getting_started.heading": "开始使用",
"getting_started.open_source_notice": "Mastodon 是一个开放源码的软件。你可以在官方 GitHub ({github}) 贡献或者回报问题。你亦可通过{apps}阅读 Mastodon 上的消息。", "getting_started.open_source_notice": "Mastodon 是一个开放源码的软件。你可以在官方 GitHub ({github}) 贡献或者回报问题。你亦可通过{apps}阅读 Mastodon 上的消息。",
@ -87,16 +79,14 @@ const zh_cn = {
"navigation_bar.follow_requests": "关注请求", "navigation_bar.follow_requests": "关注请求",
"navigation_bar.info": "关于本服务站", "navigation_bar.info": "关于本服务站",
"navigation_bar.logout": "注销", "navigation_bar.logout": "注销",
// intentional departure from https://github.com/tootsuite/mastodon/blob/f864fee1/config/locales/zh-CN.yml#L126: "navigation_bar.mutes": "Muted users",
// clashes for settings/preferences
"navigation_bar.preferences": "首选项", "navigation_bar.preferences": "首选项",
"navigation_bar.public_timeline": "跨站公共时间轴", "navigation_bar.public_timeline": "跨站公共时间轴",
"notification.favourite": "{name} 赞你的嘟文", "notification.favourite": "{name} 赞你的嘟文",
"notification.follow": "{name} 开始关注你", "notification.follow": "{name} 开始关注你",
"notification.mention": "{name} 提及你",
"notification.reblog": "{name} 转嘟你的嘟文", "notification.reblog": "{name} 转嘟你的嘟文",
"notifications.clear_confirmation": "你确定要清空通知纪录吗?",
"notifications.clear": "清空通知纪录", "notifications.clear": "清空通知纪录",
"notifications.clear_confirmation": "你确定要清空通知纪录吗?",
"notifications.column_settings.alert": "显示桌面通知", "notifications.column_settings.alert": "显示桌面通知",
"notifications.column_settings.favourite": "赞你的嘟文:", "notifications.column_settings.favourite": "赞你的嘟文:",
"notifications.column_settings.follow": "关注你:", "notifications.column_settings.follow": "关注你:",
@ -105,6 +95,26 @@ const zh_cn = {
"notifications.column_settings.show": "在通知栏显示", "notifications.column_settings.show": "在通知栏显示",
"notifications.column_settings.sound": "播放音效", "notifications.column_settings.sound": "播放音效",
"notifications.settings": "字段设置", "notifications.settings": "字段设置",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "调整隐私设置", "privacy.change": "调整隐私设置",
"privacy.direct.long": "只有提及的用户能看到", "privacy.direct.long": "只有提及的用户能看到",
"privacy.direct.short": "私人消息", "privacy.direct.short": "私人消息",
@ -119,11 +129,9 @@ const zh_cn = {
"report.placeholder": "额外消息", "report.placeholder": "额外消息",
"report.submit": "提交", "report.submit": "提交",
"report.target": "Reporting", "report.target": "Reporting",
"search_results.total": "{count, number} 项结果",
"search.account": "用户",
"search.hashtag": "标签",
"search.placeholder": "搜索", "search.placeholder": "搜索",
"search.status_by": "按{name}搜索嘟文", "search_results.total": "{count, number} 项结果",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "删除", "status.delete": "删除",
"status.favourite": "赞", "status.favourite": "赞",
"status.load_more": "加载更多", "status.load_more": "加载更多",
@ -133,6 +141,7 @@ const zh_cn = {
"status.reblog": "转嘟", "status.reblog": "转嘟",
"status.reblogged_by": "{name} 转嘟", "status.reblogged_by": "{name} 转嘟",
"status.reply": "回应", "status.reply": "回应",
"status.replyAll": "Reply to thread",
"status.report": "举报 @{name}", "status.report": "举报 @{name}",
"status.sensitive_toggle": "点击显示", "status.sensitive_toggle": "点击显示",
"status.sensitive_warning": "敏感内容", "status.sensitive_warning": "敏感内容",
@ -142,9 +151,7 @@ const zh_cn = {
"tabs_bar.federated_timeline": "跨站", "tabs_bar.federated_timeline": "跨站",
"tabs_bar.home": "主页", "tabs_bar.home": "主页",
"tabs_bar.local_timeline": "本站", "tabs_bar.local_timeline": "本站",
"tabs_bar.mentions": "提及",
"tabs_bar.notifications": "通知", "tabs_bar.notifications": "通知",
"tabs_bar.public": "跨站公共时间轴",
"upload_area.title": "将文件拖放至此上传", "upload_area.title": "将文件拖放至此上传",
"upload_button.label": "上传媒体文件", "upload_button.label": "上传媒体文件",
"upload_form.undo": "还原", "upload_form.undo": "还原",
@ -152,6 +159,5 @@ const zh_cn = {
"video_player.expand": "展开影片", "video_player.expand": "展开影片",
"video_player.toggle_sound": "开关音效", "video_player.toggle_sound": "开关音效",
"video_player.toggle_visible": "打开或关上", "video_player.toggle_visible": "打开或关上",
}; "video_player.video_error": "Video could not be played"
}
export default zh_cn;

View File

@ -1,30 +1,11 @@
import zh from 'react-intl/locale-data/zh'; {
const localeData = zh.reduce(function (acc, localeData) {
if (localeData.locale === "zh-Hant-HK") {
// rename the locale "zh-Hant-HK" as "zh-HK"
// (match the code usually used in Accepted-Language header)
acc.push(Object.assign({},
localeData,
{
"locale": "zh-HK",
"parentLocale": "zh-Hant-HK",
}
));
}
return acc;
}, []);
export { localeData as localeData };
const zh_hk = {
"account.block": "封鎖 @{name}", "account.block": "封鎖 @{name}",
"account.disclaimer": "由於這個用戶在另一個服務站,實際數字會比這個更多。", "account.disclaimer": "由於這個用戶在另一個服務站,實際數字會比這個更多。",
"account.edit_profile": "修改個人資料", "account.edit_profile": "修改個人資料",
"account.follow": "關注", "account.follow": "關注",
"account.followers": "關注的人", "account.followers": "關注的人",
"account.follows_you": "關注你",
"account.follows": "正在關注", "account.follows": "正在關注",
"account.follows_you": "關注你",
"account.mention": "提及 @{name}", "account.mention": "提及 @{name}",
"account.mute": "將 @{name} 靜音", "account.mute": "將 @{name} 靜音",
"account.posts": "文章", "account.posts": "文章",
@ -34,34 +15,50 @@ const zh_hk = {
"account.unfollow": "取消關注", "account.unfollow": "取消關注",
"account.unmute": "取消 @{name} 的靜音", "account.unmute": "取消 @{name} 的靜音",
"boost_modal.combo": "如你想在下次路過這顯示,請按{combo}", "boost_modal.combo": "如你想在下次路過這顯示,請按{combo}",
"column_back_button.label": "返回",
"column.blocks": "封鎖用戶", "column.blocks": "封鎖用戶",
"column.community": "本站時間軸", "column.community": "本站時間軸",
"column.favourites": "喜歡的文章", "column.favourites": "喜歡的文章",
"column.follow_requests": "關注請求", "column.follow_requests": "關注請求",
"column.home": "主頁", "column.home": "主頁",
"column.mutes": "Muted users",
"column.notifications": "通知", "column.notifications": "通知",
"column.public": "跨站公共時間軸", "column.public": "跨站公共時間軸",
"column_back_button.label": "返回",
"column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "你在想甚麼?", "compose_form.placeholder": "你在想甚麼?",
"compose_form.privacy_disclaimer": "你的私人文章,將被遞送至你所提及的 {domains} 用戶。你是否信任{domainsCount, plural, one {這個網站} other {這些網站}}?請留意,文章私隱設定只適用於各 Mastodon 服務站,如果 {domains} {domainsCount, plural, one {不是 Mastodon 服務站} other {之中有些不是 Mastodon 服務站}},對方將無法收到這篇文章的私隱設定,然後可能被轉推給不能預知的用戶閱讀。", "compose_form.privacy_disclaimer": "你的私人文章,將被遞送至你所提及的 {domains} 用戶。你是否信任{domainsCount, plural, one {這個網站} other {這些網站}}?請留意,文章私隱設定只適用於各 Mastodon 服務站,如果 {domains} {domainsCount, plural, one {不是 Mastodon 服務站} other {之中有些不是 Mastodon 服務站}},對方將無法收到這篇文章的私隱設定,然後可能被轉推給不能預知的用戶閱讀。",
"compose_form.private": "標示為「只有關注你的人能看」",
"compose_form.publish": "發文", "compose_form.publish": "發文",
"compose_form.sensitive": "將媒體檔案標示為「敏感內容」", "compose_form.sensitive": "將媒體檔案標示為「敏感內容」",
"compose_form.spoiler_placeholder": "敏感警告訊息",
"compose_form.spoiler": "將部份文字藏於警告訊息之後", "compose_form.spoiler": "將部份文字藏於警告訊息之後",
"compose_form.unlisted": "請勿在公共時間軸顯示", "compose_form.spoiler_placeholder": "敏感警告訊息",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"emoji_button.activity": "Activity",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "加入表情符號", "emoji_button.label": "加入表情符號",
"emoji_button.nature": "Nature",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.search": "Search...",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "本站時間軸暫時未有內容,快貼文來搶頭香啊!", "empty_column.community": "本站時間軸暫時未有內容,快貼文來搶頭香啊!",
"empty_column.hashtag": "這個標籤暫時未有內容。", "empty_column.hashtag": "這個標籤暫時未有內容。",
"empty_column.home": "你還沒有關注任何用戶。快看看{public},向其他用戶搭訕吧。", "empty_column.home": "你還沒有關注任何用戶。快看看{public},向其他用戶搭訕吧。",
"empty_column.home.public_timeline": "公共時間軸", "empty_column.home.public_timeline": "公共時間軸",
"empty_column.home": "你還沒有關注任何用戶。快看看{public},向其他用戶搭訕吧。",
"empty_column.notifications": "你沒有任何通知紀錄,快向其他用戶搭訕吧。", "empty_column.notifications": "你沒有任何通知紀錄,快向其他用戶搭訕吧。",
"empty_column.public": "跨站公共時間軸暫時沒有內容!快寫一些公共的文章,或者關注另一些服務站的用戶吧!你和本站、友站的交流,將決定這裏出現的內容。", "empty_column.public": "跨站公共時間軸暫時沒有內容!快寫一些公共的文章,或者關注另一些服務站的用戶吧!你和本站、友站的交流,將決定這裏出現的內容。",
"follow_request.authorize": "批准", "follow_request.authorize": "批准",
"follow_request.reject": "拒絕", "follow_request.reject": "拒絕",
"getting_started.about_addressing": "只要你知道一位用戶的用戶名稱和域名,你可以用「@用戶名稱@域名」的格式在搜尋欄尋找該用戶。",
"getting_started.about_shortcuts": "只要該用戶是在你現在的服務站開立,你可以直接輸入用戶𠱷搜尋。同樣的規則適用於在文章提及別的用戶。",
"getting_started.apps": "手機或桌面應用程式", "getting_started.apps": "手機或桌面應用程式",
"getting_started.heading": "開始使用", "getting_started.heading": "開始使用",
"getting_started.open_source_notice": "Mastodon 是一個開放源碼的軟件。你可以在官方 GitHub ({github}) 貢獻或者回報問題。你亦可透過{apps}閱讀 Mastodon 上的消息。", "getting_started.open_source_notice": "Mastodon 是一個開放源碼的軟件。你可以在官方 GitHub ({github}) 貢獻或者回報問題。你亦可透過{apps}閱讀 Mastodon 上的消息。",
@ -82,14 +79,14 @@ const zh_hk = {
"navigation_bar.follow_requests": "關注請求", "navigation_bar.follow_requests": "關注請求",
"navigation_bar.info": "關於本服務站", "navigation_bar.info": "關於本服務站",
"navigation_bar.logout": "登出", "navigation_bar.logout": "登出",
"navigation_bar.mutes": "Muted users",
"navigation_bar.preferences": "偏好設定", "navigation_bar.preferences": "偏好設定",
"navigation_bar.public_timeline": "跨站公共時間軸", "navigation_bar.public_timeline": "跨站公共時間軸",
"notification.favourite": "{name} 喜歡你的文章", "notification.favourite": "{name} 喜歡你的文章",
"notification.follow": "{name} 開始關注你", "notification.follow": "{name} 開始關注你",
"notification.mention": "{name} 提及你",
"notification.reblog": "{name} 轉推你的文章", "notification.reblog": "{name} 轉推你的文章",
"notifications.clear_confirmation": "你確定要清空通知紀錄嗎?",
"notifications.clear": "清空通知紀錄", "notifications.clear": "清空通知紀錄",
"notifications.clear_confirmation": "你確定要清空通知紀錄嗎?",
"notifications.column_settings.alert": "顯示桌面通知", "notifications.column_settings.alert": "顯示桌面通知",
"notifications.column_settings.favourite": "喜歡你的文章:", "notifications.column_settings.favourite": "喜歡你的文章:",
"notifications.column_settings.follow": "關注你:", "notifications.column_settings.follow": "關注你:",
@ -98,6 +95,26 @@ const zh_hk = {
"notifications.column_settings.show": "在通知欄顯示", "notifications.column_settings.show": "在通知欄顯示",
"notifications.column_settings.sound": "播放音效", "notifications.column_settings.sound": "播放音效",
"notifications.settings": "欄位設定", "notifications.settings": "欄位設定",
"onboarding.done": "Done",
"onboarding.next": "Next",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
"onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
"onboarding.page_six.various_app": "mobile apps",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
"onboarding.skip": "Skip",
"privacy.change": "調整私隱設定", "privacy.change": "調整私隱設定",
"privacy.direct.long": "只有提及的用戶能看到", "privacy.direct.long": "只有提及的用戶能看到",
"privacy.direct.short": "私人訊息", "privacy.direct.short": "私人訊息",
@ -112,11 +129,9 @@ const zh_hk = {
"report.placeholder": "額外訊息", "report.placeholder": "額外訊息",
"report.submit": "提交", "report.submit": "提交",
"report.target": "Reporting", "report.target": "Reporting",
"search_results.total": "{count, number} 項結果",
"search.account": "用戶",
"search.hashtag": "標籤",
"search.placeholder": "搜尋", "search.placeholder": "搜尋",
"search.status_by": "按{name}搜尋文章", "search_results.total": "{count, number} 項結果",
"status.cannot_reblog": "This post cannot be boosted",
"status.delete": "刪除", "status.delete": "刪除",
"status.favourite": "喜歡", "status.favourite": "喜歡",
"status.load_more": "載入更多", "status.load_more": "載入更多",
@ -126,6 +141,7 @@ const zh_hk = {
"status.reblog": "轉推", "status.reblog": "轉推",
"status.reblogged_by": "{name} 轉推", "status.reblogged_by": "{name} 轉推",
"status.reply": "回應", "status.reply": "回應",
"status.replyAll": "Reply to thread",
"status.report": "舉報 @{name}", "status.report": "舉報 @{name}",
"status.sensitive_toggle": "點擊顯示", "status.sensitive_toggle": "點擊顯示",
"status.sensitive_warning": "敏感內容", "status.sensitive_warning": "敏感內容",
@ -135,9 +151,7 @@ const zh_hk = {
"tabs_bar.federated_timeline": "跨站", "tabs_bar.federated_timeline": "跨站",
"tabs_bar.home": "主頁", "tabs_bar.home": "主頁",
"tabs_bar.local_timeline": "本站", "tabs_bar.local_timeline": "本站",
"tabs_bar.mentions": "提及",
"tabs_bar.notifications": "通知", "tabs_bar.notifications": "通知",
"tabs_bar.public": "跨站公共時間軸",
"upload_area.title": "將檔案拖放至此上載", "upload_area.title": "將檔案拖放至此上載",
"upload_button.label": "上載媒體檔案", "upload_button.label": "上載媒體檔案",
"upload_form.undo": "還原", "upload_form.undo": "還原",
@ -145,6 +159,5 @@ const zh_hk = {
"video_player.expand": "展開影片", "video_player.expand": "展開影片",
"video_player.toggle_sound": "開關音效", "video_player.toggle_sound": "開關音效",
"video_player.toggle_visible": "打開或關上", "video_player.toggle_visible": "打開或關上",
}; "video_player.video_error": "Video could not be played"
}
export default zh_hk;

View File

@ -0,0 +1,133 @@
import {
ACCOUNT_FETCH_SUCCESS,
FOLLOWERS_FETCH_SUCCESS,
FOLLOWERS_EXPAND_SUCCESS,
FOLLOWING_FETCH_SUCCESS,
FOLLOWING_EXPAND_SUCCESS,
ACCOUNT_TIMELINE_FETCH_SUCCESS,
ACCOUNT_TIMELINE_EXPAND_SUCCESS,
FOLLOW_REQUESTS_FETCH_SUCCESS,
FOLLOW_REQUESTS_EXPAND_SUCCESS
} from '../actions/accounts';
import {
BLOCKS_FETCH_SUCCESS,
BLOCKS_EXPAND_SUCCESS
} from '../actions/blocks';
import {
MUTES_FETCH_SUCCESS,
MUTES_EXPAND_SUCCESS
} from '../actions/mutes';
import { COMPOSE_SUGGESTIONS_READY } from '../actions/compose';
import {
REBLOG_SUCCESS,
UNREBLOG_SUCCESS,
FAVOURITE_SUCCESS,
UNFAVOURITE_SUCCESS,
REBLOGS_FETCH_SUCCESS,
FAVOURITES_FETCH_SUCCESS
} from '../actions/interactions';
import {
TIMELINE_REFRESH_SUCCESS,
TIMELINE_UPDATE,
TIMELINE_EXPAND_SUCCESS
} from '../actions/timelines';
import {
STATUS_FETCH_SUCCESS,
CONTEXT_FETCH_SUCCESS
} from '../actions/statuses';
import { SEARCH_FETCH_SUCCESS } from '../actions/search';
import {
NOTIFICATIONS_UPDATE,
NOTIFICATIONS_REFRESH_SUCCESS,
NOTIFICATIONS_EXPAND_SUCCESS
} from '../actions/notifications';
import {
FAVOURITED_STATUSES_FETCH_SUCCESS,
FAVOURITED_STATUSES_EXPAND_SUCCESS
} from '../actions/favourites';
import { STORE_HYDRATE } from '../actions/store';
import Immutable from 'immutable';
const normalizeAccount = (state, account) => {
account = { ...account };
delete account.followers_count;
delete account.following_count;
delete account.statuses_count;
return state.set(account.id, Immutable.fromJS(account))
};
const normalizeAccounts = (state, accounts) => {
accounts.forEach(account => {
state = normalizeAccount(state, account);
});
return state;
};
const normalizeAccountFromStatus = (state, status) => {
state = normalizeAccount(state, status.account);
if (status.reblog && status.reblog.account) {
state = normalizeAccount(state, status.reblog.account);
}
return state;
};
const normalizeAccountsFromStatuses = (state, statuses) => {
statuses.forEach(status => {
state = normalizeAccountFromStatus(state, status);
});
return state;
};
const initialState = Immutable.Map();
export default function accounts(state = initialState, action) {
switch(action.type) {
case STORE_HYDRATE:
return state.merge(action.state.get('accounts'));
case ACCOUNT_FETCH_SUCCESS:
case NOTIFICATIONS_UPDATE:
return normalizeAccount(state, action.account);
case FOLLOWERS_FETCH_SUCCESS:
case FOLLOWERS_EXPAND_SUCCESS:
case FOLLOWING_FETCH_SUCCESS:
case FOLLOWING_EXPAND_SUCCESS:
case REBLOGS_FETCH_SUCCESS:
case FAVOURITES_FETCH_SUCCESS:
case COMPOSE_SUGGESTIONS_READY:
case FOLLOW_REQUESTS_FETCH_SUCCESS:
case FOLLOW_REQUESTS_EXPAND_SUCCESS:
case BLOCKS_FETCH_SUCCESS:
case BLOCKS_EXPAND_SUCCESS:
case MUTES_FETCH_SUCCESS:
case MUTES_EXPAND_SUCCESS:
return normalizeAccounts(state, action.accounts);
case NOTIFICATIONS_REFRESH_SUCCESS:
case NOTIFICATIONS_EXPAND_SUCCESS:
case SEARCH_FETCH_SUCCESS:
return normalizeAccountsFromStatuses(normalizeAccounts(state, action.accounts), action.statuses);
case TIMELINE_REFRESH_SUCCESS:
case TIMELINE_EXPAND_SUCCESS:
case ACCOUNT_TIMELINE_FETCH_SUCCESS:
case ACCOUNT_TIMELINE_EXPAND_SUCCESS:
case CONTEXT_FETCH_SUCCESS:
case FAVOURITED_STATUSES_FETCH_SUCCESS:
case FAVOURITED_STATUSES_EXPAND_SUCCESS:
return normalizeAccountsFromStatuses(state, action.statuses);
case REBLOG_SUCCESS:
case FAVOURITE_SUCCESS:
case UNREBLOG_SUCCESS:
case UNFAVOURITE_SUCCESS:
return normalizeAccountFromStatus(state, action.response);
case TIMELINE_UPDATE:
case STATUS_FETCH_SUCCESS:
return normalizeAccountFromStatus(state, action.status);
default:
return state;
}
};

View File

@ -50,7 +50,11 @@ import {
import { STORE_HYDRATE } from '../actions/store'; import { STORE_HYDRATE } from '../actions/store';
import Immutable from 'immutable'; import Immutable from 'immutable';
const normalizeAccount = (state, account) => state.set(account.id, Immutable.fromJS(account)); const normalizeAccount = (state, account) => state.set(account.id, Immutable.fromJS({
followers_count: account.followers_count,
following_count: account.following_count,
statuses_count: account.statuses_count,
}));
const normalizeAccounts = (state, accounts) => { const normalizeAccounts = (state, accounts) => {
accounts.forEach(account => { accounts.forEach(account => {
@ -80,10 +84,10 @@ const normalizeAccountsFromStatuses = (state, statuses) => {
const initialState = Immutable.Map(); const initialState = Immutable.Map();
export default function accounts(state = initialState, action) { export default function accountsCounters(state = initialState, action) {
switch(action.type) { switch(action.type) {
case STORE_HYDRATE: case STORE_HYDRATE:
return state.merge(action.state.get('accounts')); return state.merge(action.state.get('accounts_counters'));
case ACCOUNT_FETCH_SUCCESS: case ACCOUNT_FETCH_SUCCESS:
case NOTIFICATIONS_UPDATE: case NOTIFICATIONS_UPDATE:
return normalizeAccount(state, action.account); return normalizeAccount(state, action.account);

View File

@ -7,6 +7,7 @@ import { loadingBarReducer } from 'react-redux-loading-bar';
import modal from './modal'; import modal from './modal';
import user_lists from './user_lists'; import user_lists from './user_lists';
import accounts from './accounts'; import accounts from './accounts';
import accounts_counters from './accounts_counters';
import statuses from './statuses'; import statuses from './statuses';
import relationships from './relationships'; import relationships from './relationships';
import search from './search'; import search from './search';
@ -26,6 +27,7 @@ export default combineReducers({
user_lists, user_lists,
status_lists, status_lists,
accounts, accounts,
accounts_counters,
statuses, statuses,
relationships, relationships,
search, search,

View File

@ -49,7 +49,7 @@ const normalizeNotifications = (state, notifications, next) => {
} }
return state return state
.update('items', list => loaded ? list.unshift(...items) : list.push(...items)) .update('items', list => loaded ? items.concat(list) : list.concat(items))
.set('loaded', true) .set('loaded', true)
.set('isLoading', false); .set('isLoading', false);
}; };
@ -62,7 +62,7 @@ const appendNormalizedNotifications = (state, notifications, next) => {
}); });
return state return state
.update('items', list => list.push(...items)) .update('items', list => list.concat(items))
.set('next', next) .set('next', next)
.set('isLoading', false); .set('isLoading', false);
}; };

View File

@ -9,6 +9,10 @@ const initialState = Immutable.Map({
shows: Immutable.Map({ shows: Immutable.Map({
reblog: true, reblog: true,
reply: true reply: true
}),
regex: Immutable.Map({
body: ''
}) })
}), }),

View File

@ -23,7 +23,7 @@ const normalizeList = (state, listType, statuses, next) => {
const appendToList = (state, listType, statuses, next) => { const appendToList = (state, listType, statuses, next) => {
return state.update(listType, listMap => listMap.withMutations(map => { return state.update(listType, listMap => listMap.withMutations(map => {
map.set('next', next); map.set('next', next);
map.set('items', map.get('items').push(...statuses.map(item => item.id))); map.set('items', map.get('items').concat(statuses.map(item => item.id)));
})); }));
}; };

View File

@ -116,7 +116,7 @@ const normalizeTimeline = (state, timeline, statuses, next) => {
state = state.setIn([timeline, 'next'], next); state = state.setIn([timeline, 'next'], next);
} }
return state.updateIn([timeline, 'items'], Immutable.List(), list => (loaded ? list.unshift(...ids) : ids)); return state.updateIn([timeline, 'items'], Immutable.List(), list => (loaded ? ids.concat(list) : ids));
}; };
const appendNormalizedTimeline = (state, timeline, statuses, next) => { const appendNormalizedTimeline = (state, timeline, statuses, next) => {
@ -130,7 +130,7 @@ const appendNormalizedTimeline = (state, timeline, statuses, next) => {
state = state.setIn([timeline, 'isLoading'], false); state = state.setIn([timeline, 'isLoading'], false);
state = state.setIn([timeline, 'next'], next); state = state.setIn([timeline, 'next'], next);
return state.updateIn([timeline, 'items'], Immutable.List(), list => list.push(...moreIds)); return state.updateIn([timeline, 'items'], Immutable.List(), list => list.concat(moreIds));
}; };
const normalizeAccountTimeline = (state, accountId, statuses, replace = false) => { const normalizeAccountTimeline = (state, accountId, statuses, replace = false) => {
@ -145,7 +145,7 @@ const normalizeAccountTimeline = (state, accountId, statuses, replace = false) =
.set('isLoading', false) .set('isLoading', false)
.set('loaded', true) .set('loaded', true)
.set('next', true) .set('next', true)
.update('items', Immutable.List(), list => (replace ? ids : list.unshift(...ids)))); .update('items', Immutable.List(), list => (replace ? ids : ids.concat(list))));
}; };
const appendNormalizedAccountTimeline = (state, accountId, statuses, next) => { const appendNormalizedAccountTimeline = (state, accountId, statuses, next) => {
@ -159,7 +159,7 @@ const appendNormalizedAccountTimeline = (state, accountId, statuses, next) => {
return state.updateIn(['accounts_timelines', accountId], Immutable.Map(), map => map return state.updateIn(['accounts_timelines', accountId], Immutable.Map(), map => map
.set('isLoading', false) .set('isLoading', false)
.set('next', next) .set('next', next)
.update('items', list => list.push(...moreIds))); .update('items', list => list.concat(moreIds)));
}; };
const updateTimeline = (state, timeline, status, references) => { const updateTimeline = (state, timeline, status, references) => {

View File

@ -41,7 +41,7 @@ const normalizeList = (state, type, id, accounts, next) => {
const appendToList = (state, type, id, accounts, next) => { const appendToList = (state, type, id, accounts, next) => {
return state.updateIn([type, id], map => { return state.updateIn([type, id], map => {
return map.set('next', next).update('items', list => list.push(...accounts.map(item => item.id))); return map.set('next', next).update('items', list => list.concat(accounts.map(item => item.id)));
}); });
}; };
@ -62,18 +62,18 @@ export default function userLists(state = initialState, action) {
case FOLLOW_REQUESTS_FETCH_SUCCESS: case FOLLOW_REQUESTS_FETCH_SUCCESS:
return state.setIn(['follow_requests', 'items'], Immutable.List(action.accounts.map(item => item.id))).setIn(['follow_requests', 'next'], action.next); return state.setIn(['follow_requests', 'items'], Immutable.List(action.accounts.map(item => item.id))).setIn(['follow_requests', 'next'], action.next);
case FOLLOW_REQUESTS_EXPAND_SUCCESS: case FOLLOW_REQUESTS_EXPAND_SUCCESS:
return state.updateIn(['follow_requests', 'items'], list => list.push(...action.accounts.map(item => item.id))).setIn(['follow_requests', 'next'], action.next); return state.updateIn(['follow_requests', 'items'], list => list.concat(action.accounts.map(item => item.id))).setIn(['follow_requests', 'next'], action.next);
case FOLLOW_REQUEST_AUTHORIZE_SUCCESS: case FOLLOW_REQUEST_AUTHORIZE_SUCCESS:
case FOLLOW_REQUEST_REJECT_SUCCESS: case FOLLOW_REQUEST_REJECT_SUCCESS:
return state.updateIn(['follow_requests', 'items'], list => list.filterNot(item => item === action.id)); return state.updateIn(['follow_requests', 'items'], list => list.filterNot(item => item === action.id));
case BLOCKS_FETCH_SUCCESS: case BLOCKS_FETCH_SUCCESS:
return state.setIn(['blocks', 'items'], Immutable.List(action.accounts.map(item => item.id))).setIn(['blocks', 'next'], action.next); return state.setIn(['blocks', 'items'], Immutable.List(action.accounts.map(item => item.id))).setIn(['blocks', 'next'], action.next);
case BLOCKS_EXPAND_SUCCESS: case BLOCKS_EXPAND_SUCCESS:
return state.updateIn(['blocks', 'items'], list => list.push(...action.accounts.map(item => item.id))).setIn(['blocks', 'next'], action.next); return state.updateIn(['blocks', 'items'], list => list.concat(action.accounts.map(item => item.id))).setIn(['blocks', 'next'], action.next);
case MUTES_FETCH_SUCCESS: case MUTES_FETCH_SUCCESS:
return state.setIn(['mutes', 'items'], Immutable.List(action.accounts.map(item => item.id))).setIn(['mutes', 'next'], action.next); return state.setIn(['mutes', 'items'], Immutable.List(action.accounts.map(item => item.id))).setIn(['mutes', 'next'], action.next);
case MUTES_EXPAND_SUCCESS: case MUTES_EXPAND_SUCCESS:
return state.updateIn(['mutes', 'items'], list => list.push(...action.accounts.map(item => item.id))).setIn(['mutes', 'next'], action.next); return state.updateIn(['mutes', 'items'], list => list.concat(action.accounts.map(item => item.id))).setIn(['mutes', 'next'], action.next);
default: default:
return state; return state;
} }

View File

@ -5,15 +5,16 @@ const getStatuses = state => state.get('statuses');
const getAccounts = state => state.get('accounts'); const getAccounts = state => state.get('accounts');
const getAccountBase = (state, id) => state.getIn(['accounts', id], null); const getAccountBase = (state, id) => state.getIn(['accounts', id], null);
const getAccountCounters = (state, id) => state.getIn(['accounts_counters', id], null);
const getAccountRelationship = (state, id) => state.getIn(['relationships', id], null); const getAccountRelationship = (state, id) => state.getIn(['relationships', id], null);
export const makeGetAccount = () => { export const makeGetAccount = () => {
return createSelector([getAccountBase, getAccountRelationship], (base, relationship) => { return createSelector([getAccountBase, getAccountCounters, getAccountRelationship], (base, counters, relationship) => {
if (base === null) { if (base === null) {
return null; return null;
} }
return base.set('relationship', relationship); return base.merge(counters).set('relationship', relationship);
}); });
}; };

View File

@ -0,0 +1,29 @@
import Mastodon from 'mastodon/containers/mastodon';
import React from 'react';
import ReactDOM from 'react-dom';
import 'font-awesome/css/font-awesome.css';
import '../styles/application.scss';
if (!window.Intl) {
require('intl');
require('intl/locale-data/jsonp/en.js');
}
window.jQuery = window.$ = require('jquery');
window.Perf = require('react-addons-perf');
require('jquery-ujs');
require.context('../images/', true);
const customContext = require.context('../../assets/stylesheets/', false);
if (customContext.keys().indexOf('./custom.scss') !== -1) {
customContext('./custom.scss');
}
document.addEventListener('DOMContentLoaded', () => {
const mountNode = document.getElementById('mastodon');
const props = JSON.parse(mountNode.getAttribute('data-props'));
ReactDOM.render(<Mastodon {...props} />, mountNode);
});

View File

@ -1,6 +1,10 @@
import emojify from './components/emoji'; import emojify from 'mastodon/emoji';
import { length } from 'stringz'; import { length } from 'stringz';
window.jQuery = window.$ = require('jquery');
require('jquery-ujs');
require.context('../images/', true);
$(() => { $(() => {
$.each($('.emojify'), (_, content) => { $.each($('.emojify'), (_, content) => {
const $content = $(content); const $content = $(content);
@ -39,10 +43,10 @@ $(() => {
} }
}); });
// used on /settings/profile
$('.account_display_name').on('input', e => { $('.account_display_name').on('input', e => {
$('.name-counter').text(30 - length($(e.target).val())); $('.name-counter').text(30 - length($(e.target).val()));
}); });
$('.account_note').on('input', e => { $('.account_note').on('input', e => {
$('.note-counter').text(160 - length($(e.target).val())); $('.note-counter').text(160 - length($(e.target).val()));
}); });

View File

@ -2,7 +2,6 @@
@import 'fonts/roboto'; @import 'fonts/roboto';
@import 'fonts/roboto-mono'; @import 'fonts/roboto-mono';
@import 'fonts/montserrat'; @import 'fonts/montserrat';
@import 'font-awesome';
@import 'reset'; @import 'reset';
@import 'basics'; @import 'basics';

View File

@ -1,6 +1,6 @@
body { body {
font-family: 'Roboto', sans-serif; font-family: 'Roboto', sans-serif;
background: $color1 image-url('background-photo.jpg'); background: $color1 url('../images/background-photo.jpg');
background-size: cover; background-size: cover;
background-attachment: fixed; background-attachment: fixed;
font-size: 13px; font-size: 13px;

View File

@ -985,7 +985,7 @@ a.status__content__spoiler-link {
} }
.transparent-background, .imageloader { .transparent-background, .imageloader {
background: image-url('void.png'); background: url('../images/void.png');
} }
.imageloader { .imageloader {
@ -1684,7 +1684,7 @@ a.status__content__spoiler-link {
.getting-started { .getting-started {
box-sizing: border-box; box-sizing: border-box;
padding-bottom: 235px; padding-bottom: 235px;
background: image-url('mastodon-getting-started.png') no-repeat 0 100%/contain local; background: url('../images/mastodon-getting-started.png') no-repeat 0 100%/contain local;
flex: 1 0 auto; flex: 1 0 auto;
p { p {
@ -1826,9 +1826,18 @@ button.icon-button.active i.fa-retweet {
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
color: lighten($color1, 16%); color: lighten($color1, 16%);
padding-top: 210px; background: $color1;
background: image-url('mastodon-not-found.png') no-repeat center -50px;
cursor: default; cursor: default;
display: flex;
flex: 1 1 auto;
align-items: center;
justify-content: center;
& > div {
background: url('../images/mastodon-not-found.png') no-repeat center -50px;
padding-top: 210px;
width: 100%;
}
} }
.column-header { .column-header {
@ -2790,7 +2799,7 @@ button.icon-button.active i.fa-retweet {
} }
.onboarding-modal__page-one__elephant-friend { .onboarding-modal__page-one__elephant-friend {
background: image-url('elephant-friend.png') no-repeat center center/contain; background: url('../images/elephant-friend.png') no-repeat center center/contain;
width: 147px; width: 147px;
height: 160px; height: 160px;
margin-right: 10px; margin-right: 10px;

View File

@ -0,0 +1,11 @@
@font-face {
font-family: 'Montserrat';
src: local('Montserrat');
src: url('../fonts/montserrat/Montserrat-Regular.eot');
src: url('../fonts/montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'),
url('../fonts/montserrat/Montserrat-Regular.woff2') format('woff2'),
url('../fonts/montserrat/Montserrat-Regular.woff') format('woff'),
url('../fonts/montserrat/Montserrat-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
}

View File

@ -0,0 +1,12 @@
@font-face {
font-family: 'Roboto Mono';
src: local('Roboto Mono');
src: url('../fonts/roboto-mono/robotomono-regular-webfont.eot');
src: url('../fonts/roboto-mono/robotomono-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/roboto-mono/robotomono-regular-webfont.woff2') format('woff2'),
url('../fonts/roboto-mono/robotomono-regular-webfont.woff') format('woff'),
url('../fonts/roboto-mono/robotomono-regular-webfont.ttf') format('truetype'),
url('../fonts/roboto-mono/robotomono-regular-webfont.svg#roboto_monoregular') format('svg');
font-weight: 400;
font-style: normal;
}

View File

@ -0,0 +1,52 @@
@font-face {
font-family: 'Roboto';
src: local('Roboto');
src: url('../fonts/roboto/roboto-italic-webfont.eot');
src: url('../fonts/roboto/roboto-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/roboto/roboto-italic-webfont.woff2') format('woff2'),
url('../fonts/roboto/roboto-italic-webfont.woff') format('woff'),
url('../fonts/roboto/roboto-italic-webfont.ttf') format('truetype'),
url('../fonts/roboto/roboto-italic-webfont.svg#roboto-italic-webfont') format('svg');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Roboto';
src: local('Roboto');
src: url('../fonts/roboto/roboto-bold-webfont.eot');
src: local('Roboto bold'), local('roboto-bold'),
url('../fonts/roboto/roboto-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/roboto/roboto-bold-webfont.woff2') format('woff2'),
url('../fonts/roboto/roboto-bold-webfont.woff') format('woff'),
url('../fonts/roboto/roboto-bold-webfont.ttf') format('truetype'),
url('../fonts/roboto/roboto-bold-webfont.svg#roboto-bold-webfont') format('svg');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: local('Roboto');
src: url('../fonts/roboto/roboto-medium-webfont.eot');
src: url('../fonts/roboto/roboto-medium-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/roboto/roboto-medium-webfont.woff2') format('woff2'),
url('../fonts/roboto/roboto-medium-webfont.woff') format('woff'),
url('../fonts/roboto/roboto-medium-webfont.ttf') format('truetype'),
url('../fonts/roboto/roboto-medium-webfont.svg#roboto-medium-webfont') format('svg');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: local('Roboto');
src: url('../fonts/roboto/roboto-regular-webfont.eot');
src: url('../fonts/roboto/roboto-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/roboto/roboto-regular-webfont.woff2') format('woff2'),
url('../fonts/roboto/roboto-regular-webfont.woff') format('woff'),
url('../fonts/roboto/roboto-regular-webfont.ttf') format('truetype'),
url('../fonts/roboto/roboto-regular-webfont.svg#roboto-regular-webfont') format('svg');
font-weight: normal;
font-style: normal;
}

View File

@ -1,5 +1,5 @@
- content_for :header_tags do - content_for :header_tags do
= javascript_include_tag 'application_public', integrity: true, crossorigin: 'anonymous' = javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous'
- content_for :page_title do - content_for :page_title do
= site_hostname = site_hostname
@ -10,20 +10,20 @@
%meta{ property: 'og:type', content: 'website' }/ %meta{ property: 'og:type', content: 'website' }/
%meta{ property: 'og:title', content: site_hostname }/ %meta{ property: 'og:title', content: site_hostname }/
%meta{ property: 'og:description', content: strip_tags(@instance_presenter.site_description.presence || t('about.about_mastodon')) }/ %meta{ property: 'og:description', content: strip_tags(@instance_presenter.site_description.presence || t('about.about_mastodon')) }/
%meta{ property: 'og:image', content: asset_url('mastodon_small.jpg') }/ %meta{ property: 'og:image', content: asset_pack_path('mastodon_small.jpg') }/
%meta{ property: 'og:image:width', content: '400' }/ %meta{ property: 'og:image:width', content: '400' }/
%meta{ property: 'og:image:height', content: '400' }/ %meta{ property: 'og:image:height', content: '400' }/
%meta{ property: 'twitter:card', content: 'summary' }/ %meta{ property: 'twitter:card', content: 'summary' }/
.wrapper .wrapper
%h1 %h1
= image_tag 'logo.png' = image_tag asset_pack_path('logo.png')
= Setting.site_title = Setting.site_title
%p= t('about.about_mastodon').html_safe %p= t('about.about_mastodon').html_safe
.screenshot-with-signup .screenshot-with-signup
.mascot= image_tag 'fluffy-elephant-friend.png' .mascot= image_tag asset_pack_path('fluffy-elephant-friend.png')
- if @instance_presenter.open_registrations - if @instance_presenter.open_registrations
= render 'registration' = render 'registration'

View File

@ -1,6 +1,6 @@
- content_for :header_tags do - content_for :header_tags do
%script#initial-state{:type => 'application/json'}!= json_escape(render(file: 'home/initial_state', formats: :json)) %script#initial-state{:type => 'application/json'}!= json_escape(render(file: 'home/initial_state', formats: :json))
= javascript_include_tag 'application', integrity: true, crossorigin: 'anonymous' = javascript_pack_tag 'application', integrity: true, crossorigin: 'anonymous'
= react_component 'Mastodon', default_props, class: 'app-holder', prerender: false .app-holder#mastodon{ data: { props: Oj.dump(default_props) }}

View File

@ -1,12 +1,12 @@
- content_for :header_tags do - content_for :header_tags do
= javascript_include_tag 'application_public', integrity: true, crossorigin: 'anonymous' = javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous'
- content_for :content do - content_for :content do
.admin-wrapper .admin-wrapper
.sidebar-wrapper .sidebar-wrapper
.sidebar .sidebar
= link_to root_path do = link_to root_path do
= image_tag 'logo.png', class: 'logo' = image_tag asset_pack_path('logo.png'), class: 'logo'
= render_navigation = render_navigation
.content-wrapper .content-wrapper

View File

@ -19,7 +19,9 @@
= ' - ' = ' - '
= title = title
= stylesheet_link_tag stylesheet_for_layout, media: 'all' = stylesheet_pack_tag 'vendor', media: 'all'
= stylesheet_pack_tag 'application', media: 'all'
= javascript_pack_tag 'vendor', integrity: true, crossorigin: 'anonymous'
= csrf_meta_tags = csrf_meta_tags
= yield :header_tags = yield :header_tags

View File

@ -1,12 +1,12 @@
- content_for :header_tags do - content_for :header_tags do
= javascript_include_tag 'application_public', integrity: true, crossorigin: 'anonymous' = javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous'
- content_for :content do - content_for :content do
.container .container
.logo-container .logo-container
%h1 %h1
= link_to root_path do = link_to root_path do
= image_tag 'logo.png' = image_tag asset_pack_path('logo.png')
.form-container .form-container
= render 'flashes' = render 'flashes'

View File

@ -3,6 +3,6 @@
%head %head
%meta{:charset => 'utf-8'}/ %meta{:charset => 'utf-8'}/
= stylesheet_link_tag 'application', media: 'all' = stylesheet_link_tag 'application', media: 'all'
= javascript_include_tag 'application_public', integrity: true, crossorigin: 'anonymous' = javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous'
%body.embed %body.embed
= yield = yield

View File

@ -1,5 +1,5 @@
- content_for :header_tags do - content_for :header_tags do
= javascript_include_tag 'application_public', integrity: true, crossorigin: 'anonymous' = javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous'
- content_for :content do - content_for :content do
.container= yield .container= yield

33
bin/webpack Executable file
View File

@ -0,0 +1,33 @@
#!/usr/bin/env ruby
$stdout.sync = true
require "shellwords"
require "yaml"
ENV["RAILS_ENV"] ||= "development"
RAILS_ENV = ENV["RAILS_ENV"]
ENV["NODE_ENV"] ||= RAILS_ENV
NODE_ENV = ENV["NODE_ENV"]
APP_PATH = File.expand_path("../", __dir__)
CONFIG_PATH = File.join(APP_PATH, "config/webpack/paths.yml")
begin
paths = YAML.load(File.read(CONFIG_PATH))[NODE_ENV]
NODE_MODULES_PATH = File.join(APP_PATH.shellescape, paths["node_modules"])
WEBPACK_CONFIG_PATH = File.join(APP_PATH.shellescape, paths["config"])
rescue Errno::ENOENT, NoMethodError
puts "Configuration not found in config/webpack/paths.yml"
puts "Please run bundle exec rails webpacker:install to install webpacker"
exit!
end
WEBPACK_BIN = "#{NODE_MODULES_PATH}/.bin/webpack"
WEBPACK_CONFIG = "#{WEBPACK_CONFIG_PATH}/#{NODE_ENV}.js"
Dir.chdir(APP_PATH) do
exec "NODE_PATH=#{NODE_MODULES_PATH} #{WEBPACK_BIN} --config #{WEBPACK_CONFIG}" \
" #{ARGV.join(" ")}"
end

33
bin/webpack-dev-server Executable file
View File

@ -0,0 +1,33 @@
#!/usr/bin/env ruby
$stdout.sync = true
require "shellwords"
require "yaml"
ENV["RAILS_ENV"] ||= "development"
RAILS_ENV = ENV["RAILS_ENV"]
ENV["NODE_ENV"] ||= RAILS_ENV
NODE_ENV = ENV["NODE_ENV"]
APP_PATH = File.expand_path("../", __dir__)
CONFIG_PATH = File.join(APP_PATH, "config/webpack/paths.yml")
begin
paths = YAML.load(File.read(CONFIG_PATH))[NODE_ENV]
NODE_MODULES_PATH = File.join(APP_PATH.shellescape, paths["node_modules"])
WEBPACK_CONFIG_PATH = File.join(APP_PATH.shellescape, paths["config"])
WEBPACK_BIN = "#{NODE_MODULES_PATH}/.bin/webpack-dev-server"
DEV_SERVER_CONFIG = "#{WEBPACK_CONFIG_PATH}/development.server.js"
rescue Errno::ENOENT, NoMethodError
puts "Configuration not found in config/webpacker/paths.yml."
puts "Please run bundle exec rails webpacker:install to install webpacker"
exit!
end
Dir.chdir(APP_PATH) do
exec "NODE_PATH=#{NODE_MODULES_PATH} #{WEBPACK_BIN} --progress --color " \
"--config #{DEV_SERVER_CONFIG} #{ARGV.join(" ")}"
end

11
bin/yarn Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env ruby
VENDOR_PATH = File.expand_path('..', __dir__)
Dir.chdir(VENDOR_PATH) do
begin
exec "yarnpkg #{ARGV.join(" ")}"
rescue Errno::ENOENT
$stderr.puts "Yarn executable was not detected in the system."
$stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
exit 1
end
end

View File

@ -74,10 +74,6 @@ module Mastodon
config.middleware.use Rack::Attack config.middleware.use Rack::Attack
config.middleware.use Rack::Deflater config.middleware.use Rack::Deflater
# babel config can be found in .babelrc
config.browserify_rails.commandline_options = '--transform babelify --extension=".jsx"'
config.browserify_rails.evaluate_node_modules = true
config.to_prepare do config.to_prepare do
Doorkeeper::AuthorizationsController.layout 'public' Doorkeeper::AuthorizationsController.layout 'public'
Doorkeeper::AuthorizedApplicationsController.layout 'admin' Doorkeeper::AuthorizedApplicationsController.layout 'admin'

View File

@ -75,8 +75,6 @@ Rails.application.configure do
Bullet.add_whitelist type: :n_plus_one_query, class_name: 'User', association: :account Bullet.add_whitelist type: :n_plus_one_query, class_name: 'User', association: :account
end end
config.react.variant = :development
end end
require 'sidekiq/testing' require 'sidekiq/testing'

View File

@ -106,8 +106,6 @@ Rails.application.configure do
config.action_mailer.delivery_method = ENV.fetch('SMTP_DELIVERY_METHOD', 'smtp').to_sym config.action_mailer.delivery_method = ENV.fetch('SMTP_DELIVERY_METHOD', 'smtp').to_sym
config.react.variant = :production
config.to_prepare do config.to_prepare do
StatsD.backend = StatsD::Instrument::Backends::NullBackend.new if ENV['STATSD_ADDR'].blank? StatsD.backend = StatsD::Instrument::Backends::NullBackend.new if ENV['STATSD_ADDR'].blank?
end end

View File

@ -8,6 +8,6 @@ Rails.application.config.assets.version = '1.0'
# Precompile additional assets. # Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added. # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
Rails.application.config.assets.precompile += %w(application_public.js custom.css) # Rails.application.config.assets.precompile += %w(application_public.js custom.css)
Rails.application.config.assets.initialize_on_precompile = true Rails.application.config.assets.initialize_on_precompile = true

View File

@ -0,0 +1,26 @@
// Common configuration for webpacker loaded from config/webpack/paths.yml
const { join, resolve } = require('path')
const { env } = require('process')
const { safeLoad } = require('js-yaml')
const { readFileSync } = require('fs')
const configPath = resolve('config', 'webpack')
const loadersDir = join(__dirname, 'loaders')
const paths = safeLoad(readFileSync(join(configPath, 'paths.yml'), 'utf8'))[env.NODE_ENV]
const devServer = safeLoad(readFileSync(join(configPath, 'development.server.yml'), 'utf8'))[env.NODE_ENV]
// Compute public path based on environment and CDN_HOST in production
const ifHasCDN = env.CDN_HOST !== undefined && env.NODE_ENV === 'production'
const devServerUrl = `http://${devServer.host}:${devServer.port}/${paths.entry}/`
const publicUrl = ifHasCDN ? `${env.CDN_HOST}/${paths.entry}/` : `/${paths.entry}/`
const publicPath = env.NODE_ENV !== 'production' ? devServerUrl : publicUrl
module.exports = {
devServer,
env,
paths,
loadersDir,
publicUrl,
publicPath
}

View File

@ -0,0 +1,16 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect
const merge = require('webpack-merge')
const sharedConfig = require('./shared.js')
module.exports = merge(sharedConfig, {
devtool: 'sourcemap',
stats: {
errorDetails: true
},
output: {
pathinfo: true
}
})

View File

@ -0,0 +1,18 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect
const { resolve } = require('path')
const merge = require('webpack-merge')
const devConfig = require('./development.js')
const { devServer, publicPath, paths } = require('./configuration.js')
module.exports = merge(devConfig, {
devServer: {
host: devServer.host,
port: devServer.port,
headers: { "Access-Control-Allow-Origin": "*" },
compress: true,
historyApiFallback: true,
contentBase: resolve(paths.output, paths.entry),
publicPath
}
})

View File

@ -0,0 +1,17 @@
# Note: You must restart bin/webpack-dev-server for changes to take effect
default: &default
enabled: true
host: localhost
port: 8080
development:
<<: *default
test:
<<: *default
enabled: false
production:
<<: *default
enabled: false

View File

@ -0,0 +1,12 @@
const { env, publicPath } = require('../configuration.js')
module.exports = {
test: /\.(jpg|jpeg|png|gif|svg|eot|ttf|woff|woff2)$/i,
use: [{
loader: 'file-loader',
options: {
publicPath,
name: env.NODE_ENV === 'production' ? '[name]-[hash].[ext]' : '[name].[ext]'
}
}]
}

View File

@ -0,0 +1,5 @@
module.exports = {
test: /\.js(\.erb)?$/,
exclude: /node_modules/,
loader: 'babel-loader'
}

View File

@ -0,0 +1,4 @@
module.exports = {
test: /\.coffee(\.erb)?$/,
loader: 'coffee-loader'
}

View File

@ -0,0 +1,9 @@
module.exports = {
test: /\.erb$/,
enforce: 'pre',
exclude: /node_modules/,
loader: 'rails-erb-loader',
options: {
runner: 'bin/rails runner'
}
}

View File

@ -0,0 +1,14 @@
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const { env } = require('../configuration.js')
module.exports = {
test: /\.(scss|sass|css)$/i,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{ loader: 'css-loader', options: { minimize: env.NODE_ENV === 'production' } },
'postcss-loader',
'sass-loader'
]
})
}

33
config/webpack/paths.yml Normal file
View File

@ -0,0 +1,33 @@
# Note: You must restart bin/webpack-dev-server for changes to take effect
default: &default
config: config/webpack
entry: packs
output: public
manifest: manifest.json
node_modules: node_modules
source: app/javascript
extensions:
- .coffee
- .js
- .jsx
- .ts
- .vue
- .sass
- .scss
- .css
- .png
- .svg
- .gif
- .jpeg
- .jpg
development:
<<: *default
test:
<<: *default
manifest: manifest-test.json
production:
<<: *default

View File

@ -0,0 +1,44 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect
/* eslint global-require: 0 */
const webpack = require('webpack')
const merge = require('webpack-merge')
const CompressionPlugin = require('compression-webpack-plugin')
const sharedConfig = require('./shared.js')
module.exports = merge(sharedConfig, {
output: { filename: '[name]-[chunkhash].js' },
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
unused: true,
evaluate: true,
booleans: true,
drop_debugger: true,
dead_code: true,
pure_getters: true,
negate_iife: true,
conditionals: true,
loops: true,
cascade: true,
keep_fargs: false,
warnings: true
},
mangle: false,
output: {
comments: false
},
sourceMap: false
}),
new CompressionPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: /\.(js|css|svg|eot|ttf|woff|woff2)$/
})
]
})

59
config/webpack/shared.js Normal file
View File

@ -0,0 +1,59 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect
/* eslint global-require: 0 */
/* eslint import/no-dynamic-require: 0 */
const webpack = require('webpack')
const { basename, dirname, join, relative, resolve } = require('path')
const { sync } = require('glob')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const ManifestPlugin = require('webpack-manifest-plugin')
const extname = require('path-complete-extname')
const { env, paths, publicPath, loadersDir } = require('./configuration.js')
const extensionGlob = `**/*{${paths.extensions.join(',')}}*`
const packPaths = sync(join(paths.source, paths.entry, extensionGlob))
module.exports = {
entry: packPaths.reduce(
(map, entry) => {
const localMap = map
const namespace = relative(join(paths.source, paths.entry), dirname(entry))
localMap[join(namespace, basename(entry, extname(entry)))] = resolve(entry)
return localMap
}, {}
),
output: {
filename: '[name].js',
chunkFilename: '[name]-[chunkhash].js',
path: resolve(paths.output, paths.entry),
publicPath
},
module: {
rules: sync(join(loadersDir, '*.js')).map(loader => require(loader))
},
plugins: [
new webpack.EnvironmentPlugin(JSON.parse(JSON.stringify(env))),
new ExtractTextPlugin(env.NODE_ENV === 'production' ? '[name]-[hash].css' : '[name].css'),
new ManifestPlugin({ fileName: paths.manifest, publicPath, writeToFileEmit: true }),
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: ({ resource }) => /node_modules/.test(resource)
})
],
resolve: {
extensions: paths.extensions,
modules: [
resolve(paths.source),
resolve(paths.node_modules)
]
},
resolveLoader: {
modules: [paths.node_modules]
}
}

6
config/webpack/test.js Normal file
View File

@ -0,0 +1,6 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect
const merge = require('webpack-merge')
const sharedConfig = require('./shared.js')
module.exports = merge(sharedConfig, {})

View File

@ -0,0 +1,34 @@
const manageTranslations = require('react-intl-translations-manager').default;
manageTranslations({
messagesDirectory: 'build/messages',
translationsDirectory: 'app/javascript/mastodon/locales/',
detectDuplicateIds: false,
singleMessagesFile: true,
languages: [
'ar',
'en',
'de',
'es',
'fa',
'hr',
'hu',
'io',
'it',
'fr',
'nl',
'no',
'oc',
'pt',
'pt-BR',
'uk',
'fi',
'eo',
'ru',
'ja',
'zh-HK',
'zh-CN',
'bg',
'id',
],
})

View File

@ -15,10 +15,14 @@ services:
# volumes: # volumes:
# - ./redis:/data # - ./redis:/data
web: app:
restart: always
build: . build: .
image: gargron/mastodon image: gargron/mastodon
web:
extends:
service: app
restart: always
env_file: .env.production env_file: .env.production
command: bundle exec rails s -p 3000 -b '0.0.0.0' command: bundle exec rails s -p 3000 -b '0.0.0.0'
ports: ports:
@ -28,12 +32,13 @@ services:
- redis - redis
volumes: volumes:
- ./public/assets:/mastodon/public/assets - ./public/assets:/mastodon/public/assets
- ./public/packs:/mastodon/public/packs
- ./public/system:/mastodon/public/system - ./public/system:/mastodon/public/system
streaming: streaming:
extends:
service: app
restart: always restart: always
build: .
image: gargron/mastodon
env_file: .env.production env_file: .env.production
command: npm run start command: npm run start
ports: ports:
@ -43,9 +48,9 @@ services:
- redis - redis
sidekiq: sidekiq:
extends:
service: app
restart: always restart: always
build: .
image: gargron/mastodon
env_file: .env.production env_file: .env.production
command: bundle exec sidekiq -q default -q mailers -q pull -q push command: bundle exec sidekiq -q default -q mailers -q pull -q push
depends_on: depends_on:

View File

@ -3,10 +3,11 @@
"license": "AGPL-3.0", "license": "AGPL-3.0",
"scripts": { "scripts": {
"postversion": "git push --tags", "postversion": "git push --tags",
"manage:translations": "node ./config/webpack/translationRunner.js",
"start": "babel-node ./streaming/index.js --presets es2015,stage-2", "start": "babel-node ./streaming/index.js --presets es2015,stage-2",
"storybook": "start-storybook -p 9001 -c storybook", "storybook": "start-storybook -p 9001 -c storybook",
"test": "npm run test:lint && npm run test:mocha", "test": "npm run test:lint && npm run test:mocha",
"test:lint": "eslint -c .eslintrc.json --ext=js --ext=jsx app/assets/javascripts/", "test:lint": "eslint -c .eslintrc.json --ext=js --ext=jsx app/javascript/",
"test:mocha": "mocha --require ./spec/javascript/setup.js --compilers js:babel-register ./spec/javascript/components/*.test.jsx" "test:mocha": "mocha --require ./spec/javascript/setup.js --compilers js:babel-register ./spec/javascript/components/*.test.jsx"
}, },
"repository": { "repository": {
@ -14,39 +15,55 @@
"url": "https://github.com/tootsuite/mastodon.git" "url": "https://github.com/tootsuite/mastodon.git"
}, },
"dependencies": { "dependencies": {
"@kadira/storybook": "^2.35.3", "autoprefixer": "^6.7.7",
"axios": "^0.15.3", "axios": "^0.15.3",
"babel-cli": "^6.23.0", "babel-cli": "^6.23.0",
"babel-core": "^6.24.1",
"babel-loader": "7.x",
"babel-plugin-react-intl": "^2.3.1",
"babel-plugin-react-transform": "^2.0.2", "babel-plugin-react-transform": "^2.0.2",
"babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-plugin-transform-object-rest-spread": "^6.23.0", "babel-plugin-transform-object-rest-spread": "^6.23.0",
"babel-plugin-transform-react-constant-elements": "^6.23.0",
"babel-plugin-transform-react-inline-elements": "^6.22.0",
"babel-plugin-transform-react-jsx-self": "^6.22.0",
"babel-plugin-transform-react-jsx-source": "^6.22.0",
"babel-plugin-transform-react-pure-class-to-function": "^1.0.1",
"babel-plugin-transform-react-remove-prop-types": "^0.4.3",
"babel-preset-env": "^1.4.0",
"babel-preset-es2015": "^6.22.0", "babel-preset-es2015": "^6.22.0",
"babel-preset-react": "^6.11.1", "babel-preset-react": "^6.11.1",
"babel-preset-stage-2": "^6.22.0", "babel-preset-stage-2": "^6.22.0",
"babelify": "^7.3.0",
"browserify": "^14.1.0",
"browserify-incremental": "^3.1.1",
"bufferutil": "^2.0.1", "bufferutil": "^2.0.1",
"chai": "^3.5.0", "coffee-loader": "^0.7.3",
"chai-enzyme": "^0.6.1", "coffee-script": "^1.12.5",
"css-loader": "^0.26.2", "compression-webpack-plugin": "^0.4.0",
"css-loader": "^0.28.0",
"dotenv": "^4.0.0", "dotenv": "^4.0.0",
"emojione": "^2.2.7", "emojione": "^2.2.7",
"emojione-picker": "^2.1.2", "emojione-picker": "^2.1.2",
"enzyme": "^2.8.2",
"es6-promise": "^3.2.1", "es6-promise": "^3.2.1",
"escape-html": "^1.0.3", "escape-html": "^1.0.3",
"eventsource": "^0.2.1", "eventsource": "^0.2.1",
"express": "^4.14.1", "express": "^4.14.1",
"extract-text-webpack-plugin": "^2.1.0",
"file-loader": "^0.11.1",
"font-awesome": "^4.7.0",
"glob": "^7.1.1",
"http-link-header": "^0.8.0", "http-link-header": "^0.8.0",
"immutable": "^3.8.1", "immutable": "^3.8.1",
"intl": "^1.2.5", "intl": "^1.2.5",
"jsdom": "^9.11.0", "jquery-ujs": "^1.2.2",
"mocha": "^3.2.0", "js-yaml": "^3.8.3",
"node-sass": "^4.5.2", "node-sass": "^4.5.2",
"npmlog": "^4.0.2", "npmlog": "^4.0.2",
"path-complete-extname": "^0.1.0",
"pg": "^6.1.2", "pg": "^6.1.2",
"postcss-loader": "^1.3.3",
"postcss-smart-import": "^0.6.12",
"precss": "^1.4.0",
"prop-types": "^15.5.8", "prop-types": "^15.5.8",
"rails-erb-loader": "^5.0.0",
"react": "^15.5.4", "react": "^15.5.4",
"react-addons-perf": "^15.4.2", "react-addons-perf": "^15.4.2",
"react-addons-shallow-compare": "^15.5.2", "react-addons-shallow-compare": "^15.5.2",
@ -55,6 +72,7 @@
"react-dom": "^15.5.4", "react-dom": "^15.5.4",
"react-imageloader": "^2.1.0", "react-imageloader": "^2.1.0",
"react-immutable-proptypes": "^2.1.0", "react-immutable-proptypes": "^2.1.0",
"react-immutable-pure-component": "^0.0.4",
"react-intl": "^2.1.5", "react-intl": "^2.1.5",
"react-motion": "^0.4.5", "react-motion": "^0.4.5",
"react-notification": "^6.6.0", "react-notification": "^6.6.0",
@ -72,21 +90,31 @@
"redux-immutable": "^3.1.0", "redux-immutable": "^3.1.0",
"redux-thunk": "^2.2.0", "redux-thunk": "^2.2.0",
"reselect": "^2.5.4", "reselect": "^2.5.4",
"sass-loader": "^6.0.2", "sass-loader": "^6.0.3",
"sinon": "^1.17.6", "sinon": "^1.17.6",
"stringz": "^0.1.2", "stringz": "^0.1.2",
"style-loader": "^0.13.2", "style-loader": "^0.16.1",
"utf-8-validate": "^3.0.1", "utf-8-validate": "^3.0.1",
"uuid": "^3.0.1", "uuid": "^3.0.1",
"webpack": "^2.2.1", "webpack": "^2.4.1",
"webpack-manifest-plugin": "^1.1.0",
"webpack-merge": "^4.1.0",
"websocket.js": "^0.1.7", "websocket.js": "^0.1.7",
"ws": "^2.1.0" "ws": "^2.1.0"
}, },
"devDependencies": { "devDependencies": {
"@kadira/storybook": "^2.35.3",
"babel-eslint": "^7.2.2", "babel-eslint": "^7.2.2",
"chai": "^3.5.0",
"chai-enzyme": "^0.6.1",
"enzyme": "^2.8.2",
"eslint": "^3.19.0", "eslint": "^3.19.0",
"eslint-plugin-jsx-a11y": "^4.0.0", "eslint-plugin-jsx-a11y": "^4.0.0",
"eslint-plugin-react": "^6.10.3" "eslint-plugin-react": "^6.10.3",
"jsdom": "^9.11.0",
"mocha": "^3.2.0",
"react-intl-translations-manager": "^5.0.0",
"webpack-dev-server": "^2.4.5"
}, },
"optionalDependencies": { "optionalDependencies": {
"fsevents": "*" "fsevents": "*"

View File

@ -27,14 +27,11 @@ RSpec.describe Api::V1::AccountsController, type: :controller do
describe 'PATCH #update_credentials' do describe 'PATCH #update_credentials' do
describe 'with valid data' do describe 'with valid data' do
before do before do
avatar = File.read(Rails.root.join('app', 'assets', 'images', 'logo.png'))
header = File.read(Rails.root.join('app', 'assets', 'images', 'mastodon-getting-started.png'))
patch :update_credentials, params: { patch :update_credentials, params: {
display_name: "Alice Isn't Dead", display_name: "Alice Isn't Dead",
note: "Hi!\n\nToot toot!", note: "Hi!\n\nToot toot!",
avatar: "data:image/png;base64,#{Base64.encode64(avatar)}", avatar: fixture_file_upload('files/avatar.gif', 'image/gif'),
header: "data:image/png;base64,#{Base64.encode64(header)}", header: fixture_file_upload('files/attachment.jpg', 'image/jpeg'),
} }
end end

View File

@ -11,6 +11,6 @@ feature "Log in" do
fill_in "user_password", with: password fill_in "user_password", with: password
click_on "Log in" click_on "Log in"
expect(page).to have_css "div.app-holder[data-react-class=Mastodon]" expect(page).to have_css "div.app-holder"
end end
end end

View File

@ -1,7 +1,7 @@
import { expect } from 'chai'; import { expect } from 'chai';
import { render } from 'enzyme'; import { render } from 'enzyme';
import Avatar from '../../../app/assets/javascripts/components/components/avatar' import Avatar from '../../../app/javascript/mastodon/components/avatar'
describe('<Avatar />', () => { describe('<Avatar />', () => {
const src = '/path/to/image.jpg'; const src = '/path/to/image.jpg';

View File

@ -2,7 +2,7 @@ import { expect } from 'chai';
import { shallow } from 'enzyme'; import { shallow } from 'enzyme';
import sinon from 'sinon'; import sinon from 'sinon';
import Button from '../../../app/assets/javascripts/components/components/button'; import Button from '../../../app/javascript/mastodon/components/button';
describe('<Button />', () => { describe('<Button />', () => {
it('renders a button element', () => { it('renders a button element', () => {

View File

@ -2,7 +2,7 @@ import { expect } from 'chai';
import { render } from 'enzyme'; import { render } from 'enzyme';
import Immutable from 'immutable'; import Immutable from 'immutable';
import DisplayName from '../../../app/assets/javascripts/components/components/display_name' import DisplayName from '../../../app/javascript/mastodon/components/display_name'
describe('<DisplayName />', () => { describe('<DisplayName />', () => {
it('renders display name + account name', () => { it('renders display name + account name', () => {

View File

@ -2,7 +2,7 @@ import { expect } from 'chai';
import { shallow, mount } from 'enzyme'; import { shallow, mount } from 'enzyme';
import sinon from 'sinon'; import sinon from 'sinon';
import DropdownMenu from '../../../app/assets/javascripts/components/components/dropdown_menu'; import DropdownMenu from '../../../app/javascript/mastodon/components/dropdown_menu';
import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown'; import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown';
describe('<DropdownMenu />', () => { describe('<DropdownMenu />', () => {

View File

@ -2,8 +2,8 @@ import { expect } from 'chai';
import { mount } from 'enzyme'; import { mount } from 'enzyme';
import sinon from 'sinon'; import sinon from 'sinon';
import Column from '../../../../../../app/assets/javascripts/components/features/ui/components/column'; import Column from '../../../../../../app/javascript/mastodon/features/ui/components/column';
import ColumnHeader from '../../../../../../app/assets/javascripts/components/features/ui/components/column_header'; import ColumnHeader from '../../../../../../app/javascript/mastodon/features/ui/components/column_header';
describe('<Column />', () => { describe('<Column />', () => {
describe('<ColumnHeader /> click handler', () => { describe('<ColumnHeader /> click handler', () => {

View File

@ -1,7 +1,7 @@
import { expect } from 'chai'; import { expect } from 'chai';
import { shallow } from 'enzyme'; import { shallow } from 'enzyme';
import LoadingIndicator from '../../../app/assets/javascripts/components/components/loading_indicator' import LoadingIndicator from '../../../app/javascript/mastodon/components/loading_indicator'
describe('<LoadingIndicator />', () => { describe('<LoadingIndicator />', () => {

1758
yarn.lock
View File

@ -99,20 +99,6 @@
webpack-dev-middleware "^1.6.0" webpack-dev-middleware "^1.6.0"
webpack-hot-middleware "^2.13.2" webpack-hot-middleware "^2.13.2"
JSONStream@^0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.10.0.tgz#74349d0d89522b71f30f0a03ff9bd20ca6f12ac0"
dependencies:
jsonparse "0.0.5"
through ">=2.2.7 <3"
JSONStream@^1.0.3:
version "1.2.1"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.2.1.tgz#32aa5790e799481083b49b4b7fa94e23bae69bf9"
dependencies:
jsonparse "^1.2.0"
through ">=2.2.7 <3"
abab@^1.0.3: abab@^1.0.3:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d"
@ -146,14 +132,6 @@ acorn-jsx@^3.0.0:
dependencies: dependencies:
acorn "^3.0.4" acorn "^3.0.4"
acorn@^1.0.3:
version "1.2.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-1.2.2.tgz#c8ce27de0acc76d896d2b1fad3df588d9e82f014"
acorn@^2.7.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7"
acorn@^3.0.0, acorn@^3.0.4: acorn@^3.0.0, acorn@^3.0.4:
version "3.3.0" version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
@ -162,7 +140,7 @@ acorn@^4.0.3, acorn@^4.0.4:
version "4.0.11" version "4.0.11"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
acorn@^5.0.1: acorn@^5.0.0, acorn@^5.0.1:
version "5.0.3" version "5.0.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
@ -183,7 +161,7 @@ ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
version "1.5.1" version "1.5.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
ajv@^4.7.0: ajv@^4.11.2, ajv@^4.7.0:
version "4.11.3" version "4.11.3"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.3.tgz#ce30bdb90d1254f762c75af915fb3a63e7183d22" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.3.tgz#ce30bdb90d1254f762c75af915fb3a63e7183d22"
dependencies: dependencies:
@ -222,6 +200,10 @@ ansi-styles@^2.2.1:
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
any-promise@^0.1.0, any-promise@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-0.1.0.tgz#830b680aa7e56f33451d4b049f3bd8044498ee27"
anymatch@^1.3.0: anymatch@^1.3.0:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
@ -270,10 +252,6 @@ array-equal@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
array-filter@~0.0.0:
version "0.0.1"
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
array-find-index@^1.0.1: array-find-index@^1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
@ -289,14 +267,6 @@ array-includes@^3.0.2:
define-properties "^1.1.2" define-properties "^1.1.2"
es-abstract "^1.5.0" es-abstract "^1.5.0"
array-map@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
array-reduce@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
array-union@^1.0.1: array-union@^1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
@ -346,7 +316,7 @@ assert-plus@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
assert@^1.1.1, assert@^1.4.0: assert@^1.1.1:
version "1.4.1" version "1.4.1"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
dependencies: dependencies:
@ -364,12 +334,6 @@ ast-types@0.9.5:
version "0.9.5" version "0.9.5"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.5.tgz#1a660a09945dbceb1f9c9cbb715002617424e04a" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.5.tgz#1a660a09945dbceb1f9c9cbb715002617424e04a"
astw@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/astw/-/astw-2.0.0.tgz#08121ac8288d35611c0ceec663f6cd545604897d"
dependencies:
acorn "^1.0.3"
async-each@^1.0.0: async-each@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
@ -378,6 +342,10 @@ async-foreach@^0.1.3:
version "0.1.3" version "0.1.3"
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
async@0.2.x, async@~0.2.6:
version "0.2.10"
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
async@^0.9.0: async@^0.9.0:
version "0.9.2" version "0.9.2"
resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
@ -392,10 +360,6 @@ async@^2.1.2, async@^2.1.5:
dependencies: dependencies:
lodash "^4.14.0" lodash "^4.14.0"
async@~0.2.6:
version "0.2.10"
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
asynckit@^0.4.0: asynckit@^0.4.0:
version "0.4.0" version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@ -404,15 +368,15 @@ autobind-decorator@1.3.3:
version "1.3.3" version "1.3.3"
resolved "https://registry.yarnpkg.com/autobind-decorator/-/autobind-decorator-1.3.3.tgz#41b1915ee742859c872b5d1743d10745254b83b4" resolved "https://registry.yarnpkg.com/autobind-decorator/-/autobind-decorator-1.3.3.tgz#41b1915ee742859c872b5d1743d10745254b83b4"
autoprefixer@^6.3.1, autoprefixer@^6.3.7: autoprefixer@^6.3.1, autoprefixer@^6.3.7, autoprefixer@^6.7.7:
version "6.5.0" version "6.7.7"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.5.0.tgz#910de0aa0f22af4c7d50367cbc9d4d412945162f" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
dependencies: dependencies:
browserslist "~1.4.0" browserslist "^1.7.6"
caniuse-db "^1.0.30000540" caniuse-db "^1.0.30000634"
normalize-range "^0.1.2" normalize-range "^0.1.2"
num2fraction "^1.2.2" num2fraction "^1.2.2"
postcss "^5.2.2" postcss "^5.2.16"
postcss-value-parser "^3.2.3" postcss-value-parser "^3.2.3"
aws-sign2@~0.6.0: aws-sign2@~0.6.0:
@ -450,15 +414,7 @@ babel-cli@^6.23.0:
optionalDependencies: optionalDependencies:
chokidar "^1.6.1" chokidar "^1.6.1"
babel-code-frame@^6.11.0: babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de"
dependencies:
chalk "^1.1.0"
esutils "^2.0.2"
js-tokens "^2.0.0"
babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
version "6.22.0" version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
dependencies: dependencies:
@ -466,43 +422,19 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
esutils "^2.0.2" esutils "^2.0.2"
js-tokens "^3.0.0" js-tokens "^3.0.0"
babel-core@^6.0.14, babel-core@^6.23.0: babel-core@^6.11.4, babel-core@^6.23.0, babel-core@^6.24.1:
version "6.23.1" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.23.1.tgz#c143cb621bb2f621710c220c5d579d15b8a442df" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83"
dependencies: dependencies:
babel-code-frame "^6.22.0" babel-code-frame "^6.22.0"
babel-generator "^6.23.0" babel-generator "^6.24.1"
babel-helpers "^6.23.0" babel-helpers "^6.24.1"
babel-messages "^6.23.0" babel-messages "^6.23.0"
babel-register "^6.23.0" babel-register "^6.24.1"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.23.0" babel-template "^6.24.1"
babel-traverse "^6.23.1" babel-traverse "^6.24.1"
babel-types "^6.23.0" babel-types "^6.24.1"
babylon "^6.11.0"
convert-source-map "^1.1.0"
debug "^2.1.1"
json5 "^0.5.0"
lodash "^4.2.0"
minimatch "^3.0.2"
path-is-absolute "^1.0.0"
private "^0.1.6"
slash "^1.0.0"
source-map "^0.5.0"
babel-core@^6.11.4:
version "6.22.1"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648"
dependencies:
babel-code-frame "^6.22.0"
babel-generator "^6.22.0"
babel-helpers "^6.22.0"
babel-messages "^6.22.0"
babel-register "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.1"
babel-types "^6.22.0"
babylon "^6.11.0" babylon "^6.11.0"
convert-source-map "^1.1.0" convert-source-map "^1.1.0"
debug "^2.1.1" debug "^2.1.1"
@ -523,25 +455,13 @@ babel-eslint@^7.2.2:
babel-types "^6.23.0" babel-types "^6.23.0"
babylon "^6.16.1" babylon "^6.16.1"
babel-generator@^6.22.0: babel-generator@^6.24.1:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497"
dependencies:
babel-messages "^6.22.0"
babel-runtime "^6.22.0"
babel-types "^6.22.0"
detect-indent "^4.0.0"
jsesc "^1.3.0"
lodash "^4.2.0"
source-map "^0.5.0"
babel-generator@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.23.0.tgz#6b8edab956ef3116f79d8c84c5a3c05f32a74bc5"
dependencies: dependencies:
babel-messages "^6.23.0" babel-messages "^6.23.0"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-types "^6.23.0" babel-types "^6.24.1"
detect-indent "^4.0.0" detect-indent "^4.0.0"
jsesc "^1.3.0" jsesc "^1.3.0"
lodash "^4.2.0" lodash "^4.2.0"
@ -573,22 +493,22 @@ babel-helper-builder-react-jsx@^6.8.0:
esutils "^2.0.0" esutils "^2.0.0"
lodash "^4.2.0" lodash "^4.2.0"
babel-helper-call-delegate@^6.22.0, babel-helper-call-delegate@^6.8.0: babel-helper-call-delegate@^6.24.1, babel-helper-call-delegate@^6.8.0:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
dependencies: dependencies:
babel-helper-hoist-variables "^6.22.0" babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-traverse "^6.22.0" babel-traverse "^6.24.1"
babel-types "^6.22.0" babel-types "^6.24.1"
babel-helper-define-map@^6.22.0: babel-helper-define-map@^6.24.1:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.22.0.tgz#9544e9502b2d6dfe7d00ff60e82bd5a7a89e95b7" resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080"
dependencies: dependencies:
babel-helper-function-name "^6.22.0" babel-helper-function-name "^6.24.1"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-types "^6.22.0" babel-types "^6.24.1"
lodash "^4.2.0" lodash "^4.2.0"
babel-helper-explode-assignable-expression@^6.22.0: babel-helper-explode-assignable-expression@^6.22.0:
@ -608,36 +528,40 @@ babel-helper-explode-class@^6.22.0:
babel-traverse "^6.22.0" babel-traverse "^6.22.0"
babel-types "^6.22.0" babel-types "^6.22.0"
babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.8.0: babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.24.1, babel-helper-function-name@^6.8.0:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc" resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
dependencies: dependencies:
babel-helper-get-function-arity "^6.22.0" babel-helper-get-function-arity "^6.24.1"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.24.1"
babel-traverse "^6.22.0" babel-traverse "^6.24.1"
babel-types "^6.22.0" babel-types "^6.24.1"
babel-helper-get-function-arity@^6.22.0, babel-helper-get-function-arity@^6.8.0: babel-helper-get-function-arity@^6.24.1, babel-helper-get-function-arity@^6.8.0:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-types "^6.22.0" babel-types "^6.24.1"
babel-helper-hoist-variables@^6.22.0: babel-helper-hoist-variables@^6.24.1:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-types "^6.22.0" babel-types "^6.24.1"
babel-helper-optimise-call-expression@^6.22.0: babel-helper-is-react-class@^1.0.0:
version "6.22.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.22.0.tgz#f8d5d4b40a6e2605a6a7f9d537b581bea3756d15" resolved "https://registry.yarnpkg.com/babel-helper-is-react-class/-/babel-helper-is-react-class-1.0.0.tgz#ef6f3678b05c76dbdeedadead7af98c2724d8431"
babel-helper-optimise-call-expression@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-types "^6.22.0" babel-types "^6.24.1"
babel-helper-regex@^6.22.0: babel-helper-regex@^6.22.0:
version "6.22.0" version "6.22.0"
@ -657,30 +581,31 @@ babel-helper-remap-async-to-generator@^6.22.0:
babel-traverse "^6.22.0" babel-traverse "^6.22.0"
babel-types "^6.22.0" babel-types "^6.22.0"
babel-helper-replace-supers@^6.22.0: babel-helper-replace-supers@^6.22.0, babel-helper-replace-supers@^6.24.1:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz#1fcee2270657548908c34db16bcc345f9850cf42" resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
dependencies: dependencies:
babel-helper-optimise-call-expression "^6.22.0" babel-helper-optimise-call-expression "^6.24.1"
babel-messages "^6.22.0" babel-messages "^6.23.0"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.24.1"
babel-traverse "^6.22.0" babel-traverse "^6.24.1"
babel-types "^6.22.0" babel-types "^6.24.1"
babel-helpers@^6.22.0: babel-helpers@^6.24.1:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.24.1"
babel-helpers@^6.23.0: babel-loader@7.x:
version "6.23.0" version "7.0.0"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.0.0.tgz#2e43a66bee1fff4470533d0402c8a4532fafbaf7"
dependencies: dependencies:
babel-runtime "^6.22.0" find-cache-dir "^0.1.1"
babel-template "^6.23.0" loader-utils "^1.0.2"
mkdirp "^0.5.1"
babel-loader@^6.2.4: babel-loader@^6.2.4:
version "6.2.5" version "6.2.5"
@ -690,12 +615,6 @@ babel-loader@^6.2.4:
mkdirp "^0.5.1" mkdirp "^0.5.1"
object-assign "^4.0.1" object-assign "^4.0.1"
babel-messages@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575"
dependencies:
babel-runtime "^6.22.0"
babel-messages@^6.23.0: babel-messages@^6.23.0:
version "6.23.0" version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
@ -716,6 +635,14 @@ babel-plugin-react-docgen@^1.4.2:
lodash "4.x.x" lodash "4.x.x"
react-docgen "^2.12.1" react-docgen "^2.12.1"
babel-plugin-react-intl@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/babel-plugin-react-intl/-/babel-plugin-react-intl-2.3.1.tgz#3d43912e824da005e08e8e8239d5ba784374bb00"
dependencies:
babel-runtime "^6.2.0"
intl-messageformat-parser "^1.2.0"
mkdirp "^0.5.1"
babel-plugin-react-transform@^2.0.2: babel-plugin-react-transform@^2.0.2:
version "2.0.2" version "2.0.2"
resolved "https://registry.yarnpkg.com/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz#515bbfa996893981142d90b1f9b1635de2995109" resolved "https://registry.yarnpkg.com/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz#515bbfa996893981142d90b1f9b1635de2995109"
@ -825,29 +752,29 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0, babel-plugin-trans
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-plugin-transform-es2015-block-scoping@^6.22.0, babel-plugin-transform-es2015-block-scoping@^6.6.0: babel-plugin-transform-es2015-block-scoping@^6.22.0, babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.6.0:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz#00d6e3a0bebdcfe7536b9d653b44a9141e63e47e" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.24.1"
babel-traverse "^6.22.0" babel-traverse "^6.24.1"
babel-types "^6.22.0" babel-types "^6.24.1"
lodash "^4.2.0" lodash "^4.2.0"
babel-plugin-transform-es2015-classes@^6.22.0, babel-plugin-transform-es2015-classes@^6.6.0: babel-plugin-transform-es2015-classes@^6.22.0, babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.6.0:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz#54d44998fd823d9dca15292324161c331c1b6f14" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
dependencies: dependencies:
babel-helper-define-map "^6.22.0" babel-helper-define-map "^6.24.1"
babel-helper-function-name "^6.22.0" babel-helper-function-name "^6.24.1"
babel-helper-optimise-call-expression "^6.22.0" babel-helper-optimise-call-expression "^6.24.1"
babel-helper-replace-supers "^6.22.0" babel-helper-replace-supers "^6.24.1"
babel-messages "^6.22.0" babel-messages "^6.23.0"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.24.1"
babel-traverse "^6.22.0" babel-traverse "^6.24.1"
babel-types "^6.22.0" babel-types "^6.24.1"
babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.3.13: babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.3.13:
version "6.22.0" version "6.22.0"
@ -862,9 +789,9 @@ babel-plugin-transform-es2015-destructuring@6.16.0:
dependencies: dependencies:
babel-runtime "^6.9.0" babel-runtime "^6.9.0"
babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.6.0: babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0, babel-plugin-transform-es2015-destructuring@^6.6.0:
version "6.22.0" version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.22.0.tgz#8e0af2f885a0b2cf999d47c4c1dd23ce88cfa4c6" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
@ -875,9 +802,9 @@ babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-types "^6.22.0" babel-types "^6.22.0"
babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.6.0: babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0, babel-plugin-transform-es2015-for-of@^6.6.0:
version "6.22.0" version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.22.0.tgz#180467ad63aeea592a1caeee4bf1c8b3e2616265" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
@ -895,7 +822,7 @@ babel-plugin-transform-es2015-literals@^6.22.0, babel-plugin-transform-es2015-li
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.8.0: babel-plugin-transform-es2015-modules-amd@^6.22.0:
version "6.22.0" version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21"
dependencies: dependencies:
@ -903,30 +830,38 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.22.0"
babel-plugin-transform-es2015-modules-commonjs@^6.22.0, babel-plugin-transform-es2015-modules-commonjs@^6.6.0: babel-plugin-transform-es2015-modules-amd@^6.24.1, babel-plugin-transform-es2015-modules-amd@^6.8.0:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.22.0.tgz#6ca04e22b8e214fb50169730657e7a07dc941145" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
dependencies: dependencies:
babel-plugin-transform-strict-mode "^6.22.0" babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.24.1"
babel-types "^6.22.0"
babel-plugin-transform-es2015-modules-systemjs@^6.12.0, babel-plugin-transform-es2015-modules-systemjs@^6.22.0: babel-plugin-transform-es2015-modules-commonjs@^6.22.0, babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.6.0:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.22.0.tgz#810cd0cd025a08383b84236b92c6e31f88e644ad" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe"
dependencies: dependencies:
babel-helper-hoist-variables "^6.22.0" babel-plugin-transform-strict-mode "^6.24.1"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.24.1"
babel-types "^6.24.1"
babel-plugin-transform-es2015-modules-umd@^6.12.0, babel-plugin-transform-es2015-modules-umd@^6.22.0: babel-plugin-transform-es2015-modules-systemjs@^6.12.0, babel-plugin-transform-es2015-modules-systemjs@^6.22.0, babel-plugin-transform-es2015-modules-systemjs@^6.23.0:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.22.0.tgz#60d0ba3bd23258719c64391d9bf492d648dc0fae" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
dependencies: dependencies:
babel-plugin-transform-es2015-modules-amd "^6.22.0" babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.24.1"
babel-plugin-transform-es2015-modules-umd@^6.12.0, babel-plugin-transform-es2015-modules-umd@^6.22.0, babel-plugin-transform-es2015-modules-umd@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
dependencies:
babel-plugin-transform-es2015-modules-amd "^6.24.1"
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.3.13: babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.3.13:
version "6.22.0" version "6.22.0"
@ -946,16 +881,16 @@ babel-plugin-transform-es2015-parameters@6.17.0:
babel-traverse "^6.16.0" babel-traverse "^6.16.0"
babel-types "^6.16.0" babel-types "^6.16.0"
babel-plugin-transform-es2015-parameters@^6.22.0, babel-plugin-transform-es2015-parameters@^6.6.0: babel-plugin-transform-es2015-parameters@^6.22.0, babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.6.0:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz#57076069232019094f27da8c68bb7162fe208dbb" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
dependencies: dependencies:
babel-helper-call-delegate "^6.22.0" babel-helper-call-delegate "^6.24.1"
babel-helper-get-function-arity "^6.22.0" babel-helper-get-function-arity "^6.24.1"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.22.0" babel-template "^6.24.1"
babel-traverse "^6.22.0" babel-traverse "^6.24.1"
babel-types "^6.22.0" babel-types "^6.24.1"
babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.3.13: babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.3.13:
version "6.22.0" version "6.22.0"
@ -984,9 +919,9 @@ babel-plugin-transform-es2015-template-literals@^6.22.0, babel-plugin-transform-
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.6.0: babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0, babel-plugin-transform-es2015-typeof-symbol@^6.6.0:
version "6.22.0" version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.22.0.tgz#87faf2336d3b6a97f68c4d906b0cd0edeae676e1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
@ -1033,26 +968,52 @@ babel-plugin-transform-react-constant-elements@6.9.1:
dependencies: dependencies:
babel-runtime "^6.9.1" babel-runtime "^6.9.1"
babel-plugin-transform-react-constant-elements@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.23.0.tgz#2f119bf4d2cdd45eb9baaae574053c604f6147dd"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-react-display-name@^6.3.13: babel-plugin-transform-react-display-name@^6.3.13:
version "6.8.0" version "6.8.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz#f7a084977383d728bdbdc2835bba0159577f660e" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz#f7a084977383d728bdbdc2835bba0159577f660e"
dependencies: dependencies:
babel-runtime "^6.0.0" babel-runtime "^6.0.0"
babel-plugin-transform-react-jsx-self@6.11.0, babel-plugin-transform-react-jsx-self@^6.11.0: babel-plugin-transform-react-inline-elements@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-inline-elements/-/babel-plugin-transform-react-inline-elements-6.22.0.tgz#6687211a32b49a52f22c573a2b5504a25ef17c53"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-react-jsx-self@6.11.0:
version "6.11.0" version "6.11.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.11.0.tgz#605c9450c1429f97a930f7e1dfe3f0d9d0dbd0f4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.11.0.tgz#605c9450c1429f97a930f7e1dfe3f0d9d0dbd0f4"
dependencies: dependencies:
babel-plugin-syntax-jsx "^6.8.0" babel-plugin-syntax-jsx "^6.8.0"
babel-runtime "^6.9.0" babel-runtime "^6.9.0"
babel-plugin-transform-react-jsx-source@6.9.0, babel-plugin-transform-react-jsx-source@^6.3.13: babel-plugin-transform-react-jsx-self@^6.11.0, babel-plugin-transform-react-jsx-self@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e"
dependencies:
babel-plugin-syntax-jsx "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-react-jsx-source@6.9.0:
version "6.9.0" version "6.9.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz#af684a05c2067a86e0957d4f343295ccf5dccf00" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz#af684a05c2067a86e0957d4f343295ccf5dccf00"
dependencies: dependencies:
babel-plugin-syntax-jsx "^6.8.0" babel-plugin-syntax-jsx "^6.8.0"
babel-runtime "^6.9.0" babel-runtime "^6.9.0"
babel-plugin-transform-react-jsx-source@^6.22.0, babel-plugin-transform-react-jsx-source@^6.3.13:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6"
dependencies:
babel-plugin-syntax-jsx "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-react-jsx@^6.3.13: babel-plugin-transform-react-jsx@^6.3.13:
version "6.8.0" version "6.8.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz#94759942f70af18c617189aa7f3593f1644a71ab" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz#94759942f70af18c617189aa7f3593f1644a71ab"
@ -1061,6 +1022,16 @@ babel-plugin-transform-react-jsx@^6.3.13:
babel-plugin-syntax-jsx "^6.8.0" babel-plugin-syntax-jsx "^6.8.0"
babel-runtime "^6.0.0" babel-runtime "^6.0.0"
babel-plugin-transform-react-pure-class-to-function@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-pure-class-to-function/-/babel-plugin-transform-react-pure-class-to-function-1.0.1.tgz#32a649c97d653250b419cfd1489331b0290d9ee4"
dependencies:
babel-helper-is-react-class "^1.0.0"
babel-plugin-transform-react-remove-prop-types@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.3.tgz#fdff5c12933efc3ac979817adcdc0f612c5e3563"
babel-plugin-transform-regenerator@6.16.1: babel-plugin-transform-regenerator@6.16.1:
version "6.16.1" version "6.16.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz#a75de6b048a14154aae14b0122756c5bed392f59" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz#a75de6b048a14154aae14b0122756c5bed392f59"
@ -1081,12 +1052,12 @@ babel-plugin-transform-runtime@6.15.0:
dependencies: dependencies:
babel-runtime "^6.9.0" babel-runtime "^6.9.0"
babel-plugin-transform-strict-mode@^6.22.0: babel-plugin-transform-strict-mode@^6.24.1:
version "6.22.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-types "^6.22.0" babel-types "^6.24.1"
babel-polyfill@^6.23.0: babel-polyfill@^6.23.0:
version "6.23.0" version "6.23.0"
@ -1129,6 +1100,40 @@ babel-preset-env@0.0.6:
babel-plugin-transform-regenerator "^6.6.0" babel-plugin-transform-regenerator "^6.6.0"
browserslist "^1.4.0" browserslist "^1.4.0"
babel-preset-env@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.4.0.tgz#c8e02a3bcc7792f23cded68e0355b9d4c28f0f7a"
dependencies:
babel-plugin-check-es2015-constants "^6.22.0"
babel-plugin-syntax-trailing-function-commas "^6.22.0"
babel-plugin-transform-async-to-generator "^6.22.0"
babel-plugin-transform-es2015-arrow-functions "^6.22.0"
babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
babel-plugin-transform-es2015-block-scoping "^6.23.0"
babel-plugin-transform-es2015-classes "^6.23.0"
babel-plugin-transform-es2015-computed-properties "^6.22.0"
babel-plugin-transform-es2015-destructuring "^6.23.0"
babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
babel-plugin-transform-es2015-for-of "^6.23.0"
babel-plugin-transform-es2015-function-name "^6.22.0"
babel-plugin-transform-es2015-literals "^6.22.0"
babel-plugin-transform-es2015-modules-amd "^6.22.0"
babel-plugin-transform-es2015-modules-commonjs "^6.23.0"
babel-plugin-transform-es2015-modules-systemjs "^6.23.0"
babel-plugin-transform-es2015-modules-umd "^6.23.0"
babel-plugin-transform-es2015-object-super "^6.22.0"
babel-plugin-transform-es2015-parameters "^6.23.0"
babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
babel-plugin-transform-es2015-spread "^6.22.0"
babel-plugin-transform-es2015-sticky-regex "^6.22.0"
babel-plugin-transform-es2015-template-literals "^6.22.0"
babel-plugin-transform-es2015-typeof-symbol "^6.23.0"
babel-plugin-transform-es2015-unicode-regex "^6.22.0"
babel-plugin-transform-exponentiation-operator "^6.22.0"
babel-plugin-transform-regenerator "^6.22.0"
browserslist "^1.4.0"
invariant "^2.2.2"
babel-preset-es2015@^6.16.0, babel-preset-es2015@^6.22.0: babel-preset-es2015@^6.16.0, babel-preset-es2015@^6.22.0:
version "6.22.0" version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz#af5a98ecb35eb8af764ad8a5a05eb36dc4386835" resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz#af5a98ecb35eb8af764ad8a5a05eb36dc4386835"
@ -1228,7 +1233,7 @@ babel-preset-stage-3@^6.22.0:
babel-plugin-transform-exponentiation-operator "^6.22.0" babel-plugin-transform-exponentiation-operator "^6.22.0"
babel-plugin-transform-object-rest-spread "^6.22.0" babel-plugin-transform-object-rest-spread "^6.22.0"
babel-register@^6.22.0, babel-register@^6.23.0: babel-register@^6.23.0:
version "6.23.0" version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.23.0.tgz#c9aa3d4cca94b51da34826c4a0f9e08145d74ff3" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.23.0.tgz#c9aa3d4cca94b51da34826c4a0f9e08145d74ff3"
dependencies: dependencies:
@ -1240,6 +1245,18 @@ babel-register@^6.22.0, babel-register@^6.23.0:
mkdirp "^0.5.1" mkdirp "^0.5.1"
source-map-support "^0.4.2" source-map-support "^0.4.2"
babel-register@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f"
dependencies:
babel-core "^6.24.1"
babel-runtime "^6.22.0"
core-js "^2.4.0"
home-or-tmp "^2.0.0"
lodash "^4.2.0"
mkdirp "^0.5.1"
source-map-support "^0.4.2"
babel-runtime@6.11.6: babel-runtime@6.11.6:
version "6.11.6" version "6.11.6"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.11.6.tgz#6db707fef2d49c49bfa3cb64efdb436b518b8222" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.11.6.tgz#6db707fef2d49c49bfa3cb64efdb436b518b8222"
@ -1247,53 +1264,53 @@ babel-runtime@6.11.6:
core-js "^2.4.0" core-js "^2.4.0"
regenerator-runtime "^0.9.5" regenerator-runtime "^0.9.5"
babel-runtime@6.x.x, babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.5.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1, babel-runtime@^6.9.2: babel-runtime@6.x.x, babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.23.0, babel-runtime@^6.5.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1, babel-runtime@^6.9.2:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
babel-runtime@^6.2.0, babel-runtime@^6.22.0:
version "6.22.0" version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611"
dependencies: dependencies:
core-js "^2.4.0" core-js "^2.4.0"
regenerator-runtime "^0.10.0" regenerator-runtime "^0.10.0"
babel-template@^6.16.0, babel-template@^6.22.0, babel-template@^6.23.0, babel-template@^6.3.0: babel-template@^6.16.0, babel-template@^6.22.0, babel-template@^6.24.1, babel-template@^6.3.0:
version "6.23.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-traverse "^6.23.0" babel-traverse "^6.24.1"
babel-types "^6.23.0" babel-types "^6.24.1"
babylon "^6.11.0" babylon "^6.11.0"
lodash "^4.2.0" lodash "^4.2.0"
babel-traverse@^6.16.0, babel-traverse@^6.22.0, babel-traverse@^6.22.1, babel-traverse@^6.23.0, babel-traverse@^6.23.1: babel-traverse@^6.16.0, babel-traverse@^6.22.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1:
version "6.23.1" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695"
dependencies: dependencies:
babel-code-frame "^6.22.0" babel-code-frame "^6.22.0"
babel-messages "^6.23.0" babel-messages "^6.23.0"
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-types "^6.23.0" babel-types "^6.24.1"
babylon "^6.15.0" babylon "^6.15.0"
debug "^2.2.0" debug "^2.2.0"
globals "^9.0.0" globals "^9.0.0"
invariant "^2.2.0" invariant "^2.2.0"
lodash "^4.2.0" lodash "^4.2.0"
babel-types@^6.16.0, babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0, babel-types@^6.9.0: babel-types@^6.16.0, babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.9.0:
version "6.23.0" version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975"
dependencies: dependencies:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
esutils "^2.0.2" esutils "^2.0.2"
lodash "^4.2.0" lodash "^4.2.0"
to-fast-properties "^1.0.1" to-fast-properties "^1.0.1"
babelify@^7.3.0:
version "7.3.0"
resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5"
dependencies:
babel-core "^6.0.14"
object-assign "^4.0.0"
babylon@^6.11.0, babylon@^6.15.0, babylon@^6.16.1: babylon@^6.11.0, babylon@^6.15.0, babylon@^6.16.1:
version "6.16.1" version "6.16.1"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
@ -1308,18 +1325,26 @@ backoff@^2.4.1:
dependencies: dependencies:
precond "0.2" precond "0.2"
balanced-match@0.1.0, balanced-match@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.1.0.tgz#b504bd05869b39259dd0c5efc35d843176dccc4a"
balanced-match@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.2.1.tgz#7bc658b4bed61eee424ad74f75f5c3e2c4df3cc7"
balanced-match@^0.4.1, balanced-match@^0.4.2: balanced-match@^0.4.1, balanced-match@^0.4.2:
version "0.4.2" version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
balanced-match@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.1.0.tgz#b504bd05869b39259dd0c5efc35d843176dccc4a"
base64-js@^1.0.2: base64-js@^1.0.2:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
batch@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464"
bcrypt-pbkdf@^1.0.0: bcrypt-pbkdf@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4"
@ -1338,7 +1363,7 @@ bindings@~1.2.1:
version "1.2.1" version "1.2.1"
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11"
bl@^1.0.0, bl@~1.1.2: bl@^1.0.0:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398"
dependencies: dependencies:
@ -1383,22 +1408,6 @@ brorand@^1.0.1:
version "1.0.6" version "1.0.6"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.6.tgz#4028706b915f91f7b349a2e0bf3c376039d216e5" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.6.tgz#4028706b915f91f7b349a2e0bf3c376039d216e5"
browser-pack@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.1.tgz#779887c792eaa1f64a46a22c8f1051cdcd96755f"
dependencies:
JSONStream "^1.0.3"
combine-source-map "~0.7.1"
defined "^1.0.0"
through2 "^2.0.0"
umd "^3.0.0"
browser-resolve@^1.11.0, browser-resolve@^1.7.0:
version "1.11.2"
resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
dependencies:
resolve "1.1.7"
browser-stdout@1.3.0: browser-stdout@1.3.0:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f"
@ -1419,14 +1428,6 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4:
evp_bytestokey "^1.0.0" evp_bytestokey "^1.0.0"
inherits "^2.0.1" inherits "^2.0.1"
browserify-cache-api@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/browserify-cache-api/-/browserify-cache-api-3.0.1.tgz#96247e853f068fd6e0d45cc73f0bb2cd9778ef02"
dependencies:
async "^1.5.2"
through2 "^2.0.0"
xtend "^4.0.0"
browserify-cipher@^1.0.0: browserify-cipher@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
@ -1443,15 +1444,6 @@ browserify-des@^1.0.0:
des.js "^1.0.0" des.js "^1.0.0"
inherits "^2.0.1" inherits "^2.0.1"
browserify-incremental@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/browserify-incremental/-/browserify-incremental-3.1.1.tgz#0713cb7587247a632a9f08cf1bd169b878b62a8a"
dependencies:
JSONStream "^0.10.0"
browserify-cache-api "^3.0.0"
through2 "^2.0.0"
xtend "^4.0.0"
browserify-rsa@^4.0.0: browserify-rsa@^4.0.0:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
@ -1471,69 +1463,18 @@ browserify-sign@^4.0.0:
inherits "^2.0.1" inherits "^2.0.1"
parse-asn1 "^5.0.0" parse-asn1 "^5.0.0"
browserify-zlib@^0.1.4, browserify-zlib@~0.1.2: browserify-zlib@^0.1.4:
version "0.1.4" version "0.1.4"
resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
dependencies: dependencies:
pako "~0.2.0" pako "~0.2.0"
browserify@^14.1.0: browserslist@^1.4.0, browserslist@^1.7.6:
version "14.1.0" version "1.7.7"
resolved "https://registry.yarnpkg.com/browserify/-/browserify-14.1.0.tgz#0508cc1e7bf4c152312c2fa523e676c0b0b92311" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
dependencies: dependencies:
JSONStream "^1.0.3" caniuse-db "^1.0.30000639"
assert "^1.4.0" electron-to-chromium "^1.2.7"
browser-pack "^6.0.1"
browser-resolve "^1.11.0"
browserify-zlib "~0.1.2"
buffer "^5.0.2"
cached-path-relative "^1.0.0"
concat-stream "~1.5.1"
console-browserify "^1.1.0"
constants-browserify "~1.0.0"
crypto-browserify "^3.0.0"
defined "^1.0.0"
deps-sort "^2.0.0"
domain-browser "~1.1.0"
duplexer2 "~0.1.2"
events "~1.1.0"
glob "^7.1.0"
has "^1.0.0"
htmlescape "^1.1.0"
https-browserify "~0.0.0"
inherits "~2.0.1"
insert-module-globals "^7.0.0"
labeled-stream-splicer "^2.0.0"
module-deps "^4.0.8"
os-browserify "~0.1.1"
parents "^1.0.1"
path-browserify "~0.0.0"
process "~0.11.0"
punycode "^1.3.2"
querystring-es3 "~0.2.0"
read-only-stream "^2.0.0"
readable-stream "^2.0.2"
resolve "^1.1.4"
shasum "^1.0.0"
shell-quote "^1.6.1"
stream-browserify "^2.0.0"
stream-http "^2.0.0"
string_decoder "~0.10.0"
subarg "^1.0.0"
syntax-error "^1.1.1"
through2 "^2.0.0"
timers-browserify "^1.0.1"
tty-browserify "~0.0.0"
url "~0.11.0"
util "~0.10.1"
vm-browserify "~0.0.1"
xtend "^4.0.0"
browserslist@^1.4.0, browserslist@~1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.4.0.tgz#9cfdcf5384d9158f5b70da2aa00b30e8ff019049"
dependencies:
caniuse-db "^1.0.30000539"
buffer-shims@^1.0.0: buffer-shims@^1.0.0:
version "1.0.0" version "1.0.0"
@ -1555,13 +1496,6 @@ buffer@^4.3.0, buffer@^4.9.0:
ieee754 "^1.1.4" ieee754 "^1.1.4"
isarray "^1.0.0" isarray "^1.0.0"
buffer@^5.0.2:
version "5.0.5"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.5.tgz#35c9393244a90aff83581063d16f0882cecc9418"
dependencies:
base64-js "^1.0.2"
ieee754 "^1.1.4"
bufferutil@^2.0.1: bufferutil@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-2.0.1.tgz#8de37f5a300730c305fc3edd9f93348ee8a46288" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-2.0.1.tgz#8de37f5a300730c305fc3edd9f93348ee8a46288"
@ -1578,9 +1512,9 @@ builtin-status-codes@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-2.0.0.tgz#6f22003baacf003ccd287afe6872151fddc58579" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-2.0.0.tgz#6f22003baacf003ccd287afe6872151fddc58579"
cached-path-relative@^1.0.0: bytes@2.3.0:
version "1.0.1" version "2.3.0"
resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070"
caller-path@^0.1.0: caller-path@^0.1.0:
version "0.1.0" version "0.1.0"
@ -1611,9 +1545,9 @@ camelcase@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
caniuse-db@^1.0.30000539, caniuse-db@^1.0.30000540: caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
version "1.0.30000554" version "1.0.30000664"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000554.tgz#cd1dbe423d00b6203ba93f05973a476428dec919" resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000664.tgz#e16316e5fdabb9c7209b2bf0744ffc8a14201f22"
case-sensitive-paths-webpack-plugin@^1.1.2: case-sensitive-paths-webpack-plugin@^1.1.2:
version "1.1.4" version "1.1.4"
@ -1676,7 +1610,7 @@ cheerio@^0.22.0:
lodash.reject "^4.4.0" lodash.reject "^4.4.0"
lodash.some "^4.4.0" lodash.some "^4.4.0"
chokidar@^1.0.0, chokidar@^1.4.3, chokidar@^1.6.1: chokidar@^1.0.0, chokidar@^1.4.3, chokidar@^1.6.0, chokidar@^1.6.1:
version "1.6.1" version "1.6.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
dependencies: dependencies:
@ -1771,6 +1705,16 @@ code-point-at@^1.0.0:
dependencies: dependencies:
number-is-nan "^1.0.0" number-is-nan "^1.0.0"
coffee-loader@^0.7.3:
version "0.7.3"
resolved "https://registry.yarnpkg.com/coffee-loader/-/coffee-loader-0.7.3.tgz#fadbc6efd6fc7ecc88c5b3046a2c292066bcb54a"
dependencies:
loader-utils "^1.0.2"
coffee-script@^1.12.5:
version "1.12.5"
resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.5.tgz#809f4585419112bbfe46a073ad7543af18c27346"
collapse-white-space@^1.0.0: collapse-white-space@^1.0.0:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.2.tgz#9c463fb9c6d190d2dcae21a356a01bcae9eeef6d" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.2.tgz#9c463fb9c6d190d2dcae21a356a01bcae9eeef6d"
@ -1809,15 +1753,6 @@ colors@~1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
combine-source-map@~0.7.1:
version "0.7.2"
resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e"
dependencies:
convert-source-map "~1.1.0"
inline-source-map "~0.6.0"
lodash.memoize "~3.0.3"
source-map "~0.5.3"
combined-stream@^1.0.5, combined-stream@~1.0.5: combined-stream@^1.0.5, combined-stream@~1.0.5:
version "1.0.5" version "1.0.5"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
@ -1840,11 +1775,41 @@ commondir@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
complex.js@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/complex.js/-/complex.js-2.0.1.tgz#ea90c7a05aeceaf3a376d2c0f6a78421727d6879"
compressible@~2.0.8:
version "2.0.10"
resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd"
dependencies:
mime-db ">= 1.27.0 < 2"
compression-webpack-plugin@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-0.4.0.tgz#811de04215f811ea6a12d4d8aed8457d758f13ac"
dependencies:
async "0.2.x"
webpack-sources "^0.1.0"
optionalDependencies:
node-zopfli "^2.0.0"
compression@^1.5.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3"
dependencies:
accepts "~1.3.3"
bytes "2.3.0"
compressible "~2.0.8"
debug "~2.2.0"
on-headers "~1.0.1"
vary "~1.1.0"
concat-map@0.0.1: concat-map@0.0.1:
version "0.0.1" version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
concat-stream@^1.4.7, concat-stream@^1.5.2, concat-stream@~1.5.0, concat-stream@~1.5.1: concat-stream@^1.4.7, concat-stream@^1.5.2:
version "1.5.2" version "1.5.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
dependencies: dependencies:
@ -1866,6 +1831,10 @@ configstore@^2.0.0:
write-file-atomic "^1.1.2" write-file-atomic "^1.1.2"
xdg-basedir "^2.0.0" xdg-basedir "^2.0.0"
connect-history-api-fallback@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169"
console-browserify@^1.1.0: console-browserify@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
@ -1876,7 +1845,7 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
constants-browserify@^1.0.0, constants-browserify@~1.0.0: constants-browserify@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
@ -1896,10 +1865,6 @@ convert-source-map@^1.1.0:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67"
convert-source-map@~1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860"
cookie-signature@1.0.6: cookie-signature@1.0.6:
version "1.0.6" version "1.0.6"
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
@ -1983,7 +1948,7 @@ crypto-browserify@3.3.0:
ripemd160 "0.2.0" ripemd160 "0.2.0"
sha.js "2.2.6" sha.js "2.2.6"
crypto-browserify@^3.0.0, crypto-browserify@^3.11.0: crypto-browserify@^3.11.0:
version "3.11.0" version "3.11.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
dependencies: dependencies:
@ -1998,11 +1963,20 @@ crypto-browserify@^3.0.0, crypto-browserify@^3.11.0:
public-encrypt "^4.0.0" public-encrypt "^4.0.0"
randombytes "^2.0.0" randombytes "^2.0.0"
css-color-function@^1.2.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/css-color-function/-/css-color-function-1.3.0.tgz#72c767baf978f01b8a8a94f42f17ba5d22a776fc"
dependencies:
balanced-match "0.1.0"
color "^0.11.0"
debug "~0.7.4"
rgb "~0.1.0"
css-color-names@0.0.4: css-color-names@0.0.4:
version "0.0.4" version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
css-loader@^0.26.1, css-loader@^0.26.2: css-loader@^0.26.1:
version "0.26.2" version "0.26.2"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.26.2.tgz#a9cd4c2b1a559b45d8efc04fc311ab5d2aaccb9d" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.26.2.tgz#a9cd4c2b1a559b45d8efc04fc311ab5d2aaccb9d"
dependencies: dependencies:
@ -2019,6 +1993,23 @@ css-loader@^0.26.1, css-loader@^0.26.2:
postcss-modules-values "^1.1.0" postcss-modules-values "^1.1.0"
source-list-map "^0.1.7" source-list-map "^0.1.7"
css-loader@^0.28.0:
version "0.28.0"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.0.tgz#417cfa9789f8cde59a30ccbf3e4da7a806889bad"
dependencies:
babel-code-frame "^6.11.0"
css-selector-tokenizer "^0.7.0"
cssnano ">=2.6.1 <4"
loader-utils "^1.0.2"
lodash.camelcase "^4.3.0"
object-assign "^4.0.1"
postcss "^5.0.6"
postcss-modules-extract-imports "^1.0.0"
postcss-modules-local-by-default "^1.0.1"
postcss-modules-scope "^1.0.0"
postcss-modules-values "^1.1.0"
source-list-map "^0.1.7"
css-select@~1.2.0: css-select@~1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
@ -2138,10 +2129,18 @@ debug@2.2.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0:
dependencies: dependencies:
ms "0.7.1" ms "0.7.1"
debug@~0.7.4:
version "0.7.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
decimal.js@7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-7.1.1.tgz#1adcad7d70d7a91c426d756f1eb6566c3be6cbcf"
deep-eql@^0.1.3: deep-eql@^0.1.3:
version "0.1.3" version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
@ -2160,6 +2159,12 @@ deep-is@~0.1.3:
version "0.1.3" version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
defaults@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
dependencies:
clone "^1.0.2"
define-properties@^1.1.1, define-properties@^1.1.2: define-properties@^1.1.1, define-properties@^1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
@ -2195,15 +2200,6 @@ depd@~1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
deps-sort@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5"
dependencies:
JSONStream "^1.0.3"
shasum "^1.0.0"
subarg "^1.0.0"
through2 "^2.0.0"
des.js@^1.0.0: des.js@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
@ -2221,13 +2217,6 @@ detect-indent@^4.0.0:
dependencies: dependencies:
repeating "^2.0.0" repeating "^2.0.0"
detective@^4.0.0:
version "4.3.1"
resolved "https://registry.yarnpkg.com/detective/-/detective-4.3.1.tgz#9fb06dd1ee8f0ea4dbcc607cda39d9ce1d4f726f"
dependencies:
acorn "^1.0.3"
defined "^1.0.0"
diff@1.4.0: diff@1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf"
@ -2265,7 +2254,7 @@ dom-serializer@0, dom-serializer@~0.1.0:
domelementtype "~1.1.1" domelementtype "~1.1.1"
entities "~1.1.1" entities "~1.1.1"
domain-browser@^1.1.1, domain-browser@~1.1.0: domain-browser@^1.1.1:
version "1.1.7" version "1.1.7"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
@ -2304,12 +2293,6 @@ double-ended-queue@^2.1.0-0:
version "2.1.0-0" version "2.1.0-0"
resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
dependencies:
readable-stream "^2.0.2"
ecc-jsbn@~0.1.1: ecc-jsbn@~0.1.1:
version "0.1.1" version "0.1.1"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
@ -2324,6 +2307,10 @@ ee-first@1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
electron-to-chromium@^1.2.7:
version "1.3.8"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.8.tgz#b2c8a2c79bb89fbbfd3724d9555e15095b5f5fb6"
element-class@^0.2.0: element-class@^0.2.0:
version "0.2.2" version "0.2.2"
resolved "https://registry.yarnpkg.com/element-class/-/element-class-0.2.2.tgz#9d3bbd0767f9013ef8e1c8ebe722c1402a60050e" resolved "https://registry.yarnpkg.com/element-class/-/element-class-0.2.2.tgz#9d3bbd0767f9013ef8e1c8ebe722c1402a60050e"
@ -2604,7 +2591,7 @@ esprima@^2.6.0, esprima@^2.7.1:
version "2.7.3" version "2.7.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
esprima@~3.1.0: esprima@^3.1.1, esprima@~3.1.0:
version "3.1.3" version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
@ -2648,10 +2635,20 @@ event-emitter@~0.3.5:
d "1" d "1"
es5-ext "~0.10.14" es5-ext "~0.10.14"
events@^1.0.0, events@^1.1.1, events@~1.1.0: eventemitter3@1.x.x:
version "1.2.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
events@^1.0.0, events@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
eventsource@0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232"
dependencies:
original ">=0.0.5"
eventsource@^0.2.1: eventsource@^0.2.1:
version "0.2.1" version "0.2.1"
resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.2.1.tgz#662bf85f376e73b5c34c2ee17db566b8419a6232" resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.2.1.tgz#662bf85f376e73b5c34c2ee17db566b8419a6232"
@ -2729,6 +2726,15 @@ extglob@^0.3.1:
dependencies: dependencies:
is-extglob "^1.0.0" is-extglob "^1.0.0"
extract-text-webpack-plugin@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159"
dependencies:
ajv "^4.11.2"
async "^2.1.2"
loader-utils "^1.0.2"
webpack-sources "^0.1.0"
extsprintf@1.0.2: extsprintf@1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
@ -2741,6 +2747,18 @@ fastparse@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
faye-websocket@^0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
dependencies:
websocket-driver ">=0.5.1"
faye-websocket@~0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
dependencies:
websocket-driver ">=0.5.1"
fbjs@^0.8.4, fbjs@^0.8.9: fbjs@^0.8.4, fbjs@^0.8.9:
version "0.8.12" version "0.8.12"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
@ -2767,6 +2785,12 @@ file-entry-cache@^2.0.0:
flat-cache "^1.2.1" flat-cache "^1.2.1"
object-assign "^4.0.1" object-assign "^4.0.1"
file-loader@^0.11.1:
version "0.11.1"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.1.tgz#6b328ee1234a729e4e47d36375dd6d35c0e1db84"
dependencies:
loader-utils "^1.0.2"
file-loader@^0.9.0: file-loader@^0.9.0:
version "0.9.0" version "0.9.0"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.9.0.tgz#1d2daddd424ce6d1b07cfe3f79731bed3617ab42" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.9.0.tgz#1d2daddd424ce6d1b07cfe3f79731bed3617ab42"
@ -2831,6 +2855,10 @@ follow-redirects@1.0.0:
dependencies: dependencies:
debug "^2.2.0" debug "^2.2.0"
font-awesome@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
for-in@^0.1.3, for-in@^0.1.5: for-in@^0.1.3, for-in@^0.1.5:
version "0.1.6" version "0.1.6"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8"
@ -2849,14 +2877,6 @@ forever-agent@~0.6.1:
version "0.6.1" version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
form-data@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25"
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.5"
mime-types "^2.1.11"
form-data@~2.1.1: form-data@~2.1.1:
version "2.1.2" version "2.1.2"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
@ -2875,10 +2895,39 @@ forwarded@~0.1.0:
version "0.1.0" version "0.1.0"
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363"
fraction.js@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.0.0.tgz#73974e2f8b51ef709536d624cc90782e2bb61274"
fresh@0.3.0: fresh@0.3.0:
version "0.3.0" version "0.3.0"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
fs-extra@^0.24.0:
version "0.24.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.24.0.tgz#d4e4342a96675cb7846633a6099249332b539952"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
fs-extra@^0.30.0:
version "0.30.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
klaw "^1.0.0"
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
fs-promise@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/fs-promise/-/fs-promise-0.3.1.tgz#bf34050368f24d6dc9dfc6688ab5cead8f86842a"
dependencies:
any-promise "~0.1.0"
fs-readdir-recursive@^1.0.0: fs-readdir-recursive@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560"
@ -2996,7 +3045,7 @@ glob-parent@^2.0.0:
dependencies: dependencies:
is-glob "^2.0.0" is-glob "^2.0.0"
glob@7.0.5, glob@^7.0.0: glob@7.0.5:
version "7.0.5" version "7.0.5"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95"
dependencies: dependencies:
@ -3007,7 +3056,17 @@ glob@7.0.5, glob@^7.0.0:
once "^1.3.0" once "^1.3.0"
path-is-absolute "^1.0.0" path-is-absolute "^1.0.0"
glob@^7.0.3, glob@^7.0.5, glob@^7.1.0, glob@~7.1.1: glob@^5.0.3:
version "5.0.15"
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
dependencies:
inflight "^1.0.4"
inherits "2"
minimatch "2 || 3"
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1:
version "7.1.1" version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
dependencies: dependencies:
@ -3022,6 +3081,17 @@ globals@^9.0.0, globals@^9.14.0:
version "9.14.0" version "9.14.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
globby@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/globby/-/globby-3.0.1.tgz#2094af8421e19152150d5893eb6416b312d9a22f"
dependencies:
array-union "^1.0.1"
arrify "^1.0.0"
glob "^5.0.3"
object-assign "^4.0.1"
pify "^2.0.0"
pinkie-promise "^1.0.0"
globby@^5.0.0: globby@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
@ -3041,7 +3111,13 @@ globule@^1.0.0:
lodash "~4.16.4" lodash "~4.16.4"
minimatch "~3.0.2" minimatch "~3.0.2"
graceful-fs@^4.1.2, graceful-fs@^4.1.4: gonzales-pe@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.0.3.tgz#36148e18e267184fbfdc929af28f29ad9fbf9746"
dependencies:
minimist "1.1.x"
graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
version "4.1.9" version "4.1.9"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29"
@ -3053,6 +3129,10 @@ growl@1.9.2:
version "1.9.2" version "1.9.2"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f"
handle-thing@^1.2.4:
version "1.2.5"
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"
har-validator@~2.0.6: har-validator@~2.0.6:
version "2.0.6" version "2.0.6"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
@ -3076,7 +3156,7 @@ has-unicode@^2.0.0:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
has@^1.0.0, has@^1.0.1: has@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
dependencies: dependencies:
@ -3125,6 +3205,15 @@ hosted-git-info@^2.1.4:
version "2.1.5" version "2.1.5"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b"
hpack.js@^2.1.6:
version "2.1.6"
resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
dependencies:
inherits "^2.0.1"
obuf "^1.0.0"
readable-stream "^2.0.1"
wbuf "^1.1.0"
html-comment-regex@^1.1.0: html-comment-regex@^1.1.0:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
@ -3145,10 +3234,6 @@ html@^1.0.0:
dependencies: dependencies:
concat-stream "^1.4.7" concat-stream "^1.4.7"
htmlescape@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351"
htmlparser2@^3.9.1: htmlparser2@^3.9.1:
version "3.9.2" version "3.9.2"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
@ -3160,7 +3245,11 @@ htmlparser2@^3.9.1:
inherits "^2.0.1" inherits "^2.0.1"
readable-stream "^2.0.2" readable-stream "^2.0.2"
http-errors@~1.5.1: http-deceiver@^1.2.4:
version "1.2.7"
resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
http-errors@~1.5.0, http-errors@~1.5.1:
version "1.5.1" version "1.5.1"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
dependencies: dependencies:
@ -3172,6 +3261,22 @@ http-link-header@^0.8.0:
version "0.8.0" version "0.8.0"
resolved "https://registry.yarnpkg.com/http-link-header/-/http-link-header-0.8.0.tgz#a22b41a0c9b1e2d8fac1bf1b697c6bd532d5f5e4" resolved "https://registry.yarnpkg.com/http-link-header/-/http-link-header-0.8.0.tgz#a22b41a0c9b1e2d8fac1bf1b697c6bd532d5f5e4"
http-proxy-middleware@~0.17.4:
version "0.17.4"
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833"
dependencies:
http-proxy "^1.16.2"
is-glob "^3.1.0"
lodash "^4.17.2"
micromatch "^2.3.11"
http-proxy@^1.16.2:
version "1.16.2"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
dependencies:
eventemitter3 "1.x.x"
requires-port "1.x.x"
http-signature@~1.1.0: http-signature@~1.1.0:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
@ -3180,7 +3285,7 @@ http-signature@~1.1.0:
jsprim "^1.2.2" jsprim "^1.2.2"
sshpk "^1.7.0" sshpk "^1.7.0"
https-browserify@0.0.1, https-browserify@~0.0.0: https-browserify@0.0.1:
version "0.0.1" version "0.0.1"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
@ -3245,12 +3350,6 @@ ini@~1.3.0:
version "1.3.4" version "1.3.4"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
inline-source-map@~0.6.0:
version "0.6.2"
resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5"
dependencies:
source-map "~0.5.3"
inquirer@^0.12.0: inquirer@^0.12.0:
version "0.12.0" version "0.12.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
@ -3269,19 +3368,6 @@ inquirer@^0.12.0:
strip-ansi "^3.0.0" strip-ansi "^3.0.0"
through "^2.3.6" through "^2.3.6"
insert-module-globals@^7.0.0:
version "7.0.1"
resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.1.tgz#c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3"
dependencies:
JSONStream "^1.0.3"
combine-source-map "~0.7.1"
concat-stream "~1.5.1"
is-buffer "^1.1.0"
lexical-scope "^1.2.0"
process "~0.11.0"
through2 "^2.0.0"
xtend "^4.0.0"
interpret@^0.6.4: interpret@^0.6.4:
version "0.6.6" version "0.6.6"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b"
@ -3298,7 +3384,7 @@ intl-format-cache@^2.0.5:
version "2.0.5" version "2.0.5"
resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-2.0.5.tgz#b484cefcb9353f374f25de389a3ceea1af18d7c9" resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-2.0.5.tgz#b484cefcb9353f374f25de389a3ceea1af18d7c9"
intl-messageformat-parser@1.2.0: intl-messageformat-parser@1.2.0, intl-messageformat-parser@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.2.0.tgz#5906b7f953ab7470e0dc8549097b648b991892ff" resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.2.0.tgz#5906b7f953ab7470e0dc8549097b648b991892ff"
@ -3314,7 +3400,7 @@ intl-relativeformat@^1.3.0:
dependencies: dependencies:
intl-messageformat "1.3.0" intl-messageformat "1.3.0"
invariant@2.x.x, invariant@^2.0.0, invariant@^2.1.1, invariant@^2.2.0, invariant@^2.2.1: invariant@2.x.x, invariant@^2.0.0, invariant@^2.1.1, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2:
version "2.2.2" version "2.2.2"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
dependencies: dependencies:
@ -3342,7 +3428,7 @@ is-binary-path@^1.0.0:
dependencies: dependencies:
binary-extensions "^1.0.0" binary-extensions "^1.0.0"
is-buffer@^1.0.2, is-buffer@^1.1.0: is-buffer@^1.0.2:
version "1.1.4" version "1.1.4"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b"
@ -3382,6 +3468,10 @@ is-extglob@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
is-extglob@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
is-finite@^1.0.0: is-finite@^1.0.0:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
@ -3404,6 +3494,12 @@ is-glob@^2.0.0, is-glob@^2.0.1:
dependencies: dependencies:
is-extglob "^1.0.0" is-extglob "^1.0.0"
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
dependencies:
is-extglob "^2.1.0"
is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
version "2.15.0" version "2.15.0"
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
@ -3505,10 +3601,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
isarray@~0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
isexe@^1.1.1: isexe@^1.1.1:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0"
@ -3540,6 +3632,16 @@ jodid25519@^1.0.0:
dependencies: dependencies:
jsbn "~0.1.0" jsbn "~0.1.0"
jquery-ujs@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/jquery-ujs/-/jquery-ujs-1.2.2.tgz#6a8ef1020e6b6dda385b90a4bddc128c21c56397"
dependencies:
jquery ">=1.8.0"
jquery@>=1.8.0:
version "3.2.1"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787"
js-base64@^2.1.9: js-base64@^2.1.9:
version "2.1.9" version "2.1.9"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
@ -3548,15 +3650,18 @@ js-tokens@^1.0.1:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-1.0.3.tgz#14e56eb68c8f1a92c43d59f5014ec29dc20f2ae1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-1.0.3.tgz#14e56eb68c8f1a92c43d59f5014ec29dc20f2ae1"
js-tokens@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5"
js-tokens@^3.0.0: js-tokens@^3.0.0:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@~3.6.1: js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.8.3:
version "3.8.3"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766"
dependencies:
argparse "^1.0.7"
esprima "^3.1.1"
js-yaml@~3.6.1:
version "3.6.1" version "3.6.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30"
dependencies: dependencies:
@ -3613,17 +3718,11 @@ json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
dependencies: dependencies:
jsonify "~0.0.0" jsonify "~0.0.0"
json-stable-stringify@~0.0.0:
version "0.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45"
dependencies:
jsonify "~0.0.0"
json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
version "5.0.1" version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
json3@3.3.2: json3@3.3.2, json3@^3.3.2:
version "3.3.2" version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
@ -3631,18 +3730,20 @@ json5@^0.5.0:
version "0.5.0" version "0.5.0"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2"
json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
jsonfile@^2.1.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
optionalDependencies:
graceful-fs "^4.1.6"
jsonify@~0.0.0: jsonify@~0.0.0:
version "0.0.0" version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
jsonparse@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-0.0.5.tgz#330542ad3f0a654665b778f3eb2d9a9fa507ac64"
jsonparse@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.2.0.tgz#5c0c5685107160e72fe7489bddea0b44c2bc67bd"
jsonpointer@^4.0.0: jsonpointer@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5"
@ -3677,13 +3778,11 @@ kind-of@^3.0.2:
dependencies: dependencies:
is-buffer "^1.0.2" is-buffer "^1.0.2"
labeled-stream-splicer@^2.0.0: klaw@^1.0.0:
version "2.0.0" version "1.3.1"
resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
dependencies: optionalDependencies:
inherits "^2.0.1" graceful-fs "^4.1.9"
isarray "~0.0.1"
stream-splicer "^2.0.0"
lazy-cache@^0.2.3: lazy-cache@^0.2.3:
version "0.2.7" version "0.2.7"
@ -3706,12 +3805,6 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2" prelude-ls "~1.1.2"
type-check "~0.3.2" type-check "~0.3.2"
lexical-scope@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4"
dependencies:
astw "^2.0.0"
load-json-file@^1.0.0: load-json-file@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
@ -3735,7 +3828,15 @@ loader-utils@0.2.x, loader-utils@^0.2.11, loader-utils@^0.2.16, loader-utils@^0.
json5 "^0.5.0" json5 "^0.5.0"
object-assign "^4.0.1" object-assign "^4.0.1"
loader-utils@^1.0.1, loader-utils@^1.0.2: loader-utils@^1.0.1, loader-utils@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
json5 "^0.5.0"
loader-utils@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.0.2.tgz#a9f923c865a974623391a8602d031137fad74830" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.0.2.tgz#a9f923c865a974623391a8602d031137fad74830"
dependencies: dependencies:
@ -3818,7 +3919,7 @@ lodash.create@3.1.1:
lodash._basecreate "^3.0.0" lodash._basecreate "^3.0.0"
lodash._isiterateecall "^3.0.0" lodash._isiterateecall "^3.0.0"
lodash.defaults@^4.0.1: lodash.defaults@^4.0.1, lodash.defaults@^4.2.0:
version "4.2.0" version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
@ -3858,10 +3959,6 @@ lodash.map@^4.4.0:
version "4.6.0" version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
lodash.memoize@~3.0.3:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f"
lodash.merge@^4.4.0: lodash.merge@^4.4.0:
version "4.6.0" version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
@ -3898,7 +3995,7 @@ lodash.tail@^4.1.1:
version "4.1.1" version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
lodash@4.x.x, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0: lodash@4.x.x, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0:
version "4.17.4" version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
@ -3914,18 +4011,18 @@ longest@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
loose-envify@^1.0.0, loose-envify@^1.3.0: loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
js-tokens "^3.0.0"
loose-envify@^1.1.0, loose-envify@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.2.0.tgz#69a65aad3de542cf4ee0f4fe74e8e33c709ccb0f" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.2.0.tgz#69a65aad3de542cf4ee0f4fe74e8e33c709ccb0f"
dependencies: dependencies:
js-tokens "^1.0.1" js-tokens "^1.0.1"
loose-envify@^1.3.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
js-tokens "^3.0.0"
loud-rejection@^1.0.0: loud-rejection@^1.0.0:
version "1.6.0" version "1.6.0"
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
@ -3962,6 +4059,17 @@ math-expression-evaluator@^1.2.14:
dependencies: dependencies:
lodash.indexof "^4.0.5" lodash.indexof "^4.0.5"
mathjs@^3.11.5:
version "3.12.1"
resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-3.12.1.tgz#a165abdbc6b55da1ec600b85311e2962850551b5"
dependencies:
complex.js "2.0.1"
decimal.js "7.1.1"
fraction.js "4.0.0"
seed-random "2.2.0"
tiny-emitter "1.0.2"
typed-function "0.10.5"
media-typer@0.3.0: media-typer@0.3.0:
version "0.3.0" version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@ -4007,7 +4115,7 @@ methods@~1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
micromatch@^2.1.5: micromatch@^2.1.5, micromatch@^2.3.11:
version "2.3.11" version "2.3.11"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
dependencies: dependencies:
@ -4032,11 +4140,15 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0" bn.js "^4.0.0"
brorand "^1.0.1" brorand "^1.0.1"
"mime-db@>= 1.27.0 < 2":
version "1.27.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
mime-db@~1.26.0: mime-db@~1.26.0:
version "1.26.0" version "1.26.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7: mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7:
version "2.1.14" version "2.1.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"
dependencies: dependencies:
@ -4054,7 +4166,7 @@ minimalistic-assert@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2: "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2:
version "3.0.3" version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
dependencies: dependencies:
@ -4064,7 +4176,11 @@ minimist@0.0.8, minimist@~0.0.1:
version "0.0.8" version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: minimist@1.1.x:
version "1.1.3"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8"
minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@ -4075,7 +4191,7 @@ mixin-object@^2.0.1:
for-in "^0.1.3" for-in "^0.1.3"
is-extendable "^0.1.1" is-extendable "^0.1.1"
mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1" version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies: dependencies:
@ -4101,26 +4217,6 @@ mocha@^3.2.0:
mkdirp "0.5.1" mkdirp "0.5.1"
supports-color "3.1.2" supports-color "3.1.2"
module-deps@^4.0.8:
version "4.1.1"
resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.1.1.tgz#23215833f1da13fd606ccb8087b44852dcb821fd"
dependencies:
JSONStream "^1.0.3"
browser-resolve "^1.7.0"
cached-path-relative "^1.0.0"
concat-stream "~1.5.0"
defined "^1.0.0"
detective "^4.0.0"
duplexer2 "^0.1.2"
inherits "^2.0.1"
parents "^1.0.0"
readable-stream "^2.0.2"
resolve "^1.1.3"
stream-combiner2 "^1.1.1"
subarg "^1.0.0"
through2 "^2.0.0"
xtend "^4.0.0"
ms@0.7.1: ms@0.7.1:
version "0.7.1" version "0.7.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
@ -4133,7 +4229,7 @@ mute-stream@0.0.5:
version "0.0.5" version "0.0.5"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
nan@^2.3.0, nan@^2.3.2, nan@~2.5.0: nan@^2.0.0, nan@^2.3.0, nan@^2.3.2, nan@~2.5.0:
version "2.5.1" version "2.5.1"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
@ -4236,7 +4332,7 @@ node-libs-browser@^2.0.0:
util "^0.10.3" util "^0.10.3"
vm-browserify "0.0.4" vm-browserify "0.0.4"
node-pre-gyp@^0.6.29: node-pre-gyp@^0.6.29, node-pre-gyp@^0.6.4:
version "0.6.30" version "0.6.30"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.30.tgz#64d3073a6f573003717ccfe30c89023297babba1" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.30.tgz#64d3073a6f573003717ccfe30c89023297babba1"
dependencies: dependencies:
@ -4273,9 +4369,14 @@ node-sass@^4.5.2:
sass-graph "^2.1.1" sass-graph "^2.1.1"
stdout-stream "^1.4.0" stdout-stream "^1.4.0"
node-uuid@~1.4.7: node-zopfli@^2.0.0:
version "1.4.7" version "2.0.2"
resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" resolved "https://registry.yarnpkg.com/node-zopfli/-/node-zopfli-2.0.2.tgz#a7a473ae92aaea85d4c68d45bbf2c944c46116b8"
dependencies:
commander "^2.8.1"
defaults "^1.0.2"
nan "^2.0.0"
node-pre-gyp "^0.6.4"
noop-logger@^0.1.1: noop-logger@^0.1.1:
version "0.1.1" version "0.1.1"
@ -4344,7 +4445,7 @@ oauth-sign@~0.8.1:
version "0.8.2" version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
object-assign@4.1.0, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: object-assign@4.1.0, object-assign@^4.0.1:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
@ -4352,7 +4453,7 @@ object-assign@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
object-assign@^4.1.1: object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1" version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@ -4404,12 +4505,20 @@ object.values@^1.0.3:
function-bind "^1.0.2" function-bind "^1.0.2"
has "^1.0.1" has "^1.0.1"
obuf@^1.0.0, obuf@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e"
on-finished@~2.3.0: on-finished@~2.3.0:
version "2.3.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
dependencies: dependencies:
ee-first "1.1.1" ee-first "1.1.1"
on-headers@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
once@^1.3.0, once@^1.3.1: once@^1.3.0, once@^1.3.1:
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@ -4426,6 +4535,13 @@ onetime@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
opn@4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
dependencies:
object-assign "^4.0.1"
pinkie-promise "^2.0.0"
optimist@~0.6.0: optimist@~0.6.0:
version "0.6.1" version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
@ -4444,7 +4560,7 @@ optionator@^0.8.1, optionator@^0.8.2:
type-check "~0.3.2" type-check "~0.3.2"
wordwrap "~1.0.0" wordwrap "~1.0.0"
original@^1.0.0: original@>=0.0.5, original@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b"
dependencies: dependencies:
@ -4454,10 +4570,6 @@ os-browserify@^0.2.0:
version "0.2.1" version "0.2.1"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
os-browserify@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54"
os-homedir@^1.0.0, os-homedir@^1.0.1: os-homedir@^1.0.0, os-homedir@^1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
@ -4495,12 +4607,6 @@ pako@~0.2.0:
version "0.2.9" version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
parents@^1.0.0, parents@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751"
dependencies:
path-platform "~0.11.15"
parse-asn1@^5.0.0: parse-asn1@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.0.0.tgz#35060f6d5015d37628c770f4e091a0b5a278bc23" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.0.0.tgz#35060f6d5015d37628c770f4e091a0b5a278bc23"
@ -4534,10 +4640,14 @@ parseurl@~1.3.0, parseurl@~1.3.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
path-browserify@0.0.0, path-browserify@~0.0.0: path-browserify@0.0.0:
version "0.0.0" version "0.0.0"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
path-complete-extname@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/path-complete-extname/-/path-complete-extname-0.1.0.tgz#c454702669f31452f8193aa6168915fa31692f4a"
path-exists@^2.0.0: path-exists@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
@ -4552,9 +4662,9 @@ path-is-inside@^1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
path-platform@~0.11.15: path-parse@^1.0.5:
version "0.11.15" version "1.0.5"
resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
path-to-regexp@0.1.7: path-to-regexp@0.1.7:
version "0.1.7" version "0.1.7"
@ -4625,12 +4735,22 @@ pify@^2.0.0, pify@^2.3.0:
version "2.3.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
pinkie-promise@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670"
dependencies:
pinkie "^1.0.0"
pinkie-promise@^2.0.0: pinkie-promise@^2.0.0:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
dependencies: dependencies:
pinkie "^2.0.0" pinkie "^2.0.0"
pinkie@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4"
pinkie@^2.0.0: pinkie@^2.0.0:
version "2.0.4" version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
@ -4652,6 +4772,26 @@ podda@^1.2.1:
babel-runtime "^6.11.6" babel-runtime "^6.11.6"
immutable "^3.8.1" immutable "^3.8.1"
portfinder@^1.0.9:
version "1.0.13"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
dependencies:
async "^1.5.2"
debug "^2.2.0"
mkdirp "0.5.x"
postcss-advanced-variables@1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/postcss-advanced-variables/-/postcss-advanced-variables-1.2.2.tgz#90a6213262e66a050a368b4a9c5d4778d72dbd74"
dependencies:
postcss "^5.0.10"
postcss-atroot@^0.1.2:
version "0.1.3"
resolved "https://registry.yarnpkg.com/postcss-atroot/-/postcss-atroot-0.1.3.tgz#6752c0230c745140549345b2b0e30ebeda01a405"
dependencies:
postcss "^5.0.5"
postcss-calc@^5.2.0: postcss-calc@^5.2.0:
version "5.3.1" version "5.3.1"
resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
@ -4660,6 +4800,15 @@ postcss-calc@^5.2.0:
postcss-message-helpers "^2.0.0" postcss-message-helpers "^2.0.0"
reduce-css-calc "^1.2.6" reduce-css-calc "^1.2.6"
postcss-color-function@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/postcss-color-function/-/postcss-color-function-2.0.1.tgz#9ad226f550e8a7c7f8b8a77860545b6dd7f55241"
dependencies:
css-color-function "^1.2.0"
postcss "^5.0.4"
postcss-message-helpers "^2.0.0"
postcss-value-parser "^3.3.0"
postcss-colormin@^2.1.8: postcss-colormin@^2.1.8:
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.1.tgz#dc5421b6ae6f779ef6bfd47352b94abe59d0316b" resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.1.tgz#dc5421b6ae6f779ef6bfd47352b94abe59d0316b"
@ -4675,6 +4824,27 @@ postcss-convert-values@^2.3.4:
postcss "^5.0.11" postcss "^5.0.11"
postcss-value-parser "^3.1.2" postcss-value-parser "^3.1.2"
postcss-custom-media@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-5.0.1.tgz#138d25a184bf2eb54de12d55a6c01c30a9d8bd81"
dependencies:
postcss "^5.0.0"
postcss-custom-properties@^5.0.0:
version "5.0.2"
resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-5.0.2.tgz#9719d78f2da9cf9f53810aebc23d4656130aceb1"
dependencies:
balanced-match "^0.4.2"
postcss "^5.0.0"
postcss-custom-selectors@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-3.0.0.tgz#8f81249f5ed07a8d0917cf6a39fe5b056b7f96ac"
dependencies:
balanced-match "^0.2.0"
postcss "^5.0.0"
postcss-selector-matches "^2.0.0"
postcss-discard-comments@^2.0.4: postcss-discard-comments@^2.0.4:
version "2.0.4" version "2.0.4"
resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
@ -4707,6 +4877,12 @@ postcss-discard-unused@^2.2.1:
postcss "^5.0.14" postcss "^5.0.14"
uniqs "^2.0.0" uniqs "^2.0.0"
postcss-extend@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/postcss-extend/-/postcss-extend-1.0.5.tgz#5ea98bf787ba3cacf4df4609743f80a833b1d0e7"
dependencies:
postcss "^5.0.4"
postcss-filter-plugins@^2.0.0: postcss-filter-plugins@^2.0.0:
version "2.0.2" version "2.0.2"
resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
@ -4714,7 +4890,7 @@ postcss-filter-plugins@^2.0.0:
postcss "^5.0.4" postcss "^5.0.4"
uniqid "^4.0.0" uniqid "^4.0.0"
postcss-load-config@^1.0.0: postcss-load-config@^1.0.0, postcss-load-config@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a"
dependencies: dependencies:
@ -4746,6 +4922,21 @@ postcss-loader@1.1.0:
postcss "^5.2.5" postcss "^5.2.5"
postcss-load-config "^1.0.0" postcss-load-config "^1.0.0"
postcss-loader@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-1.3.3.tgz#a621ea1fa29062a83972a46f54486771301916eb"
dependencies:
loader-utils "^1.0.2"
object-assign "^4.1.1"
postcss "^5.2.15"
postcss-load-config "^1.2.0"
postcss-media-minmax@^2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-2.1.2.tgz#444c5cf8926ab5e4fd8a2509e9297e751649cdf8"
dependencies:
postcss "^5.0.4"
postcss-merge-idents@^2.1.5: postcss-merge-idents@^2.1.5:
version "2.1.7" version "2.1.7"
resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
@ -4803,6 +4994,14 @@ postcss-minify-selectors@^2.0.4:
postcss "^5.0.14" postcss "^5.0.14"
postcss-selector-parser "^2.0.0" postcss-selector-parser "^2.0.0"
postcss-mixins@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/postcss-mixins/-/postcss-mixins-2.1.1.tgz#b141a0803efa8e2d744867f8d91596890cf9241b"
dependencies:
globby "^3.0.1"
postcss "^5.0.10"
postcss-simple-vars "^1.0.1"
postcss-modules-extract-imports@^1.0.0: postcss-modules-extract-imports@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.0.1.tgz#8fb3fef9a6dd0420d3f6d4353cf1ff73f2b2a341" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.0.1.tgz#8fb3fef9a6dd0420d3f6d4353cf1ff73f2b2a341"
@ -4830,6 +5029,18 @@ postcss-modules-values@^1.1.0:
icss-replace-symbols "^1.0.2" icss-replace-symbols "^1.0.2"
postcss "^5.0.14" postcss "^5.0.14"
postcss-nested@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-1.0.1.tgz#91f28f4e6e23d567241ac154558a0cfab4cc0d8f"
dependencies:
postcss "^5.2.17"
postcss-nesting@^2.0.6:
version "2.3.1"
resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-2.3.1.tgz#94a6b6a4ef707fbec20a87fee5c957759b4e01cf"
dependencies:
postcss "^5.0.19"
postcss-normalize-charset@^1.1.0: postcss-normalize-charset@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.0.tgz#2fbd30e12248c442981d31ea2484d46fd0628970" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.0.tgz#2fbd30e12248c442981d31ea2484d46fd0628970"
@ -4852,6 +5063,24 @@ postcss-ordered-values@^2.1.0:
postcss "^5.0.4" postcss "^5.0.4"
postcss-value-parser "^3.0.1" postcss-value-parser "^3.0.1"
postcss-partial-import@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/postcss-partial-import/-/postcss-partial-import-1.3.0.tgz#2f4b773a76c7b0a69b389dcf475c4d362d0d2576"
dependencies:
fs-extra "^0.24.0"
fs-promise "^0.3.1"
object-assign "^4.0.1"
postcss "^5.0.5"
string-hash "^1.1.0"
postcss-property-lookup@^1.1.3:
version "1.2.1"
resolved "https://registry.yarnpkg.com/postcss-property-lookup/-/postcss-property-lookup-1.2.1.tgz#30450a1361b7aae758bbedd5201fbe057bb8270b"
dependencies:
object-assign "^4.0.1"
postcss "^5.0.4"
tcomb "^2.5.1"
postcss-reduce-idents@^2.2.2: postcss-reduce-idents@^2.2.2:
version "2.3.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.3.0.tgz#a697b52953ed6825ffea404e26a4f105d8b8d569" resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.3.0.tgz#a697b52953ed6825ffea404e26a4f105d8b8d569"
@ -4872,6 +5101,34 @@ postcss-reduce-transforms@^1.0.3:
postcss "^5.0.8" postcss "^5.0.8"
postcss-value-parser "^3.0.1" postcss-value-parser "^3.0.1"
postcss-sass@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.1.0.tgz#0d2a655b5d241ec8f419bb3da38de5ca11746ddb"
dependencies:
gonzales-pe "^4.0.3"
mathjs "^3.11.5"
postcss "^5.2.6"
postcss-scss@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-0.4.1.tgz#ad771b81f0f72f5f4845d08aa60f93557653d54c"
dependencies:
postcss "^5.2.13"
postcss-selector-matches@^2.0.0:
version "2.0.5"
resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-2.0.5.tgz#fa0f43be57b68e77aa4cd11807023492a131027f"
dependencies:
balanced-match "^0.4.2"
postcss "^5.0.0"
postcss-selector-not@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-2.0.0.tgz#c73ad21a3f75234bee7fee269e154fd6a869798d"
dependencies:
balanced-match "^0.2.0"
postcss "^5.0.0"
postcss-selector-parser@^2.0.0: postcss-selector-parser@^2.0.0:
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.1.tgz#fdbf696103b12b0a64060e5610507f410491f7c8" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.1.tgz#fdbf696103b12b0a64060e5610507f410491f7c8"
@ -4880,6 +5137,28 @@ postcss-selector-parser@^2.0.0:
indexes-of "^1.0.1" indexes-of "^1.0.1"
uniq "^1.0.1" uniq "^1.0.1"
postcss-simple-vars@^1.0.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/postcss-simple-vars/-/postcss-simple-vars-1.2.0.tgz#2e6689921144b74114e765353275a3c32143f150"
dependencies:
postcss "^5.0.13"
postcss-smart-import@^0.6.12:
version "0.6.12"
resolved "https://registry.yarnpkg.com/postcss-smart-import/-/postcss-smart-import-0.6.12.tgz#6bd50846547383d15332206615265b87b4a6ae89"
dependencies:
babel-runtime "^6.23.0"
lodash "^4.17.4"
object-assign "^4.1.1"
postcss "^5.2.17"
postcss-sass "^0.1.0"
postcss-scss "^0.4.1"
postcss-value-parser "^3.3.0"
promise-each "^2.2.0"
read-cache "^1.0.0"
resolve "^1.3.3"
sugarss "^0.2.0"
postcss-svgo@^2.1.1: postcss-svgo@^2.1.1:
version "2.1.5" version "2.1.5"
resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.5.tgz#46fc0363f01bab6a36a9abb01c229fcc45363094" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.5.tgz#46fc0363f01bab6a36a9abb01c229fcc45363094"
@ -4897,7 +5176,7 @@ postcss-unique-selectors@^2.0.2:
postcss "^5.0.4" postcss "^5.0.4"
uniqs "^2.0.0" uniqs "^2.0.0"
postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.1.3, postcss-value-parser@^3.2.3: postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.1.3, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
version "3.3.0" version "3.3.0"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
@ -4908,24 +5187,15 @@ postcss-zindex@^2.0.1:
postcss "^5.0.4" postcss "^5.0.4"
uniqs "^2.0.0" uniqs "^2.0.0"
postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.5: postcss@^5.0.0, postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.19, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.13, postcss@^5.2.15, postcss@^5.2.16, postcss@^5.2.17, postcss@^5.2.4, postcss@^5.2.5, postcss@^5.2.6:
version "5.2.15" version "5.2.17"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.15.tgz#a9e8685e50e06cc5b3fdea5297273246c26f5b30" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b"
dependencies: dependencies:
chalk "^1.1.3" chalk "^1.1.3"
js-base64 "^2.1.9" js-base64 "^2.1.9"
source-map "^0.5.6" source-map "^0.5.6"
supports-color "^3.2.3" supports-color "^3.2.3"
postcss@^5.0.6, postcss@^5.2.2:
version "5.2.4"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.4.tgz#8eb4bee3e5c4e091585b116df32d8db24a535f21"
dependencies:
chalk "^1.1.3"
js-base64 "^2.1.9"
source-map "^0.5.6"
supports-color "^3.1.2"
postgres-array@~1.0.0: postgres-array@~1.0.0:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.2.tgz#8e0b32eb03bf77a5c0a7851e0441c169a256a238" resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.2.tgz#8e0b32eb03bf77a5c0a7851e0441c169a256a238"
@ -4966,6 +5236,27 @@ precond@0.2:
version "0.2.3" version "0.2.3"
resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac"
precss@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/precss/-/precss-1.4.0.tgz#8d7c3ae70f10a00a3955287f85a66e0f8b31cda3"
dependencies:
postcss "^5.0.10"
postcss-advanced-variables "1.2.2"
postcss-atroot "^0.1.2"
postcss-color-function "^2.0.0"
postcss-custom-media "^5.0.0"
postcss-custom-properties "^5.0.0"
postcss-custom-selectors "^3.0.0"
postcss-extend "^1.0.1"
postcss-media-minmax "^2.1.0"
postcss-mixins "^2.1.0"
postcss-nested "^1.0.0"
postcss-nesting "^2.0.6"
postcss-partial-import "^1.3.0"
postcss-property-lookup "^1.1.3"
postcss-selector-matches "^2.0.0"
postcss-selector-not "^2.0.0"
prelude-ls@~1.1.2: prelude-ls@~1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@ -4986,7 +5277,7 @@ process-nextick-args@~1.0.6:
version "1.0.7" version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
process@^0.11.0, process@~0.11.0: process@^0.11.0:
version "0.11.9" version "0.11.9"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
@ -4994,6 +5285,12 @@ progress@^1.1.8:
version "1.1.8" version "1.1.8"
resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
promise-each@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/promise-each/-/promise-each-2.2.0.tgz#3353174eff2694481037e04e01f77aa0fb6d1b60"
dependencies:
any-promise "^0.1.0"
promise@^7.1.1: promise@^7.1.1:
version "7.1.1" version "7.1.1"
resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
@ -5042,7 +5339,7 @@ punycode@1.3.2:
version "1.3.2" version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
punycode@^1.2.4, punycode@^1.3.2, punycode@^1.4.1: punycode@^1.2.4, punycode@^1.4.1:
version "1.4.1" version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
@ -5050,11 +5347,11 @@ q@^1.1.2:
version "1.4.1" version "1.4.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
qs@6.2.0, qs@^6.1.0, qs@^6.2.0, qs@~6.2.0: qs@6.2.0, qs@^6.1.0:
version "6.2.0" version "6.2.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b"
qs@~6.3.0: qs@^6.2.0, qs@~6.3.0:
version "6.3.1" version "6.3.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d"
@ -5071,7 +5368,7 @@ query-string@^4.1.0:
object-assign "^4.1.0" object-assign "^4.1.0"
strict-uri-encode "^1.0.0" strict-uri-encode "^1.0.0"
querystring-es3@^0.2.0, querystring-es3@~0.2.0: querystring-es3@^0.2.0:
version "0.2.1" version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@ -5089,6 +5386,13 @@ raf@^3.1.0:
dependencies: dependencies:
performance-now "~0.2.0" performance-now "~0.2.0"
rails-erb-loader@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/rails-erb-loader/-/rails-erb-loader-5.0.0.tgz#33fcfbae3fd4584801283c4d5bc1195ae7b56723"
dependencies:
loader-utils "^1.1.0"
lodash.defaults "^4.2.0"
randomatic@^1.1.3: randomatic@^1.1.3:
version "1.1.5" version "1.1.5"
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b"
@ -5172,7 +5476,7 @@ react-docgen@^2.12.1:
node-dir "^0.1.10" node-dir "^0.1.10"
recast "^0.11.5" recast "^0.11.5"
react-dom@^15.5.4: react-dom@^15.4.2, react-dom@^15.5.4:
version "15.5.4" version "15.5.4"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.5.4.tgz#ba0c28786fd52ed7e4f2135fe0288d462aef93da" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.5.4.tgz#ba0c28786fd52ed7e4f2135fe0288d462aef93da"
dependencies: dependencies:
@ -5208,12 +5512,29 @@ react-immutable-proptypes@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.1.0.tgz#023d6f39bb15c97c071e9e60d00d136eac5fa0b4" resolved "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.1.0.tgz#023d6f39bb15c97c071e9e60d00d136eac5fa0b4"
react-immutable-pure-component@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/react-immutable-pure-component/-/react-immutable-pure-component-0.0.4.tgz#a7c438167e5b82b5231e4ec9246827ebe3257629"
dependencies:
immutable "^3.8.1"
react "^15.4.2"
react-dom "^15.4.2"
react-inspector@^1.1.0: react-inspector@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-1.1.0.tgz#8d55bb94ffc9fd3982a222eb257dbe9cdd4f1b87" resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-1.1.0.tgz#8d55bb94ffc9fd3982a222eb257dbe9cdd4f1b87"
dependencies: dependencies:
is-dom "^1.0.5" is-dom "^1.0.5"
react-intl-translations-manager@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/react-intl-translations-manager/-/react-intl-translations-manager-5.0.0.tgz#3c78d3e3e44c5804d7a15c60e89c3aefd9d06615"
dependencies:
chalk "^1.1.3"
glob "^7.0.3"
json-stable-stringify "^1.0.1"
mkdirp "^0.5.1"
react-intl@^2.1.5: react-intl@^2.1.5:
version "2.1.5" version "2.1.5"
resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-2.1.5.tgz#f9795ea34b790dcb5d0d8ef7060dddbe85bf8763" resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-2.1.5.tgz#f9795ea34b790dcb5d0d8ef7060dddbe85bf8763"
@ -5364,7 +5685,7 @@ react-virtualized@^8.11.4:
dom-helpers "^2.4.0 || ^3.0.0" dom-helpers "^2.4.0 || ^3.0.0"
loose-envify "^1.3.0" loose-envify "^1.3.0"
react@^15.5.4: react@^15.4.2, react@^15.5.4:
version "15.5.4" version "15.5.4"
resolved "https://registry.yarnpkg.com/react/-/react-15.5.4.tgz#fa83eb01506ab237cdc1c8c3b1cea8de012bf047" resolved "https://registry.yarnpkg.com/react/-/react-15.5.4.tgz#fa83eb01506ab237cdc1c8c3b1cea8de012bf047"
dependencies: dependencies:
@ -5373,11 +5694,11 @@ react@^15.5.4:
object-assign "^4.1.0" object-assign "^4.1.0"
prop-types "^15.5.7" prop-types "^15.5.7"
read-only-stream@^2.0.0: read-cache@^1.0.0:
version "2.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
dependencies: dependencies:
readable-stream "^2.0.2" pify "^2.3.0"
read-pkg-up@^1.0.1: read-pkg-up@^1.0.1:
version "1.0.1" version "1.0.1"
@ -5572,7 +5893,7 @@ repeating@^2.0.0:
dependencies: dependencies:
is-finite "^1.0.0" is-finite "^1.0.0"
request@2, request@2.x, request@^2.79.0: request@2, request@2.x, request@^2.74.0, request@^2.79.0:
version "2.79.0" version "2.79.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
dependencies: dependencies:
@ -5597,32 +5918,6 @@ request@2, request@2.x, request@^2.79.0:
tunnel-agent "~0.4.1" tunnel-agent "~0.4.1"
uuid "^3.0.0" uuid "^3.0.0"
request@^2.74.0:
version "2.75.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
bl "~1.1.2"
caseless "~0.11.0"
combined-stream "~1.0.5"
extend "~3.0.0"
forever-agent "~0.6.1"
form-data "~2.0.0"
har-validator "~2.0.6"
hawk "~3.1.3"
http-signature "~1.1.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.7"
node-uuid "~1.4.7"
oauth-sign "~0.8.1"
qs "~6.2.0"
stringstream "~0.0.4"
tough-cookie "~2.3.0"
tunnel-agent "~0.4.1"
require-directory@^2.1.1: require-directory@^2.1.1:
version "2.1.1" version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@ -5642,7 +5937,7 @@ require-uncached@^1.0.2:
caller-path "^0.1.0" caller-path "^0.1.0"
resolve-from "^1.0.0" resolve-from "^1.0.0"
requires-port@1.0.x: requires-port@1.0.x, requires-port@1.x.x:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
@ -5654,9 +5949,11 @@ resolve-from@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
resolve@1.1.7, resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6: resolve@^1.1.6, resolve@^1.3.3:
version "1.1.7" version "1.3.3"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
dependencies:
path-parse "^1.0.5"
restore-cursor@^1.0.1: restore-cursor@^1.0.1:
version "1.0.1" version "1.0.1"
@ -5665,6 +5962,10 @@ restore-cursor@^1.0.1:
exit-hook "^1.0.0" exit-hook "^1.0.0"
onetime "^1.0.0" onetime "^1.0.0"
rgb@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/rgb/-/rgb-0.1.0.tgz#be27b291e8feffeac1bd99729721bfa40fc037b5"
right-align@^0.1.1: right-align@^0.1.1:
version "0.1.3" version "0.1.3"
resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
@ -5707,9 +6008,9 @@ sass-graph@^2.1.1:
lodash "^4.0.0" lodash "^4.0.0"
yargs "^4.7.1" yargs "^4.7.1"
sass-loader@^6.0.2: sass-loader@^6.0.3:
version "6.0.2" version "6.0.3"
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.2.tgz#96343a9f5c585780149321c7bda9e1da633d2c73" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.3.tgz#33983b1f90d27ddab0e57d0dac403dce9bc7ecfd"
dependencies: dependencies:
async "^2.1.5" async "^2.1.5"
clone-deep "^0.2.4" clone-deep "^0.2.4"
@ -5732,6 +6033,14 @@ section-iterator@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/section-iterator/-/section-iterator-2.0.0.tgz#bf444d7afeeb94ad43c39ad2fb26151627ccba2a" resolved "https://registry.yarnpkg.com/section-iterator/-/section-iterator-2.0.0.tgz#bf444d7afeeb94ad43c39ad2fb26151627ccba2a"
seed-random@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/seed-random/-/seed-random-2.2.0.tgz#2a9b19e250a817099231a5b99a4daf80b7fbed54"
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
"semver@2 || 3 || 4 || 5", semver@~5.3.0: "semver@2 || 3 || 4 || 5", semver@~5.3.0:
version "5.3.0" version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@ -5767,6 +6076,18 @@ serve-favicon@^2.3.0:
ms "0.7.1" ms "0.7.1"
parseurl "~1.3.0" parseurl "~1.3.0"
serve-index@^1.7.2:
version "1.8.0"
resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b"
dependencies:
accepts "~1.3.3"
batch "0.5.3"
debug "~2.2.0"
escape-html "~1.0.3"
http-errors "~1.5.0"
mime-types "~2.1.11"
parseurl "~1.3.1"
serve-static@~1.11.2: serve-static@~1.11.2:
version "1.11.2" version "1.11.2"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.2.tgz#2cf9889bd4435a320cc36895c9aa57bd662e6ac7" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.2.tgz#2cf9889bd4435a320cc36895c9aa57bd662e6ac7"
@ -5796,7 +6117,7 @@ sha.js@2.2.6:
version "2.2.6" version "2.2.6"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba"
sha.js@^2.3.6, sha.js@~2.4.4: sha.js@^2.3.6:
version "2.4.5" version "2.4.5"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.5.tgz#27d171efcc82a118b99639ff581660242b506e7c" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.5.tgz#27d171efcc82a118b99639ff581660242b506e7c"
dependencies: dependencies:
@ -5821,22 +6142,6 @@ shallowequal@0.2.x, shallowequal@^0.2.2:
dependencies: dependencies:
lodash.keys "^3.1.2" lodash.keys "^3.1.2"
shasum@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f"
dependencies:
json-stable-stringify "~0.0.0"
sha.js "~2.4.4"
shell-quote@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
dependencies:
array-filter "~0.0.0"
array-map "~0.0.0"
array-reduce "~0.0.0"
jsonify "~0.0.0"
shelljs@^0.7.4: shelljs@^0.7.4:
version "0.7.4" version "0.7.4"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.4.tgz#b8f04b3a74ddfafea22acf98e0be45ded53d59c8" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.4.tgz#b8f04b3a74ddfafea22acf98e0be45ded53d59c8"
@ -5892,6 +6197,24 @@ sntp@1.x.x:
dependencies: dependencies:
hoek "2.x.x" hoek "2.x.x"
sockjs-client@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.2.tgz#f0212a8550e4c9468c8cceaeefd2e3493c033ad5"
dependencies:
debug "^2.2.0"
eventsource "0.1.6"
faye-websocket "~0.11.0"
inherits "^2.0.1"
json3 "^3.3.2"
url-parse "^1.1.1"
sockjs@0.3.18:
version "0.3.18"
resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207"
dependencies:
faye-websocket "^0.10.0"
uuid "^2.0.2"
sort-keys@^1.0.0: sort-keys@^1.0.0:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
@ -5908,6 +6231,10 @@ source-list-map@^0.1.7, source-list-map@~0.1.7:
version "0.1.7" version "0.1.7"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.7.tgz#d4b5ce2a46535c72c7e8527c71a77d250618172e" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.7.tgz#d4b5ce2a46535c72c7e8527c71a77d250618172e"
source-list-map@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
source-map-support@^0.4.2: source-map-support@^0.4.2:
version "0.4.3" version "0.4.3"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.3.tgz#693c8383d4389a4569486987c219744dfc601685" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.3.tgz#693c8383d4389a4569486987c219744dfc601685"
@ -5944,6 +6271,26 @@ spdx-license-ids@^1.0.2:
version "1.2.2" version "1.2.2"
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
spdy-transport@^2.0.15:
version "2.0.18"
resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.18.tgz#43fc9c56be2cccc12bb3e2754aa971154e836ea6"
dependencies:
debug "^2.2.0"
hpack.js "^2.1.6"
obuf "^1.1.0"
readable-stream "^2.0.1"
wbuf "^1.4.0"
spdy@^3.4.1:
version "3.4.4"
resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.4.tgz#e0406407ca90ff01b553eb013505442649f5a819"
dependencies:
debug "^2.2.0"
handle-thing "^1.2.4"
http-deceiver "^1.2.4"
select-hose "^2.0.0"
spdy-transport "^2.0.15"
split@^1.0.0: split@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae"
@ -5983,21 +6330,14 @@ store@^1.3.20:
version "1.3.20" version "1.3.20"
resolved "https://registry.yarnpkg.com/store/-/store-1.3.20.tgz#13ea7e3fb2d6c239868265d686b1d84e99c5be3e" resolved "https://registry.yarnpkg.com/store/-/store-1.3.20.tgz#13ea7e3fb2d6c239868265d686b1d84e99c5be3e"
stream-browserify@^2.0.0, stream-browserify@^2.0.1: stream-browserify@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
dependencies: dependencies:
inherits "~2.0.1" inherits "~2.0.1"
readable-stream "^2.0.2" readable-stream "^2.0.2"
stream-combiner2@^1.1.1: stream-http@^2.3.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
dependencies:
duplexer2 "~0.1.0"
readable-stream "^2.0.2"
stream-http@^2.0.0, stream-http@^2.3.1:
version "2.4.0" version "2.4.0"
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.4.0.tgz#9599aa8e263667ce4190e0dc04a1d065d3595a7e" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.4.0.tgz#9599aa8e263667ce4190e0dc04a1d065d3595a7e"
dependencies: dependencies:
@ -6007,17 +6347,14 @@ stream-http@^2.0.0, stream-http@^2.3.1:
to-arraybuffer "^1.0.0" to-arraybuffer "^1.0.0"
xtend "^4.0.0" xtend "^4.0.0"
stream-splicer@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83"
dependencies:
inherits "^2.0.1"
readable-stream "^2.0.2"
strict-uri-encode@^1.0.0: strict-uri-encode@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
string-hash@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
string-width@^1.0.1, string-width@^1.0.2: string-width@^1.0.1, string-width@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
@ -6049,7 +6386,7 @@ string.prototype.padstart@^3.0.0:
es-abstract "^1.4.3" es-abstract "^1.4.3"
function-bind "^1.0.2" function-bind "^1.0.2"
string_decoder@^0.10.25, string_decoder@~0.10.0, string_decoder@~0.10.x: string_decoder@^0.10.25, string_decoder@~0.10.x:
version "0.10.31" version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
@ -6104,19 +6441,19 @@ style-loader@0.13.1:
dependencies: dependencies:
loader-utils "^0.2.7" loader-utils "^0.2.7"
style-loader@^0.13.2: style-loader@^0.16.1:
version "0.13.2" version "0.16.1"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.2.tgz#74533384cf698c7104c7951150b49717adc2f3bb" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.16.1.tgz#50e325258d4e78421dd9680636b41e8661595d10"
dependencies: dependencies:
loader-utils "^1.0.2" loader-utils "^1.0.2"
subarg@^1.0.0: sugarss@^0.2.0:
version "1.0.0" version "0.2.0"
resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-0.2.0.tgz#ac34237563327c6ff897b64742bf6aec190ad39e"
dependencies: dependencies:
minimist "^1.1.0" postcss "^5.2.4"
supports-color@3.1.2, supports-color@^3.1.0, supports-color@^3.1.2: supports-color@3.1.2, supports-color@^3.1.0, supports-color@^3.1.1:
version "3.1.2" version "3.1.2"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5"
dependencies: dependencies:
@ -6156,12 +6493,6 @@ symbol-tree@^3.2.1:
version "3.2.2" version "3.2.2"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
syntax-error@^1.1.1:
version "1.1.6"
resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.1.6.tgz#b4549706d386cc1c1dc7c2423f18579b6cade710"
dependencies:
acorn "^2.7.0"
table@^3.7.8: table@^3.7.8:
version "3.8.3" version "3.8.3"
resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
@ -6220,33 +6551,28 @@ tar@^2.0.0, tar@~2.2.0, tar@~2.2.1:
fstream "^1.0.2" fstream "^1.0.2"
inherits "2" inherits "2"
tcomb@^2.5.1:
version "2.7.0"
resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-2.7.0.tgz#10d62958041669a5d53567b9a4ee8cde22b1c2b0"
text-table@~0.2.0: text-table@~0.2.0:
version "0.2.0" version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
through2@^2.0.0: through@2, through@^2.3.6:
version "2.0.1"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.1.tgz#384e75314d49f32de12eebb8136b8eb6b5d59da9"
dependencies:
readable-stream "~2.0.0"
xtend "~4.0.0"
through@2, "through@>=2.2.7 <3", through@^2.3.6:
version "2.3.8" version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
timers-browserify@^1.0.1:
version "1.4.2"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
dependencies:
process "~0.11.0"
timers-browserify@^2.0.2: timers-browserify@^2.0.2:
version "2.0.2" version "2.0.2"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86"
dependencies: dependencies:
setimmediate "^1.0.4" setimmediate "^1.0.4"
tiny-emitter@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-1.0.2.tgz#8e49470d3f55f89e247210368a6bb9fb51aa1601"
to-arraybuffer@^1.0.0: to-arraybuffer@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
@ -6281,7 +6607,7 @@ tryit@^1.0.1:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
tty-browserify@0.0.0, tty-browserify@~0.0.0: tty-browserify@0.0.0:
version "0.0.0" version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@ -6314,6 +6640,10 @@ type-is@~1.6.14:
media-typer "0.3.0" media-typer "0.3.0"
mime-types "~2.1.13" mime-types "~2.1.13"
typed-function@0.10.5:
version "0.10.5"
resolved "https://registry.yarnpkg.com/typed-function/-/typed-function-0.10.5.tgz#2e0f18abd065219fab694a446a65c6d1981832c0"
typedarray@~0.0.5: typedarray@~0.0.5:
version "0.0.6" version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
@ -6322,7 +6652,16 @@ ua-parser-js@^0.7.9:
version "0.7.10" version "0.7.10"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.10.tgz#917559ddcce07cbc09ece7d80495e4c268f4ef9f" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.10.tgz#917559ddcce07cbc09ece7d80495e4c268f4ef9f"
uglify-js@^2.7.5, uglify-js@~2.7.3: uglify-js@^2.8.5:
version "2.8.22"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0"
dependencies:
source-map "~0.5.1"
yargs "~3.10.0"
optionalDependencies:
uglify-to-browserify "~1.0.0"
uglify-js@~2.7.3:
version "2.7.5" version "2.7.5"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
dependencies: dependencies:
@ -6343,10 +6682,6 @@ ultron@~1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864"
umd@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e"
uniq@^1.0.1: uniq@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
@ -6383,7 +6718,14 @@ url-parse@1.0.x:
querystringify "0.0.x" querystringify "0.0.x"
requires-port "1.0.x" requires-port "1.0.x"
url@^0.11.0, url@~0.11.0: url-parse@^1.1.1:
version "1.1.8"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.8.tgz#7a65b3a8d57a1e86af6b4e2276e34774167c0156"
dependencies:
querystringify "0.0.x"
requires-port "1.0.x"
url@^0.11.0:
version "0.11.0" version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
dependencies: dependencies:
@ -6412,7 +6754,7 @@ util-deprecate@~1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
util@0.10.3, "util@>=0.10.3 <1", util@^0.10.3, util@~0.10.1: util@0.10.3, "util@>=0.10.3 <1", util@^0.10.3:
version "0.10.3" version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
dependencies: dependencies:
@ -6422,7 +6764,7 @@ utils-merge@1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
uuid@^2.0.1, uuid@^2.0.3: uuid@^2.0.1, uuid@^2.0.2, uuid@^2.0.3:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
@ -6457,7 +6799,7 @@ verror@1.3.6:
dependencies: dependencies:
extsprintf "1.0.2" extsprintf "1.0.2"
vm-browserify@0.0.4, vm-browserify@~0.0.1: vm-browserify@0.0.4:
version "0.0.4" version "0.0.4"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
dependencies: dependencies:
@ -6483,7 +6825,7 @@ watchpack@^0.2.1:
chokidar "^1.0.0" chokidar "^1.0.0"
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
watchpack@^1.2.0: watchpack@^1.3.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87"
dependencies: dependencies:
@ -6491,6 +6833,12 @@ watchpack@^1.2.0:
chokidar "^1.4.3" chokidar "^1.4.3"
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
wbuf@^1.1.0, wbuf@^1.4.0:
version "1.7.2"
resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe"
dependencies:
minimalistic-assert "^1.0.0"
webidl-conversions@^3.0.0: webidl-conversions@^3.0.0:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
@ -6506,6 +6854,15 @@ webpack-core@~0.6.9:
source-list-map "~0.1.7" source-list-map "~0.1.7"
source-map "~0.4.1" source-map "~0.4.1"
webpack-dev-middleware@^1.10.2:
version "1.10.2"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1"
dependencies:
memory-fs "~0.4.1"
mime "^1.3.4"
path-is-absolute "^1.0.0"
range-parser "^1.0.3"
webpack-dev-middleware@^1.6.0: webpack-dev-middleware@^1.6.0:
version "1.8.4" version "1.8.4"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.8.4.tgz#e8765c9122887ce9e3abd4cc9c3eb31b61e0948d" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.8.4.tgz#e8765c9122887ce9e3abd4cc9c3eb31b61e0948d"
@ -6515,6 +6872,28 @@ webpack-dev-middleware@^1.6.0:
path-is-absolute "^1.0.0" path-is-absolute "^1.0.0"
range-parser "^1.0.3" range-parser "^1.0.3"
webpack-dev-server@^2.4.5:
version "2.4.5"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.4.5.tgz#31384ce81136be1080b4b4cde0eb9b90e54ee6cf"
dependencies:
ansi-html "0.0.7"
chokidar "^1.6.0"
compression "^1.5.2"
connect-history-api-fallback "^1.3.0"
express "^4.13.3"
html-entities "^1.2.0"
http-proxy-middleware "~0.17.4"
opn "4.0.2"
portfinder "^1.0.9"
serve-index "^1.7.2"
sockjs "0.3.18"
sockjs-client "1.1.2"
spdy "^3.4.1"
strip-ansi "^3.0.0"
supports-color "^3.1.1"
webpack-dev-middleware "^1.10.2"
yargs "^6.0.0"
webpack-hot-middleware@^2.13.2: webpack-hot-middleware@^2.13.2:
version "2.17.1" version "2.17.1"
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.17.1.tgz#0c8fbf6f93ff29c095d684b07ab6d6c0f2f951d7" resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.17.1.tgz#0c8fbf6f93ff29c095d684b07ab6d6c0f2f951d7"
@ -6524,13 +6903,33 @@ webpack-hot-middleware@^2.13.2:
querystring "^0.2.0" querystring "^0.2.0"
strip-ansi "^3.0.0" strip-ansi "^3.0.0"
webpack-sources@^0.1.4: webpack-manifest-plugin@^1.1.0:
version "0.1.4" version "1.1.0"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.4.tgz#ccc2c817e08e5fa393239412690bb481821393cd" resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-1.1.0.tgz#6b6c718aade8a2537995784b46bd2e9836057caa"
dependencies:
fs-extra "^0.30.0"
lodash ">=3.5 <5"
webpack-merge@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.0.tgz#6ad72223b3e0b837e531e4597c199f909361511e"
dependencies:
lodash "^4.17.4"
webpack-sources@^0.1.0:
version "0.1.5"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750"
dependencies: dependencies:
source-list-map "~0.1.7" source-list-map "~0.1.7"
source-map "~0.5.3" source-map "~0.5.3"
webpack-sources@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
dependencies:
source-list-map "^1.1.1"
source-map "~0.5.3"
webpack@^1.13.1: webpack@^1.13.1:
version "1.14.0" version "1.14.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.14.0.tgz#54f1ffb92051a328a5b2057d6ae33c289462c823" resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.14.0.tgz#54f1ffb92051a328a5b2057d6ae33c289462c823"
@ -6551,11 +6950,11 @@ webpack@^1.13.1:
watchpack "^0.2.1" watchpack "^0.2.1"
webpack-core "~0.6.9" webpack-core "~0.6.9"
webpack@^2.2.1: webpack@^2.4.1:
version "2.2.1" version "2.4.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475" resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.4.1.tgz#15a91dbe34966d8a4b99c7d656efd92a2e5a6f6a"
dependencies: dependencies:
acorn "^4.0.4" acorn "^5.0.0"
acorn-dynamic-import "^2.0.0" acorn-dynamic-import "^2.0.0"
ajv "^4.7.0" ajv "^4.7.0"
ajv-keywords "^1.1.1" ajv-keywords "^1.1.1"
@ -6563,6 +6962,7 @@ webpack@^2.2.1:
enhanced-resolve "^3.0.0" enhanced-resolve "^3.0.0"
interpret "^1.0.0" interpret "^1.0.0"
json-loader "^0.5.4" json-loader "^0.5.4"
json5 "^0.5.1"
loader-runner "^2.3.0" loader-runner "^2.3.0"
loader-utils "^0.2.16" loader-utils "^0.2.16"
memory-fs "~0.4.1" memory-fs "~0.4.1"
@ -6571,11 +6971,21 @@ webpack@^2.2.1:
source-map "^0.5.3" source-map "^0.5.3"
supports-color "^3.1.0" supports-color "^3.1.0"
tapable "~0.2.5" tapable "~0.2.5"
uglify-js "^2.7.5" uglify-js "^2.8.5"
watchpack "^1.2.0" watchpack "^1.3.1"
webpack-sources "^0.1.4" webpack-sources "^0.2.3"
yargs "^6.0.0" yargs "^6.0.0"
websocket-driver@>=0.5.1:
version "0.6.5"
resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
dependencies:
websocket-extensions ">=0.1.1"
websocket-extensions@>=0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7"
websocket.js@^0.1.7: websocket.js@^0.1.7:
version "0.1.7" version "0.1.7"
resolved "https://registry.yarnpkg.com/websocket.js/-/websocket.js-0.1.7.tgz#8d24cefb1a080c259e7e4740c02cab8f142df2b0" resolved "https://registry.yarnpkg.com/websocket.js/-/websocket.js-0.1.7.tgz#8d24cefb1a080c259e7e4740c02cab8f142df2b0"
@ -6680,7 +7090,7 @@ xml-name-validator@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635"
xtend@4.0.1, xtend@^4.0.0, xtend@~4.0.0: xtend@4.0.1, xtend@^4.0.0:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"