mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-02-01 01:41:21 -05:00
Merge branch 'master' into filesystem_index
This commit is contained in:
@@ -7,7 +7,8 @@ exclude_paths:
|
||||
- 'docs/**'
|
||||
- '**/docs/**'
|
||||
- '**/pkg/proto/**'
|
||||
- 'konnectd/assets/identifier/**'
|
||||
- 'konnectd/ui_config/**'
|
||||
- 'konnectd/scripts/**'
|
||||
- 'settings/rollup.config.js'
|
||||
- 'accounts/rollup.config.js'
|
||||
- 'ocis/docker/eos-ocis/Dockerfile'
|
||||
|
||||
41
.drone.star
41
.drone.star
@@ -15,7 +15,7 @@ config = {
|
||||
},
|
||||
'apiTests': {
|
||||
'coreBranch': 'master',
|
||||
'coreCommit': '79fea80eece798d9cec7dadcc0cf02cf741cfbe6',
|
||||
'coreCommit': '914992f5f6d4bb562534fa52273e5bd0bc11b208',
|
||||
'numberOfParts': 6
|
||||
},
|
||||
'uiTests': {
|
||||
@@ -342,8 +342,8 @@ def localApiTests(ctx, coreBranch = 'master', coreCommit = '', storage = 'ownclo
|
||||
'pull': 'always',
|
||||
'environment' : {
|
||||
'TEST_SERVER_URL': 'https://ocis-server:9200',
|
||||
'OCIS_REVA_DATA_ROOT': '%s' % ('/srv/app/tmp/ocis/owncloud/' if storage == 'owncloud' else ''),
|
||||
'DELETE_USER_DATA_CMD': '%s' % ('' if storage == 'owncloud' else 'rm -rf /srv/app/tmp/ocis/storage/users/nodes/root/*'),
|
||||
'OCIS_REVA_DATA_ROOT': '%s' % ('/srv/app/tmp/ocis/owncloud/data/' if storage == 'owncloud' else ''),
|
||||
'DELETE_USER_DATA_CMD': '%s' % ('' if storage == 'owncloud' else 'rm -rf /srv/app/tmp/ocis/storage/users/nodes/root/* /srv/app/tmp/ocis/storage/users/nodes/*-*-*-*'),
|
||||
'SKELETON_DIR': '/srv/app/tmp/testing/data/apiSkeleton',
|
||||
'OCIS_SKELETON_STRATEGY': '%s' % ('copy' if storage == 'owncloud' else 'upload'),
|
||||
'TEST_OCIS':'true',
|
||||
@@ -396,8 +396,8 @@ def coreApiTests(ctx, coreBranch = 'master', coreCommit = '', part_number = 1, n
|
||||
'pull': 'always',
|
||||
'environment' : {
|
||||
'TEST_SERVER_URL': 'https://ocis-server:9200',
|
||||
'OCIS_REVA_DATA_ROOT': '%s' % ('/srv/app/tmp/ocis/owncloud/' if storage == 'owncloud' else ''),
|
||||
'DELETE_USER_DATA_CMD': '%s' % ('' if storage == 'owncloud' else 'rm -rf /srv/app/tmp/ocis/storage/users/nodes/root/*'),
|
||||
'OCIS_REVA_DATA_ROOT': '%s' % ('/srv/app/tmp/ocis/owncloud/data/' if storage == 'owncloud' else ''),
|
||||
'DELETE_USER_DATA_CMD': '%s' % ('' if storage == 'owncloud' else 'rm -rf /srv/app/tmp/ocis/storage/users/nodes/root/* /srv/app/tmp/ocis/storage/users/nodes/*-*-*-*'),
|
||||
'SKELETON_DIR': '/srv/app/tmp/testing/data/apiSkeleton',
|
||||
'OCIS_SKELETON_STRATEGY': '%s' % ('copy' if storage == 'owncloud' else 'upload'),
|
||||
'TEST_OCIS':'true',
|
||||
@@ -546,22 +546,18 @@ def accountsUITests(ctx, phoenixBranch, phoenixCommitId, storage):
|
||||
'detach': True,
|
||||
'environment' : {
|
||||
#'OCIS_LOG_LEVEL': 'debug',
|
||||
'STORAGE_STORAGE_HOME_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_HOME_DATA_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_OC_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_OC_DATA_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_HOME_DATA_TEMP_FOLDER': '/srv/app/tmp/',
|
||||
'STORAGE_HOME_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_OCIS_ROOT': '/srv/app/tmp/ocis/storage/users',
|
||||
'STORAGE_STORAGE_LOCAL_ROOT': '/srv/app/tmp/ocis/reva/root',
|
||||
'STORAGE_STORAGE_OWNCLOUD_DATADIR': '/srv/app/tmp/ocis/owncloud/data',
|
||||
'STORAGE_STORAGE_OC_DATA_TEMP_FOLDER': '/srv/app/tmp/',
|
||||
'STORAGE_STORAGE_OWNCLOUD_REDIS_ADDR': 'redis:6379',
|
||||
'STORAGE_OIDC_ISSUER': 'https://ocis-server:9200',
|
||||
'STORAGE_LDAP_IDP': 'https://ocis-server:9200',
|
||||
'PROXY_OIDC_ISSUER': 'https://ocis-server:9200',
|
||||
'STORAGE_STORAGE_OC_DATA_SERVER_URL': 'http://ocis-server:9164/data',
|
||||
'STORAGE_DATAGATEWAY_URL': 'https://ocis-server:9200/data',
|
||||
'STORAGE_FRONTEND_URL': 'https://ocis-server:9200',
|
||||
'STORAGE_HOME_EXPOSE_DATA_SERVER': 'true',
|
||||
'STORAGE_HOME_DATA_SERVER_URL': 'http://ocis-server:9155/data',
|
||||
'STORAGE_DATAGATEWAY_PUBLIC_URL': 'https://ocis-server:9200/data',
|
||||
'STORAGE_FRONTEND_PUBLIC_URL': 'https://ocis-server:9200',
|
||||
'PHOENIX_WEB_CONFIG': '/drone/src/accounts/ui/tests/config/drone/ocis-config.json',
|
||||
'KONNECTD_IDENTIFIER_REGISTRATION_CONF': '/drone/src/accounts/ui/tests/config/drone/identifier-registration.yml',
|
||||
'KONNECTD_ISS': 'https://ocis-server:9200',
|
||||
@@ -788,7 +784,6 @@ def dockerEos(ctx):
|
||||
},
|
||||
'auto_tag': True,
|
||||
'context': 'ocis/docker/eos-ocis',
|
||||
'auto_tag_suffix': 'linux-amd64',
|
||||
'dockerfile': 'ocis/docker/eos-ocis/Dockerfile',
|
||||
'repo': 'owncloud/eos-ocis',
|
||||
},
|
||||
@@ -1407,22 +1402,20 @@ def ocisServer(storage):
|
||||
'detach': True,
|
||||
'environment' : {
|
||||
#'OCIS_LOG_LEVEL': 'debug',
|
||||
'STORAGE_STORAGE_HOME_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_HOME_DATA_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_OC_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_OC_DATA_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_HOME_DATA_TEMP_FOLDER': '/srv/app/tmp/',
|
||||
'STORAGE_HOME_DRIVER': '%s' % (storage),
|
||||
'STORAGE_USERS_DRIVER': '%s' % (storage),
|
||||
'STORAGE_STORAGE_OCIS_ROOT': '/srv/app/tmp/ocis/storage/users',
|
||||
'STORAGE_STORAGE_LOCAL_ROOT': '/srv/app/tmp/ocis/local/root',
|
||||
'STORAGE_STORAGE_OWNCLOUD_DATADIR': '/srv/app/tmp/ocis/owncloud/data',
|
||||
'STORAGE_STORAGE_OC_DATA_TEMP_FOLDER': '/srv/app/tmp/',
|
||||
'STORAGE_METADATA_ROOT': '/srv/app/tmp/ocis/metadata',
|
||||
'STORAGE_STORAGE_OWNCLOUD_REDIS_ADDR': 'redis:6379',
|
||||
'STORAGE_LDAP_IDP': 'https://ocis-server:9200',
|
||||
'STORAGE_OIDC_ISSUER': 'https://ocis-server:9200',
|
||||
'PROXY_OIDC_ISSUER': 'https://ocis-server:9200',
|
||||
'STORAGE_STORAGE_OC_DATA_SERVER_URL': 'http://ocis-server:9164/data',
|
||||
'STORAGE_DATAGATEWAY_URL': 'https://ocis-server:9200/data',
|
||||
'STORAGE_FRONTEND_URL': 'https://ocis-server:9200',
|
||||
'STORAGE_HOME_DATA_SERVER_URL': 'http://ocis-server:9155/data',
|
||||
'STORAGE_DATAGATEWAY_PUBLIC_URL': 'https://ocis-server:9200/data',
|
||||
'STORAGE_USERS_DATA_SERVER_URL': 'http://ocis-server:9158/data',
|
||||
'STORAGE_FRONTEND_PUBLIC_URL': 'https://ocis-server:9200',
|
||||
'PHOENIX_WEB_CONFIG': '/drone/src/ocis/tests/config/drone/ocis-config.json',
|
||||
'KONNECTD_IDENTIFIER_REGISTRATION_CONF': '/drone/src/ocis/tests/config/drone/identifier-registration.yml',
|
||||
'KONNECTD_ISS': 'https://ocis-server:9200',
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -10,3 +10,8 @@ node_modules/
|
||||
*/assets
|
||||
|
||||
.idea
|
||||
|
||||
*/yarn-error.log
|
||||
|
||||
# Konnectd
|
||||
konnectd/assets/identifier
|
||||
37
CHANGELOG.md
37
CHANGELOG.md
@@ -5,6 +5,7 @@
|
||||
* Bugfix - Add missing env vars to docker compose: [#392](https://github.com/owncloud/ocis/pull/392)
|
||||
* Bugfix - Don't enforce empty external apps slice: [#473](https://github.com/owncloud/ocis/pull/473)
|
||||
* Bugfix - Fix button layout after phoenix update: [#625](https://github.com/owncloud/ocis/pull/625)
|
||||
* Bugfix - Use micro default client: [#718](https://github.com/owncloud/ocis/pull/718)
|
||||
* Bugfix - Fix director selection in proxy: [#521](https://github.com/owncloud/ocis/pull/521)
|
||||
* Bugfix - Build docker images with alpine:latest instead of alpine:edge: [#416](https://github.com/owncloud/ocis/pull/416)
|
||||
* Change - Accounts UI shows message when no permissions: [#656](https://github.com/owncloud/ocis/pull/656)
|
||||
@@ -18,8 +19,10 @@
|
||||
* Change - Switch over to a new custom-built runtime: [#287](https://github.com/owncloud/ocis/pull/287)
|
||||
* Change - Account management permissions for Admin role: [#124](https://github.com/owncloud/product/issues/124)
|
||||
* Change - Update phoenix to v0.18.0: [#651](https://github.com/owncloud/ocis/pull/651)
|
||||
* Change - Default apps in ownCloud Web: [#688](https://github.com/owncloud/ocis/pull/688)
|
||||
* Change - Make ocis-settings available: [#287](https://github.com/owncloud/ocis/pull/287)
|
||||
* Change - Start ocis-proxy with the ocis server command: [#119](https://github.com/owncloud/ocis/issues/119)
|
||||
* Change - Bring oC theme: [#698](https://github.com/owncloud/ocis/pull/698)
|
||||
* Change - Update phoenix to v0.20.0: [#674](https://github.com/owncloud/ocis/pull/674)
|
||||
* Change - Update reva config: [#336](https://github.com/owncloud/ocis/pull/336)
|
||||
* Change - Settings and accounts appear in the user menu: [#656](https://github.com/owncloud/ocis/pull/656)
|
||||
@@ -40,6 +43,7 @@
|
||||
* Enhancement - Add glauth fallback backend: [#649](https://github.com/owncloud/ocis/pull/649)
|
||||
* Enhancement - Launch a storage to store ocis-metadata: [#602](https://github.com/owncloud/ocis/pull/602)
|
||||
* Enhancement - Simplify tracing config: [#92](https://github.com/owncloud/product/issues/92)
|
||||
* Enhancement - Update reva to dd3a8c0f38: [#725](https://github.com/owncloud/ocis/pull/725)
|
||||
|
||||
## Details
|
||||
|
||||
@@ -71,6 +75,15 @@
|
||||
|
||||
https://github.com/owncloud/ocis/pull/625
|
||||
|
||||
* Bugfix - Use micro default client: [#718](https://github.com/owncloud/ocis/pull/718)
|
||||
|
||||
Tags: glauth
|
||||
|
||||
We found a file descriptor leak in the glauth connections to the accounts service. Fixed it by
|
||||
using the micro default client.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/718
|
||||
|
||||
* Bugfix - Fix director selection in proxy: [#521](https://github.com/owncloud/ocis/pull/521)
|
||||
|
||||
Tags: proxy
|
||||
@@ -210,6 +223,15 @@
|
||||
https://github.com/owncloud/phoenix/releases/tag/v0.18.0
|
||||
https://github.com/owncloud/owncloud-design-system/releases/tag/v1.12.1
|
||||
|
||||
* Change - Default apps in ownCloud Web: [#688](https://github.com/owncloud/ocis/pull/688)
|
||||
|
||||
Tags: web
|
||||
|
||||
We changed the default apps for ownCloud Web to be only files and media-viewer.
|
||||
Markdown-editor and draw-io have been removed as defaults.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/688
|
||||
|
||||
* Change - Make ocis-settings available: [#287](https://github.com/owncloud/ocis/pull/287)
|
||||
|
||||
Tags: settings
|
||||
@@ -229,6 +251,14 @@
|
||||
https://github.com/owncloud/ocis/issues/119
|
||||
https://github.com/owncloud/ocis/issues/136
|
||||
|
||||
* Change - Bring oC theme: [#698](https://github.com/owncloud/ocis/pull/698)
|
||||
|
||||
Tags: konnectd
|
||||
|
||||
We've styled our konnectd login page to reflect ownCloud theme.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/698
|
||||
|
||||
* Change - Update phoenix to v0.20.0: [#674](https://github.com/owncloud/ocis/pull/674)
|
||||
|
||||
Tags: web
|
||||
@@ -1250,3 +1280,10 @@
|
||||
https://github.com/owncloud/product/issues/92
|
||||
https://github.com/owncloud/ocis/pull/329
|
||||
https://github.com/owncloud/ocis/pull/409
|
||||
|
||||
* Enhancement - Update reva to dd3a8c0f38: [#725](https://github.com/owncloud/ocis/pull/725)
|
||||
|
||||
* fixes etag propagation in the ocis driver
|
||||
|
||||
https://github.com/owncloud/ocis/pull/725
|
||||
https://github.com/cs3org/reva/pull/1264
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -206,12 +206,11 @@ func (r CS3Repo) DeleteGroup(ctx context.Context, id string) (err error) {
|
||||
|
||||
func (r CS3Repo) authenticate(ctx context.Context) (token string, err error) {
|
||||
u := &user.User{
|
||||
Id: &user.UserId{},
|
||||
Id: &user.UserId{
|
||||
OpaqueId: r.cfg.ServiceUser.UUID,
|
||||
},
|
||||
Groups: []string{},
|
||||
}
|
||||
if r.cfg.ServiceUser.Username != "" {
|
||||
u.Id.OpaqueId = r.cfg.ServiceUser.UUID
|
||||
}
|
||||
return r.tm.MintToken(ctx, u)
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ const navItems = [
|
||||
name: 'accounts',
|
||||
path: `/${appInfo.id}/`
|
||||
},
|
||||
menu: 'user'
|
||||
menu: 'apps'
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
@@ -1467,9 +1467,9 @@ binary-extensions@^2.0.0:
|
||||
integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
|
||||
|
||||
bl@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a"
|
||||
integrity sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489"
|
||||
integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==
|
||||
dependencies:
|
||||
buffer "^5.5.0"
|
||||
inherits "^2.0.4"
|
||||
@@ -4163,9 +4163,9 @@ lodash.union@^4.6.0:
|
||||
integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=
|
||||
|
||||
lodash@^4.15.0, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4:
|
||||
version "4.17.15"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||
version "4.17.20"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
|
||||
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
|
||||
|
||||
log-symbols@2.2.0:
|
||||
version "2.2.0"
|
||||
|
||||
7
changelog/unreleased/glauth-micro-client
Normal file
7
changelog/unreleased/glauth-micro-client
Normal file
@@ -0,0 +1,7 @@
|
||||
Bugfix: Use micro default client
|
||||
|
||||
Tags: glauth
|
||||
|
||||
We found a file descriptor leak in the glauth connections to the accounts service. Fixed it by using the micro default client.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/718
|
||||
7
changelog/unreleased/phoenix-default-apps.md
Normal file
7
changelog/unreleased/phoenix-default-apps.md
Normal file
@@ -0,0 +1,7 @@
|
||||
Change: Default apps in ownCloud Web
|
||||
|
||||
Tags: web
|
||||
|
||||
We changed the default apps for ownCloud Web to be only files and media-viewer. Markdown-editor and draw-io have been removed as defaults.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/688
|
||||
7
changelog/unreleased/themed-kopano
Normal file
7
changelog/unreleased/themed-kopano
Normal file
@@ -0,0 +1,7 @@
|
||||
Change: Bring oC theme
|
||||
|
||||
Tags: konnectd
|
||||
|
||||
We've styled our konnectd login page to reflect ownCloud theme.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/698
|
||||
6
changelog/unreleased/update-reva-to-dd3a8c0f38.md
Normal file
6
changelog/unreleased/update-reva-to-dd3a8c0f38.md
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Update reva to dd3a8c0f38
|
||||
|
||||
* fixes etag propagation in the ocis driver
|
||||
|
||||
https://github.com/owncloud/ocis/pull/725
|
||||
https://github.com/cs3org/reva/pull/1264
|
||||
@@ -26,20 +26,12 @@ It uses the port range 9140-9179 to preconfigure several services.
|
||||
| 9149 | authbearer debug |
|
||||
| 9150 | sharing |
|
||||
| 9151 | sharing debug |
|
||||
| 9152 | storage root |
|
||||
| 9153 | storage root debug |
|
||||
| 9154 | storage home |
|
||||
| 9155 | storage home debug |
|
||||
| 9156 | storage home data |
|
||||
| 9157 | storage home data debug |
|
||||
| 9158 | storage eos |
|
||||
| 9159 | storage eos debug |
|
||||
| 9160 | storage eos data |
|
||||
| 9161 | storage eos data debug |
|
||||
| 9162 | storage oc |
|
||||
| 9163 | storage oc debug |
|
||||
| 9164 | storage oc data |
|
||||
| 9165 | storage oc data debug |
|
||||
| 9155 | storage home data |
|
||||
| 9156 | storage home debug |
|
||||
| 9157 | storage users |
|
||||
| 9158 | storage users data |
|
||||
| 9159 | storage users debug |
|
||||
| 9166-9177 | reserved for s3, wnd, custom + data providers |
|
||||
| 9178 | storage public link |
|
||||
| 9179 | storage public link data |
|
||||
| 9179 | storage public link debug |
|
||||
|
||||
@@ -45,7 +45,7 @@ Then run the api acceptance tests with the following command:
|
||||
make test-acceptance-api \
|
||||
TEST_SERVER_URL=https://localhost:9200 \
|
||||
TEST_OCIS=true \
|
||||
OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \
|
||||
OCIS_REVA_DATA_ROOT=/var/tmp/ocis/owncloud/ \
|
||||
SKELETON_DIR=apps/testing/data/apiSkeleton \
|
||||
BEHAT_FILTER_TAGS='~@notToImplementOnOCIS&&~@toImplementOnOCIS'
|
||||
```
|
||||
@@ -59,13 +59,14 @@ To run a single test add `BEHAT_FEATURE=<feature file>`
|
||||
### use existing tests for BDD
|
||||
|
||||
As a lot of scenarios are written for oC10, we can use those tests for Behaviour driven development in ocis.
|
||||
Every scenario that does not work in OCIS with OC storage, is listed in `tests/acceptance/expected-failures-on-OC-storage.txt` with a link to the related issue.
|
||||
Every scenario that does not work in OCIS with "owncloud" storage, is listed in `ocis/tests/acceptance/expected-failures-on-OWNCLOUD-storage.txt` with a link to the related issue.
|
||||
Every scenario that does not work in OCIS with "ocis" storage, is listed in `ocis/tests/acceptance/expected-failures-on-OCIS-storage.txt` with a link to the related issue.
|
||||
|
||||
Those scenarios are run in the ordinary acceptance test pipeline in CI. The scenarios that fail are checked against the
|
||||
expected failures. If there are any differences then the CI pipeline fails.
|
||||
Similarly, scenarios that do not work in OCIS with EOS storage are listed in `tests/acceptance/expected-failures-on-EOS-storage.txt`.
|
||||
Similarly, scenarios that do not work in OCIS with EOS storage are listed in `ocis/tests/acceptance/expected-failures-on-EOS-storage.txt`.
|
||||
Additionally, some issues have scenarios that demonstrate the current buggy behaviour in ocis(reva).
|
||||
Those scenarios are in this ocis repository in `tests/acceptance/features/apiOcisSpecific`.
|
||||
Those scenarios are in this ocis repository in `ocis/tests/acceptance/features/apiOcisSpecific`.
|
||||
Have a look into the [documentation](https://doc.owncloud.com/server/developer_manual/testing/acceptance-tests.html#writing-scenarios-for-bugs) to understand why we are writing those tests.
|
||||
|
||||
If you want to work on a specific issue
|
||||
@@ -77,7 +78,7 @@ If you want to work on a specific issue
|
||||
'apiTests': {
|
||||
'coreBranch': 'master',
|
||||
'coreCommit': 'a06b1bd5ba8e5244bfaf7fa04f441961e6fb0daa',
|
||||
'numberOfParts': 2
|
||||
'numberOfParts': 6
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,7 +89,7 @@ If you want to work on a specific issue
|
||||
make test-acceptance-api \
|
||||
TEST_SERVER_URL=https://localhost:9200 \
|
||||
TEST_OCIS=true \
|
||||
OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \
|
||||
OCIS_REVA_DATA_ROOT=/var/tmp/ocis/owncloud/ \
|
||||
BEHAT_FEATURE='tests/acceptance/features/apiComments/comments.feature:123'
|
||||
```
|
||||
|
||||
@@ -99,9 +100,3 @@ If you want to work on a specific issue
|
||||
7. run each of the local tests that were demonstrating the **buggy** behavior. They should fail.
|
||||
8. delete each of the local tests that were demonstrating the **buggy** behavior.
|
||||
9. make a PR that has the fixed code, relevant lines removed from the expected failures file and bug demonstration tests deleted.
|
||||
|
||||
If the changes also affect the `ocis-reva` repository make sure the changes get ported over there.
|
||||
|
||||
### Notes
|
||||
- in a normal case the test-code cleans up users after the test-run, but if a test-run is interrupted (e.g. by CTRL+C) users might have been left on the LDAP server. In that case rerunning the tests requires wiping the users in the ldap server, otherwise the tests will fail when trying to populate the users.
|
||||
- the tests usually create users in the OU `TestUsers` with usernames specified in the feature file. If not defined in the feature file, most users have the password `123456`, defined by `regularUserPassword` in `behat.yml`, but other passwords are also used, see [`\FeatureContext::getPasswordForUser()`](https://github.com/owncloud/core/blob/master/tests/acceptance/features/bootstrap/FeatureContext.php#L386) for mapping and [`\FeatureContext::__construct`](https://github.com/owncloud/core/blob/master/tests/acceptance/features/bootstrap/FeatureContext.php#L1668) for the password definitions.
|
||||
|
||||
@@ -17,7 +17,6 @@ import (
|
||||
glauthcfg "github.com/glauth/glauth/pkg/config"
|
||||
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/micro/go-micro/v2"
|
||||
"github.com/micro/go-micro/v2/client"
|
||||
"github.com/oklog/run"
|
||||
openzipkin "github.com/openzipkin/zipkin-go"
|
||||
@@ -192,11 +191,7 @@ func Server(cfg *config.Config) *cli.Command {
|
||||
}
|
||||
}
|
||||
|
||||
as, gs, err := getAccountsServices()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
as, gs := getAccountsServices()
|
||||
server, err := glauth.Server(
|
||||
glauth.AccountsService(as),
|
||||
glauth.GroupsService(gs),
|
||||
@@ -312,19 +307,7 @@ func Server(cfg *config.Config) *cli.Command {
|
||||
}
|
||||
|
||||
// getAccountsServices returns an ocis-accounts service
|
||||
func getAccountsServices() (accounts.AccountsService, accounts.GroupsService, error) {
|
||||
service := micro.NewService()
|
||||
|
||||
// parse command line flags
|
||||
service.Init()
|
||||
|
||||
err := service.Client().Init(
|
||||
client.ContentType("application/json"),
|
||||
)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
return accounts.NewAccountsService("com.owncloud.api.accounts", service.Client()),
|
||||
accounts.NewGroupsService("com.owncloud.api.accounts", service.Client()),
|
||||
nil
|
||||
func getAccountsServices() (accounts.AccountsService, accounts.GroupsService) {
|
||||
return accounts.NewAccountsService("com.owncloud.api.accounts", client.DefaultClient),
|
||||
accounts.NewGroupsService("com.owncloud.api.accounts", client.DefaultClient)
|
||||
}
|
||||
|
||||
5
konnectd/.env
Normal file
5
konnectd/.env
Normal file
@@ -0,0 +1,5 @@
|
||||
PORT=3001
|
||||
HOST=127.0.0.1
|
||||
BROWSER=none
|
||||
INLINE_RUNTIME_CHUNK=false
|
||||
EXTEND_ESLINT=true
|
||||
3
konnectd/.eslintignore
Normal file
3
konnectd/.eslintignore
Normal file
@@ -0,0 +1,3 @@
|
||||
build/*
|
||||
node_modules/*
|
||||
|
||||
30
konnectd/.eslintrc.json
Normal file
30
konnectd/.eslintrc.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"plugins": ["react-intl-format"],
|
||||
"extends": ["plugin:react/recommended", "plugin:jest/recommended"],
|
||||
"settings": {
|
||||
"react": {
|
||||
"version": "detect"
|
||||
}
|
||||
},
|
||||
"parser": "babel-eslint",
|
||||
"rules": {
|
||||
"react-intl-format/missing-formatted-message": [
|
||||
"error",
|
||||
{
|
||||
"noTrailingWhitespace": false,
|
||||
"ignoreLinks": false
|
||||
}
|
||||
],
|
||||
"react-intl-format/missing-attribute": [
|
||||
"error",
|
||||
{
|
||||
"noTrailingWhitespace": false,
|
||||
"noSpreadOperator": true
|
||||
}
|
||||
],
|
||||
"react-intl-format/missing-values": [
|
||||
"error"
|
||||
],
|
||||
"react/display-name": "off"
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,10 @@ GENERATE ?= $(PACKAGES)
|
||||
|
||||
TAGS ?=
|
||||
|
||||
# Assets
|
||||
LOGO_URL = https://raw.githubusercontent.com/owncloud/assets/main/logo.svg
|
||||
FAVICON_URL = https://raw.githubusercontent.com/owncloud/assets/main/favicon.ico
|
||||
|
||||
ifndef OUTPUT
|
||||
ifneq ($(DRONE_TAG),)
|
||||
OUTPUT ?= $(subst v,,$(DRONE_TAG))
|
||||
@@ -77,9 +81,15 @@ lint:
|
||||
for PKG in $(PACKAGES); do go run golang.org/x/lint/golint -set_exit_status $$PKG || exit 1; done;
|
||||
|
||||
.PHONY: generate
|
||||
generate:
|
||||
generate: assets
|
||||
go generate $(GENERATE)
|
||||
|
||||
.PHONY: assets
|
||||
assets:
|
||||
mkdir -p assets/identifier/static
|
||||
curl -o assets/identifier/static/logo.svg ${LOGO_URL}
|
||||
curl -o assets/identifier/static/favicon.ico ${FAVICON_URL}
|
||||
|
||||
.PHONY: changelog
|
||||
changelog:
|
||||
go run github.com/restic/calens >| CHANGELOG.md
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"identifier-app.js": "./static/js/identifier-app.b36b0d07.chunk.js",
|
||||
"identifier-app.js.map": "./static/js/identifier-app.b36b0d07.chunk.js.map",
|
||||
"identifier-container.js": "./static/js/identifier-container.569688ae.chunk.js",
|
||||
"identifier-container.js.map": "./static/js/identifier-container.569688ae.chunk.js.map",
|
||||
"main.css": "./static/css/main.ed0ebb7d.chunk.css",
|
||||
"main.js": "./static/js/main.c5511071.chunk.js",
|
||||
"main.js.map": "./static/js/main.c5511071.chunk.js.map",
|
||||
"runtime~main.js": "./static/js/runtime~main.766bf48a.js",
|
||||
"runtime~main.js.map": "./static/js/runtime~main.766bf48a.js.map",
|
||||
"static/js/4.f92d7884.chunk.js": "./static/js/4.f92d7884.chunk.js",
|
||||
"static/js/4.f92d7884.chunk.js.map": "./static/js/4.f92d7884.chunk.js.map",
|
||||
"static/js/5.b1222fed.chunk.js": "./static/js/5.b1222fed.chunk.js",
|
||||
"static/js/5.b1222fed.chunk.js.map": "./static/js/5.b1222fed.chunk.js.map",
|
||||
"index.html": "./index.html",
|
||||
"precache-manifest.ea8b619599c55ba5f128f51d796152cd.js": "./precache-manifest.ea8b619599c55ba5f128f51d796152cd.js",
|
||||
"service-worker.js": "./service-worker.js",
|
||||
"static/css/main.ed0ebb7d.chunk.css.map": "./static/css/main.ed0ebb7d.chunk.css.map",
|
||||
"static/media/kopano-logo.svg": "./static/media/kopano-logo.10e256c7.svg",
|
||||
"static/media/fancy-background.css": "./static/media/loginscreen-bg.cc3ef0e4.jpg",
|
||||
"static/media/index.css": "./static/media/roboto-latin-900italic.bc833e72.woff"
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
<!DOCTYPE html><html lang="en"><head data-kopano-build="0.28.1-3-gabe57b2-dirty"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#ffffff"><link rel="shortcut icon" href="./static/favicon.ico" type="image/x-icon"><meta property="csp-nonce" content="__CSP_NONCE__"><title>Kopano Sign in</title><link href="./static/css/main.ed0ebb7d.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="bg"><div id="bg-thumb"></div><div id="bg-enhanced"></div></div><div id="root" data-path-prefix="__PATH_PREFIX__"></div><div id="font-preloader"><span>aA</span>Bb</div><script src="./static/js/runtime~main.766bf48a.js"></script><script src="./static/js/main.c5511071.chunk.js"></script></body></html>
|
||||
@@ -1,142 +0,0 @@
|
||||
self.__precacheManifest = [
|
||||
{
|
||||
"revision": "7aa085561004b3906a54",
|
||||
"url": "./static/js/identifier-app.b36b0d07.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "086f2ac22fca8d45f2f1",
|
||||
"url": "./static/js/identifier-container.569688ae.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "ec7a9d03e50fe60db0c9",
|
||||
"url": "./static/css/main.ed0ebb7d.chunk.css"
|
||||
},
|
||||
{
|
||||
"revision": "ec7a9d03e50fe60db0c9",
|
||||
"url": "./static/js/main.c5511071.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "9987e5e6817f0b1d1511",
|
||||
"url": "./static/js/runtime~main.766bf48a.js"
|
||||
},
|
||||
{
|
||||
"revision": "de913ae19ba466b785d7",
|
||||
"url": "./static/js/4.f92d7884.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "435f63f2b0ecc59d0119",
|
||||
"url": "./static/js/5.b1222fed.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "d704bb3d579b7d5e40880c75705c8a71",
|
||||
"url": "./static/media/roboto-latin-100italic.d704bb3d.woff"
|
||||
},
|
||||
{
|
||||
"revision": "55536c8e9e9a532651e3cf374f290ea3",
|
||||
"url": "./static/media/roboto-latin-300.55536c8e.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "a1471d1d6431c893582a5f6a250db3f9",
|
||||
"url": "./static/media/roboto-latin-300.a1471d1d.woff"
|
||||
},
|
||||
{
|
||||
"revision": "6232f43d15b0e7a0bf0fe82e295bdd06",
|
||||
"url": "./static/media/roboto-latin-100italic.6232f43d.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "d69924b98acd849cdeba9fbff3f88ea6",
|
||||
"url": "./static/media/roboto-latin-300italic.d69924b9.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "210a7c781f5a354a0e4985656ab456d9",
|
||||
"url": "./static/media/roboto-latin-300italic.210a7c78.woff"
|
||||
},
|
||||
{
|
||||
"revision": "987b84570ea69ee660455b8d5e91f5f1",
|
||||
"url": "./static/media/roboto-latin-100.987b8457.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "e9dbbe8a693dd275c16d32feb101f1c1",
|
||||
"url": "./static/media/roboto-latin-100.e9dbbe8a.woff"
|
||||
},
|
||||
{
|
||||
"revision": "5d4aeb4e5f5ef754e307d7ffaef688bd",
|
||||
"url": "./static/media/roboto-latin-400.5d4aeb4e.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "bafb105baeb22d965c70fe52ba6b49d9",
|
||||
"url": "./static/media/roboto-latin-400.bafb105b.woff"
|
||||
},
|
||||
{
|
||||
"revision": "d8bcbe724fd6f4ba44d0ee6a2675890f",
|
||||
"url": "./static/media/roboto-latin-400italic.d8bcbe72.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "9680d5a0c32d2fd084e07bbc4c8b2923",
|
||||
"url": "./static/media/roboto-latin-400italic.9680d5a0.woff"
|
||||
},
|
||||
{
|
||||
"revision": "285467176f7fe6bb6a9c6873b3dad2cc",
|
||||
"url": "./static/media/roboto-latin-500.28546717.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "de8b7431b74642e830af4d4f4b513ec9",
|
||||
"url": "./static/media/roboto-latin-500.de8b7431.woff"
|
||||
},
|
||||
{
|
||||
"revision": "510dec37fa69fba39593e01a469ee018",
|
||||
"url": "./static/media/roboto-latin-500italic.510dec37.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "ffcc050b2d92d4b14a4fcb527ee0bcc8",
|
||||
"url": "./static/media/roboto-latin-500italic.ffcc050b.woff"
|
||||
},
|
||||
{
|
||||
"revision": "037d830416495def72b7881024c14b7b",
|
||||
"url": "./static/media/roboto-latin-700.037d8304.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "cf6613d1adf490972c557a8e318e0868",
|
||||
"url": "./static/media/roboto-latin-700.cf6613d1.woff"
|
||||
},
|
||||
{
|
||||
"revision": "010c1aeee3c6d1cbb1d5761d80353823",
|
||||
"url": "./static/media/roboto-latin-700italic.010c1aee.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "19b7a0adfdd4f808b53af7e2ce2ad4e5",
|
||||
"url": "./static/media/roboto-latin-900.19b7a0ad.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "846d1890aee87fde5d8ced8eba360c3a",
|
||||
"url": "./static/media/roboto-latin-700italic.846d1890.woff"
|
||||
},
|
||||
{
|
||||
"revision": "8c2ade503b34e31430d6c98aa29a52a3",
|
||||
"url": "./static/media/roboto-latin-900.8c2ade50.woff"
|
||||
},
|
||||
{
|
||||
"revision": "7b770d6c53423deb1a8e49d3c9175184",
|
||||
"url": "./static/media/roboto-latin-900italic.7b770d6c.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "bc833e725c137257c2c42a789845d82f",
|
||||
"url": "./static/media/roboto-latin-900italic.bc833e72.woff"
|
||||
},
|
||||
{
|
||||
"revision": "cc3ef0e44832d84dcdb8fce769840ecd",
|
||||
"url": "./static/media/loginscreen-bg.cc3ef0e4.jpg"
|
||||
},
|
||||
{
|
||||
"revision": "6f9a3fb01c61fa1d416601814b69f57a",
|
||||
"url": "./static/media/loginscreen-bg-overlay.6f9a3fb0.svg"
|
||||
},
|
||||
{
|
||||
"revision": "10e256c785b6ad2fe0a337b2aa9e6da6",
|
||||
"url": "./static/media/kopano-logo.10e256c7.svg"
|
||||
},
|
||||
{
|
||||
"revision": "02abc6e9f1d6def38abd7f6b448b00f0",
|
||||
"url": "./index.html"
|
||||
}
|
||||
];
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 106 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +0,0 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],[function(n,o,i){n.exports=i(6)},function(n,o,i){},function(n,o,i){},function(n,o,i){},function(n,o,i){},function(n,o,i){},function(n,o,i){"use strict";i.r(o);i(1),i(2),i(3),i(4),i(5);console.info("Kopano Identifier build version: ".concat("0.28.1-3-gabe57b2-dirty")),console.info("Kopano Kpop build version: ".concat("0.24.5")),Promise.all([i.e(4),i.e(0)]).then(i.bind(null,552))}],[[0,3]]]);
|
||||
//# sourceMappingURL=main.c5511071.chunk.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"sources":["index.js","version.js","../node_modules/kpop/es/version.js"],"names":["console","info","concat","process","Promise","all","__webpack_require__","e","then","bind"],"mappings":"gPAUAA,QAAQC,KAAR,oCAAAC,OCRcC,4BDSdH,QAAQC,KAAR,8BAAAC,OEVA,WFaAE,QAAAC,IAAA,CAAAC,EAAAC,EAAA,GAAAD,EAAAC,EAAA,KAAAC,KAAAF,EAAAG,KAAA","file":"static/js/main.c5511071.chunk.js","sourcesContent":["import 'kpop/static/css/base.css';\nimport 'kpop/static/css/scrollbar.css';\nimport 'typeface-roboto';\nimport './app.css';\nimport './fancy-background.css';\n\nimport * as kpop from 'kpop/es/version';\n\nimport * as version from './version';\n\nconsole.info(`Kopano Identifier build version: ${version.build}`); // eslint-disable-line no-console\nconsole.info(`Kopano Kpop build version: ${kpop.build}`); // eslint-disable-line no-console\n\n// NOTE(longsleep): Load async, this enables code splitting via Webpack.\nimport(/* webpackChunkName: \"identifier-app\" */ './identifier');\n","/*global process: true*/\n\nconst build = process.env.REACT_APP_KOPANO_BUILD || '0.0.0-no-proper-build';\n\nexport {\n build\n};\n","/*global process: true*/\nvar build = \"0.24.5\" || '0.0.0-no-proper-build';\nexport { build };"],"sourceRoot":""}
|
||||
@@ -1,2 +0,0 @@
|
||||
!function(e){function r(r){for(var n,u,a=r[0],c=r[1],f=r[2],p=0,s=[];p<a.length;p++)u=a[p],o[u]&&s.push(o[u][0]),o[u]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(r);s.length;)s.shift()();return i.push.apply(i,f||[]),t()}function t(){for(var e,r=0;r<i.length;r++){for(var t=i[r],n=!0,a=1;a<t.length;a++){var c=t[a];0!==o[c]&&(n=!1)}n&&(i.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={3:0},i=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise(function(r,n){t=o[e]=[r,n]});r.push(t[2]=n);var i,a=document.createElement("script");a.charset="utf-8",a.timeout=120,u.nc&&a.setAttribute("nonce",u.nc),a.src=function(e){return u.p+"static/js/"+({0:"identifier-app",1:"identifier-container"}[e]||e)+"."+{0:"b36b0d07",1:"569688ae",4:"f92d7884",5:"b1222fed"}[e]+".chunk.js"}(e),i=function(r){a.onerror=a.onload=null,clearTimeout(c);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src,u=new Error("Loading chunk "+e+" failed.\n("+n+": "+i+")");u.type=n,u.request=i,t[1](u)}o[e]=void 0}};var c=setTimeout(function(){i({type:"timeout",target:a})},12e4);a.onerror=a.onload=i,document.head.appendChild(a)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="./",u.oe=function(e){throw console.error(e),e};var a=window.webpackJsonp=window.webpackJsonp||[],c=a.push.bind(a);a.push=r,a=a.slice();for(var f=0;f<a.length;f++)r(a[f]);var l=c;t()}([]);
|
||||
//# sourceMappingURL=runtime~main.766bf48a.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,75 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 1432.3 334.7" style="enable-background:new 0 0 1432.3 334.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;}
|
||||
.st1{fill:#414042;}
|
||||
.st2{fill:#00B3F0;}
|
||||
</style>
|
||||
<g id="Layer_1">
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M512.2,333.7h-37V145.5c0-14.7,2.8-28.9,8.3-42.3c5.5-13.4,13.5-25.5,24-35.9c10.2-10.2,22.1-18.2,35.5-23.8
|
||||
c13.4-5.6,27.6-8.5,42.4-8.5c14.7,0,29,2.9,42.4,8.5c13.4,5.6,25.3,13.6,35.5,23.8c10.4,10.4,18.5,22.5,24,35.9
|
||||
c5.5,13.4,8.3,27.6,8.3,42.3c0,14.4-2.8,28.6-8.3,41.9c-5.5,13.4-13.6,25.5-24,35.9c-10.2,10.2-22.1,18.2-35.5,23.8
|
||||
c-13.4,5.6-27.6,8.5-42.4,8.5c-14.7,0-29-2.9-42.4-8.5c-11.4-4.8-21.7-11.3-30.7-19.3V333.7z M585.3,72c-10,0-19.6,1.9-28.4,5.7
|
||||
c-8.9,3.8-16.7,9.1-23.3,15.7c-6.6,6.6-11.9,14.5-15.7,23.4c-3.8,9-5.8,18.6-5.8,28.6s1.9,19.6,5.7,28.4
|
||||
c3.8,8.9,9.1,16.7,15.7,23.3c6.6,6.6,14.4,11.9,23.3,15.7c8.8,3.8,18.4,5.7,28.4,5.7c10,0,19.6-1.9,28.4-5.7
|
||||
c8.9-3.8,16.7-9.1,23.3-15.7c6.6-6.6,11.8-14.4,15.7-23.3c3.8-8.8,5.7-18.4,5.7-28.4c0-10-1.9-19.7-5.8-28.6
|
||||
c-3.8-9-9.1-16.9-15.7-23.4c-6.6-6.6-14.4-11.8-23.3-15.7C604.9,74,595.3,72,585.3,72z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M832.7,255.6c-14.7,0-29-2.9-42.4-8.5c-13.4-5.6-25.3-13.6-35.5-23.8c-10.4-10.4-18.5-22.5-24-35.9
|
||||
c-5.5-13.4-8.3-27.5-8.3-41.9c0-14.7,2.8-28.9,8.3-42.3c5.5-13.4,13.6-25.5,24-35.9c10.2-10.2,22.1-18.2,35.5-23.8
|
||||
c13.4-5.6,27.6-8.5,42.4-8.5c14.7,0,29,2.9,42.4,8.5c13.4,5.6,25.3,13.6,35.5,23.8c10.4,10.4,18.5,22.5,24,35.9
|
||||
c5.5,13.4,8.3,27.6,8.3,42.3v101.2h-37v-20c-2.8,2.9-5.8,5.6-8.8,7.9c-6.5,5-13.4,9.1-20.5,12.2c-7.1,3.1-14.5,5.3-22.1,6.7
|
||||
C846.9,254.9,839.7,255.6,832.7,255.6z M832.7,72c-10,0-19.6,1.9-28.4,5.7c-8.9,3.8-16.7,9.1-23.3,15.7
|
||||
c-6.6,6.6-11.8,14.4-15.7,23.4c-3.8,9-5.8,18.6-5.8,28.6c0,10,1.9,19.6,5.7,28.4c3.8,8.9,9.1,16.7,15.7,23.3
|
||||
c6.6,6.6,14.4,11.9,23.3,15.7c8.8,3.8,18.4,5.7,28.4,5.7c10,0,19.6-1.9,28.4-5.7c8.9-3.8,16.7-9.1,23.3-15.7
|
||||
c6.6-6.6,11.9-14.4,15.7-23.3c3.8-8.8,5.7-18.4,5.7-28.4c0-10-1.9-19.7-5.8-28.6c-3.8-9-9.1-16.9-15.7-23.4
|
||||
c-6.6-6.6-14.4-11.8-23.3-15.7C852.3,74,842.8,72,832.7,72z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M1321.4,255.7c-14.7,0-28.9-2.9-42.2-8.5c-13.2-5.6-25.2-13.6-35.6-23.7c-10.2-10.5-18.2-22.6-23.8-35.9
|
||||
c-5.6-13.4-8.5-27.5-8.5-42c0-14.7,2.8-29,8.5-42.4c5.6-13.4,13.6-25.4,23.7-35.8c10.5-10.2,22.5-18.2,35.7-23.8
|
||||
c13.3-5.6,27.5-8.5,42.2-8.5c14.7,0,29,2.9,42.4,8.5c13.3,5.6,25.4,13.6,35.8,23.7c10.2,10.5,18.2,22.6,23.8,35.9
|
||||
c5.6,13.4,8.5,27.6,8.5,42.4c0,14.5-2.8,28.6-8.5,42c-5.6,13.4-13.6,25.4-23.7,35.8c-10.5,10.2-22.6,18.2-35.9,23.8
|
||||
C1350.4,252.8,1336.1,255.7,1321.4,255.7z M1321.4,72.1c-10,0-19.6,1.9-28.4,5.7c-8.9,3.8-16.7,9.1-23.3,15.7
|
||||
c-6.6,6.6-11.9,14.5-15.7,23.4c-3.8,8.9-5.8,18.6-5.8,28.6c0,10,1.9,19.6,5.7,28.4c3.8,8.9,9.1,16.7,15.7,23.3
|
||||
c6.6,6.6,14.4,11.9,23.3,15.7c8.8,3.8,18.4,5.7,28.4,5.7c10,0,19.6-1.9,28.4-5.7c8.9-3.8,16.8-9.1,23.5-15.7
|
||||
c6.7-6.6,12-14.4,15.8-23.2c3.8-8.8,5.8-18.4,5.8-28.4c0-10-1.9-19.7-5.8-28.6c-3.8-9-9.2-16.8-15.8-23.4
|
||||
c-6.7-6.6-14.6-11.9-23.5-15.7C1341,74,1331.5,72.1,1321.4,72.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M37,290.9H0V0h37V290.9z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M192.4,291.2L70.7,169.4c-6.4-6.4-9.9-14.8-9.9-23.9c0-9,3.5-17.5,9.9-23.9L192.4,0l26.2,26.2L106.1,138.7
|
||||
c-1.8,1.8-2.8,4.3-2.8,6.9c0,2.6,1,5,2.8,6.9L218.6,265L192.4,291.2z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path class="st2" d="M334,145.6c0-2.6-1-5-2.8-6.9l-3.5-3.5c0,0,0,0,0,0l-70-70l-2.3,2.4c-10.1,10.4-18,22.4-23.6,35.6
|
||||
c-5.6,13.4-8.5,27.6-8.5,42.4c0,14.5,2.9,28.6,8.5,42c5.6,13.3,13.6,25.4,23.8,35.8l2.3,2.4l69.8-69.8l0,0l3.5-3.5
|
||||
C333,150.6,334,148.2,334,145.6z"/>
|
||||
<path class="st1" d="M435.4,103.2L435.4,103.2c-5.6-13.4-13.6-25.4-23.8-35.9c-10.4-10.2-22.5-18.1-35.8-23.7
|
||||
c-13.4-5.6-27.6-8.5-42.4-8.5c-14.7,0-28.9,2.9-42.2,8.5c-0.7,0.3-1.3,0.6-2,0.9l29.2,29.2c4.9-1,9.9-1.6,15-1.6
|
||||
c10,0,19.6,1.9,28.4,5.7c8.9,3.8,16.8,9.1,23.5,15.7c6.7,6.6,12,14.4,15.8,23.4c3.8,9,5.8,18.6,5.8,28.6c0,10-1.9,19.6-5.8,28.4
|
||||
c-3.8,8.9-9.2,16.7-15.8,23.2c-6.7,6.6-14.6,11.9-23.5,15.7c-8.8,3.8-18.4,5.7-28.4,5.7c-5,0-9.9-0.5-14.7-1.5l-29.2,29.2
|
||||
c0.6,0.3,1.1,0.5,1.7,0.8c13.3,5.6,27.5,8.5,42.2,8.5c14.7,0,29-2.9,42.4-8.5c13.4-5.6,25.4-13.6,35.9-23.8
|
||||
c10.1-10.4,18.1-22.5,23.7-35.8c5.6-13.4,8.5-27.5,8.5-42C443.9,130.9,441,116.6,435.4,103.2z"/>
|
||||
<path class="st1" d="M1082,35c-55.4,0-100.3,44.9-100.3,100.3h-0.1v44.2v68h37h0.1V135.3c0-35,28.3-63.3,63.3-63.3
|
||||
c35,0,63.3,28.3,63.3,63.3h-0.1v112.2h37c0,0,0.1-111.6,0.1-112.2C1182.3,79.9,1137.4,35,1082,35z"/>
|
||||
<rect id="_x3C_Slice_x3E_" x="-0.7" y="-0.3" class="st0" width="1433" height="335"/>
|
||||
</g>
|
||||
<g id="Layer_2">
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.9 KiB |
@@ -1,95 +0,0 @@
|
||||
<svg enable-background="new 0 0 7680 4320" version="1.1" viewBox="0 0 7680 4320" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
||||
<style type="text/css">
|
||||
.st0{fill:#00B3F0;}
|
||||
</style>
|
||||
<path class="st0" d="m2294.4 2255.6c12.4-21.7 7.4-36.7-11.4-54.5-33.2-31.4-45-74.5-52.3-118.8-0.6-5-1.3-10-1.9-15 0-9.1-0.2-18.3-0.3-27.5l2.3-15c5-33.7 14.4-65.9 35.8-93.3 18.1-23.3 43.2-40.1 71.6-48.1 5.7-1.7 13.7 0 16-8.4h47.1c26 7.8 52.6 13.7 76 28.4 120.8 75.7 124.5 218.4 7.8 301-19.6 13.9-19.6 13.9-3.9 30.7 3.9 4.3 7.6 9 11.8 13 20.3 18.8 37.5 37.9 69.4 43.4 53.1 9.2 104.4 28.3 156.6 43.2 13.3 3.7 24.7 12.5 31.7 24.4 49.4 76.9 83.6 161.1 119.4 244.6 5.4 12.5-1 18.5-9.7 23.9-6.4 3.9-9.6 6.8-5.5 15.1 15 30.1 22.4 62.8 27.7 95.7 1.2 7.8 2.6 11.6 12.5 12.7 33.2 3.6 54.6 31.8 50.5 64.8-4.5 35.8-20.1 64.7-53.4 81.8-10.9 6.4-24.3 7.2-35.9 2.2-3.6-1.7-7.1-3.9-6.6-8.7s4.8-5.3 8.7-6c45.6-7.3 77.3-56.4 64.3-99.5-1.9-6.4-27.7-20.2-33-17.3-6.3 3.5-3.7 9.1-1.6 13.7 5.6 11.9 8.2 25 7.4 38.1-0.3 6.5-2 12.3-9.7 12.1-7.6-0.2-9.7-6.2-9.3-12.6 3.3-55.4-19.6-105.4-31.9-157.7-3.1-13.7-7.8-19.6-21.7-7.8-16.6 14.8-36.5 25.4-58 30.8 57.6 86.9 71.3 207 28.5 255-5.1-14.1-3.1-27.5-1.6-40.8 4.5-41.9 5.3-83.6-6-124.6-3.2-12-7.4-23.7-12.6-35-16.7-35.5-26.4-41.6-65.7-37.1-209.3 23.9-419.2 15.3-629 12.8-49.2-0.5-98.4-2-146.5 10.9-13.3 3.4-26.2 8-38.6 13.8-44.6 21.2-57.7 46.9-52.5 96 4.5 41 14.7 81.1 30.4 119.2 2.4 5.9 8.6 14.4-1.3 18.6-8.5 3.6-12.7-4.7-16.4-10.7-16.6-27.2-24.1-57.7-31-88.3-3.7-33.6-11.8-67.2 0-100.7 27.5-48.3 73.5-65.5 124.1-74.5 17.8-3.2 36.1-3.5 54.3-5.2 2.6 0.3 4.8 0 4.7-3.4-0.6-10.4-1.3-20.8-2-31.4l-0.8-8.6-2.1-46.2 0.9-51c3-18.1 4-36.6 3-54.9l0.5-7.8c9.2-13.6 10.9-29.9 15.7-45 2.5-7.8-0.4-6 3.5-13.8 3.3-5.7 7.2-10.9 11.8-15.7 55.9-30.6 90.7-52.8 146.7-83.1 23.5-12.7 47.1-24.8 73.1-31.9 3.9 2.4 10-1.1 13.9 3.9-6 5.1-12.4 9.8-19 14-63.8 34.3-125.2 73.2-190.5 104.9-4.8 2.3-9.7 4.3-11.8 9.8-10.2 28.2-22.1 56-25.2 86.3-5.3 50.8-3.7 101.8-4.8 152.7-0.5 24.1 0.7 25 25 24.5 39.9-0.9 79.7-2.1 119.5-2.2 157.4-0.5 314.9 3.9 472.1-7.5 64.1-4.6 125.2-18 180.5-52.3 32-19.9 32.1-20.8 16.8-55.2-32-72.2-59.8-146.4-102.4-213.5-6-10.1-15.8-17.5-27.2-20.5-43.2-12.4-86.3-25.5-129.5-38.6-15.5-4.8-32.2-4-47.1 2.4-72.5 27.5-145.7 35.8-218.1-0.9-8.1-3.9-21-0.5-23.8-13.7 9.4-12 4.8-27.3 10-40.1zm169.5-37.8c-44.9 19.6-90.2 35.3-139.3 14.4-6.5-2.7-9.3 0.4-9.7 7.3-1.2 18.3-7.8 35.3-14.4 50.5 71.4 32.8 142.9 28.9 218.3 4.2-19.6-14.7-35.6-28.6-48.1-46.1-5.3-7.3-12.1-14.3-6.9-24.6 2.1-0.6 4.9-0.9 3.9-3.9 0.1-0.9-2.3-1.2-3.8-1.8zm-212.6-167.5c-0.5 29.3 4.9 58.3 15.7 85.5 23.9 62.2 73.5 95.7 128.5 86.3 37-6.1 71.5-22.4 99.7-47.1 76.1-66.2 72.7-176.6-7-238.3-29-3-47.7-27.5-74.8-35.3-64.1-18.4-123.7 9.9-148.3 71.9-9.8 24.4-14.6 50.7-13.8 77z"/>
|
||||
<path class="st0" d="m2005.1 2490.1-0.4 7.8"/>
|
||||
<path class="st0" d="m5923.4 3168.7c0.5 2.6 1.1 5.3 1.6 7.8-2.1 20.9-2 41.9 0.4 62.8-3.9 39.7-1.6 79.6-2.7 119.4-0.4 16.9 12.4 10.2 19.6 9.2 42.6-5.9 85.3-12.6 127.8-19.4 194.7-31.4 388.9-65.5 581.2-109.4 148.4-33.9 296.2-70.2 439.8-121.6 39.2-14.1 78.2-29.7 114.4-51 12-6.8 23.1-14.9 33.2-24.2 25.4-24.3 26.2-45.4 1.8-71-34.3-35.9-78.5-56.4-123.2-74.5-110.6-45-226.4-71.9-342.6-97.5-33.1-7.3-66.3-13.9-99.4-21.2-6-1.3-13.2-0.7-18.4-7.5 10.9-5.7 21 0 30.4 2 130.6 26.7 261.4 52.9 387.8 96.3 58.9 20.2 116.4 43.2 164.3 85.1 41.2 36.1 41.6 71.4-1.1 106.2-31.8 25.9-68.9 42.7-106.5 57.8-153 60.9-312.2 100.1-472.1 136.7-237.6 54.3-477.7 95.4-718.8 130.2-14.5 2.1-19.6 7.8-19.2 22.7 0.7 24.2-0.9 48.4-1.5 72.5 0.3 12.4-2.4 24.8-7.8 36-3.9 7.8-6.6 17.2-1.2 26.1 2.7 4.4 7.8 9.3 2 13.6-4.8 3.7-9.9-1.3-14.3-3.6-31.4-16.3-62.6-32.8-93.7-49.4-40.9-21.9-82.1-43.4-122.4-66.3-13.5-8-29.4-10.9-44.9-8.2-26.4 4.1-52.9 8.2-79.5 11-11 1.1-14.6 5.2-14.4 15.7 0.5 22.9 0.3 45.8 0.2 68.7 0 16.3-0.3 32.2-7.3 47.9-3.9 9.4-6.7 21.3 2 31.4 2.7 3.2 5.6 8.4 0.6 12-3.7 2.7-7.5-0.5-10.7-2.6-24.7-16-49.4-32-73.9-48.3-41.9-27.8-83.9-55.6-125.6-83.8-7.9-5.7-17.8-8.1-27.5-6.5-134.1 17.1-268.2 34.4-402.4 50.4-121.3 14.5-242.7 27.8-364.1 41-88.3 9.6-176.6 18.3-265.1 26.9-10.6 1-13.5 3.4-10.1 14.1 10.4 33 20.4 66.2 29.7 99.5 5.7 20.7 25.5 16.6 38.8 23.1 18.2 9 40.5 6.7 60.5 20.5-31.9 0-60.4-9.5-90.9-11.5 5.2 18.8 11.8 35.3 13.6 54.4-18.5-11.3-20.7-29.9-26.4-46.2-2.3-8.9-10-15.4-19.1-16.3-150.3-27.9-299.4-61.2-449-92.4-13.4-3.1-27.3-2.7-40.5 1.1-20.4 5.7-41.2 10.3-62.1 13.9 32.8-13.7 64.3-30.3 98.1-42.4 59.6-21.5 117.7-46.5 176.8-70 64.9-25.9 128.5-55.4 194.8-77.7 8.6-3.2 17.4-5.7 26.4-7.4 9.1-1.4 20.2-2 8.5 12.2-4.9 5.9 0 11.2 1.6 16.5 8.3 25.5 17.6 50.7 25.1 76.4 3.2 11.1 8.3 14.6 19.3 13.4 70.2-7.3 140.4-13.9 210.6-21.3 101.3-10.8 202.6-22 303.9-33.5 114.8-13.2 229.6-27 344.4-40.8 48-5.8 95.9-11.8 143.9-18 6.3-0.8 13.2 0.4 20-6.4-27.5-19-54.5-38.3-82.4-56.1-10-6.4-14.3-12.8-14.6-24.8-3.5-163.4 1.2-326.9-5.3-490.5-1-24.3 0.6-25.3 23.8-17.8 63.4 20.6 126.1 43.2 189.2 64.9 21.9 7.5 32.8 20.4 42.8 37.7 33.4 57.8 62.5 117.7 90.6 178.2 9.3 20 7.4 40.8 7.8 61.3 2 66.7 2.9 133.4 3.5 200.1 0 13.2 1.9 18.7 17.3 15.4 21.6-4.5 43.9-6.1 67.8-13.7-17.1-9.5-33.8-20-51.6-28.1-11.5-5.2-14.4-11.8-14.6-24.1-3.1-159.5 1.1-319.1-6.1-478.5-0.7-15.3 3.6-20.3 19.1-15.7 68.1 21 135.4 44.7 203.5 65.3 30.6 9.3 44.6 28.3 58.1 51.9 32.4 56.7 63.4 114.3 88.4 174.7-13.1-0.6-16.2-12.2-20.9-20.7-28.8-52.4-56.7-105.3-85.4-157.7-3.9-6.8-4.4-16.8-14.8-18.5 0-2.8-0.9-3.2-3.1-1.6l2.9 1.7c6.8 46.9 2.9 93.7-2.7 140.2-1.3 11.1 0.5 16.3 11.4 20.2 25.2 8.9 50.1 18.6 74.5 29.1 13.4 5.6 28.2 8.8 36.1 22.5zm-496.2-198.2c-0.5-3.9-2.4-9.5-5.3-8.6-5.7 1.6-1.6 6.9-1.2 10.7-1.7 46.1 2.9 92.6-4.6 138.5-1.5 9.5 5.6 10.4 11.3 12.9 26.2 11.8 52.4 23.5 78.5 34.7 7.8 3.4 13.9 12.1 26.1 8.4-23-38.7-42.5-78.5-62.4-117.7-13.3-26.7-25.1-54.3-42.4-78.9zm89 601.4c0.8-2.1 1.4-4.4 1.8-6.6-2.4-120.1 6.6-240.2 4.4-360.3 0-11.1-4.3-15.7-14-20-30-12.9-59.4-27.1-89.1-40.6-14.7-6.7-22.9-18.8-22.6-33.9 0.9-49.6 2.6-99.2 5.8-148.7 0.6-9.4 0-11.5-8.6-14.4-56.8-19.6-113.4-39.8-169.9-60-20.8-7.5-20.5-7.8-20.4 14.4 0.7 150.2 3.9 300.5 0.7 450.7-0.3 13.1 3.9 19.6 14.6 26.4 60.2 37.9 120.1 76.2 179.7 115 39.4 25.3 78 51.5 117.6 78zm60.2-451.8h0.5c0 73.8 0.3 147.7-0.3 221.6 0 10.8 3.3 16.3 12.8 21.1 97.4 49.2 194.7 98.6 289.6 152.4 11.2 6.3 15.4 6.6 15.7-8.4 0.4-51.4 1.7-102.6 6.8-154 5.3-53.2 3.5-107 5.4-160.6 0.4-10.4-3.4-14.7-12.8-18.3-30-11.3-59.4-23.8-89.2-35.7-14.9-5.9-24.5-16.7-23.9-32.5 2-47.6 4.8-95.3 9-142.7 0.8-8.6 0.6-10.4-7.3-12.9-62.8-20.3-125.6-40.8-187.9-62.2-13.9-4.7-18.8-5.1-18.6 12.6 1 73.2 0.4 146.4 0.4 219.6h-0.2zm-1747.2 502c30.2 5.7 55.2 9.9 80.2 15.1 114.4 23.9 228.7 47.9 343.1 72.1 11.8 2.5 22.8 5.9 16.6-14.2-21.1-68.7-41.6-137.5-61.6-206.5-3.6-12.6-7.8-14.8-20-9.4-45.4 20.1-91.3 39.2-137.1 58.4-71.1 30-142.9 57.4-221.2 84.5zm1588-667c-1-0.3-2.2-1.1-3-0.9-1.8 0.6-1.6 1.7 0 2.5 0.5 0.2 1.5 0.8 1.6 0.7 0.6-0.8 1.1-1.6 1.5-2.5v0.2z"/>
|
||||
<path class="st0" d="m6045.9 2501.3c8.9-7.5 12.8-15.9 10.2-27.8-1.5-7.7-1.3-15.7 0.6-23.3 1.9-8.7 9.7-12.8 15.9-5.7 16.9 19.2 15.7-3.5 17.6-8.5 2.8-8.2 0.5-18.1 1.6-27.2 0.8-6.2 5.6-16.8 11.4-8.4 11.5 16.8 13.3 1.3 17.7-3.5 7.4-7.8 4.4-18.6 5.5-28.2 0.7-6.5 2-15.3 11.1-10.7 6 3.1 9 6.4 13.1-1.2 5.3-10-3.6-13.9-7.8-19.6-3.9-5.1-8.8-5.1-13.2-0.2s-9.6 10.7-14 16.4c-17.5 22.8-34.6 45.9-52.5 68.5-4.8 6-9 18.9-18.1 13.4-11.3-6.9-1-16.2 3.9-23.2 19.3-28.7 39.2-56.9 61.2-84 3.9-4.7 0.8 0.9 4.7-6.9 2.1-4.2 4.8-8.2 7.8-11.8 2.4-2.8 5-5.5 7.8-7.8 3.5-3.2-0.8 0 3.9-3 33.7-21 49.6-59.9 40.6-100.8-8.6-39.2-45.7-51.7-76.6-25.9-52.3 43.5-106.4 84.5-162.4 123.2-4.8 3.4-9.8 6.6-14.9 9.5-3.9 2.1-8.4 6-12.3 1.5-4.6-5.3 0-9.8 3.5-13.5 4.3-4.9 9.2-9.3 14.5-13.1 54.3-36.4 102.6-81.2 158.9-114.7 7.8-4.7 10.9-8.9 3-16-0.9-0.9-1.7-2-2.6-2.9-20.7-21.7-28.5-60.5-54.1-69-29.5-9.7-51.5-29-78.5-41-6.8-3-20.4-7-15.7-15.7s15.1 0.5 22.2 3.9c23.9 11.8 46.3 26.3 67 43.2 6.9-5.6-3.7-16.9 6.4-18.6 7.8-1.3 11 7.8 14.9 13.8 14 20.7 27.7 41.6 44.1 66.3 7.8-26.8-2.8-46.1-6.9-65.6-1.2-6-14.5 0-21.1-7.8-11.8-14-26-25.8-38.6-39-14.9-15.7-12.6-32.8 6.1-44.1s39.2-12.9 62-13.2c-6.4-10.5-18.4-12.2-23.5-21.3-2.6-4.6-6.5-3.1-10-0.6-24.6 17.4-52.8 24.6-83.7 27.1 3.1 9.7 11.1 12.6 15.9 18.2 3.1 3.7 8.8 6.4 3.9 13-4.1 5.7-9 4.8-13.9 2.7-16.1-7.1-31.4-16.1-48.6-20.8-2.3-1.1-4.2-3-5.2-5.4-4.4-8.9 2.6-44.3 9.8-51.3 28.6-27.5 96.5-33.8 125.9-7.8 21 18.8 44.3 35 63.4 55.9 8.6 9.4 15.7 14 27.5 4.2 10.9-9.1 20.4-5.7 26.6 7.3 5.4 11.3 11.3 22.3 26 23.9 4.2 0.1 7.6 3.6 7.6 7.8 0 6.1-5.5 6.5-9.9 7.3-7.8 1.5-15.7 2.5-23.1 4.2-33.5 7.1-55.2 26.6-59.9 61.3-1.8 13.3-14.2 25.9-2.9 41 3.9 5.3-3.4 7.8-7.8 7-5.6-1.3-11-3.1-16.2-5.5 0 21.6 2.2 23.3 22.2 17.9 37-10 65.4 5.8 74.5 43.2s9.7 72.5-22.8 100.5c-4.9 4.2-8.3 10.2-13 14.6-14.4 13.4-7.6 21.7 5.9 29.3 4.7-4.9 2.4-10.4 2.9-15.2s0.7-10.9 6-13.7c6.2-3.3 8.5 2.2 12.5 5.6 15.7 13.5 16.4 13.4 3.5 32.8-5.3 8.1-6.6 14 0.4 22.4 86.1 103.8 159.6 216.9 237.8 326.4 15.2 22 32.3 42.8 51 62 11.8 11.8 21.1 10.6 29.8-3.6 18.7-30.8 31.8-64.4 48-96.5 10-19.9 20.6-39.4 29.9-59.6 5.1-10.9 12.4-13.3 23.5-12.1 7.8 0.9 11.3 2.1 6.5 10.3-30.9 53.2-54.9 109.9-83.9 164.1-8.4 15.7-19.9 28.5-43.2 31 12.2 7.5 21.1 5.7 29.8 3.6 18.4-4.3 36.8-9 55.2-13.7 11.8-3 24.1-3.9 26.8-20.5 1.2-7 11.3-11.8 17.5-9.3 9.1 3.5 15.9 11.4 17.9 21 1.2 7.8-5.6 11.1-12.1 13.3-35.8 12.3-71.4 25.3-109.2 31.1-9.9 1.5-21.5 3.3-28.8-2.2-16.7-12.6-31.7-5.5-47.6-0.6-19 5.8-38.3 9.7-57.6 1.9-16.2-6.5-20.9-19.6-14.4-37 6.7-18.1 20.7-25.9 36.6-20.5 4.4 1.5 9.5 3.1 8.9 8.7-0.4 4.6-5.1 5.7-9.1 5.8-11.3 0-18.1 5.9-16.4 16.9 1.6 11 12.2 7.8 19.3 7.8 17.3 0.4 33.4-5.2 49.5-10.8 8.4-2.9 12.3-6.7 4.9-15.3-87.1-102.3-153-220-234.7-326.1-15.2-19.6-30.4-39.2-44.7-59.6-7.6-10.8-12.1-10.5-19.6 0.3-31.4 45.9-63.1 91.5-95.3 136.8-6.9 9.8-13.9 26-27 21.2-9.5-3.5-12.9-19.8-13-32 0-10.3-7.5-26.6 5.5-29.7 15.7-3.7 5.5 17.6 16.3 23.5zm107.3-491.6c-16.9-8.1-31.7-20-43.2-34.8-3.9-5-7-8.5-14.4-5.6-15.7 6.2-31.9 11.3-47.8 17.1-11.4 4.2-13.3 10.9-5.1 20.6 12.2 14.4 25.7 27.7 35.3 44.1 1.6 1.9 3.5 3.5 5.5 4.8 13.2-17.4 15.7 4.6 25.2 7.8 6.1-24.2 21.6-40.3 44.3-54h0.2zm-173.2-62.7c24.2-0.9 47.8-8.2 68.3-21.1 3.1-2 7.8-3.7 6.8-8.4s-5.4-5.3-9.1-5.6c-24.1-2.3-48.3-4.2-71.4 4.8-11.2 4.3-29.5 7.8-27.2 20.4s20.7 8.1 32.5 9.8h0.1z"/>
|
||||
<path class="st0" d="m6698.2 2409.1c22.4-31.4 42.9-61.6 65.3-90.2 9.7-12.3 12.9-28.9 27-38.1 2.9-1.4 4.1-4.8 2.7-7.6-0.8-1.6-2.2-2.7-3.9-3.1-12-4.9-23.9-14.2-36.5-12.4s-17.1-3.6-22.8-12.5c-17.2-27-24.1-58.6-40.3-86-6.6-11-9.6-23.9-20.8-32.2-7.2-5.4-10.4-15.7 0.6-18 25.3-5.8 30.6-28.2 41.9-45.6 8.9-13.8 10.8-30.5 17.8-45.4 8.7-19 22.8-35.1 40.5-46.1 12.2-7.8 26.2-14.5 26.8-32.6 0.1-5.6 4.8-10 10.4-9.9 5.8 0.3 6.8 5.3 7.3 10-0.1 5.5 4.2 10.1 9.7 10.4 36.4 5.2 71.8 17.7 109.9 7.8 15.1-3.9 31.9-1.9 47.8-5.6 6.1-1.4 16.3 0.9 20 5.5 16.3 19.8 36.1 11.5 55.2 8.9 25.4-3.5 32.5 3.9 27.8 28.9-3.2 15.4-8.6 30.2-16.2 43.9-13.6 25-16.6 54.3-8.4 81.6 4.2 15.1 7 30.5 8.4 46.1 2.2 22.6 7 43 22.6 61 12 13.9 6 31.1-11.1 40.6-8.8 4.3-18.5 6.8-28.3 7.3-29.2 3-54.3 15-77.5 32.8-11.8 9-27.5 2.7-41.2 3.3-34.6 2-69.3-3-102-14.6-12.3-4.6-20.6-1.6-28.2 9.5-19.9 29.1-41.9 56.8-60.9 86.3-10.7 16.3-22.2 22.8-43.6 16zm75.3-182c7-0.6 13.1-5.2 15.7-11.8 1.2-0.3 3.9 0.4 1.3-2.2-0.3 0.8-0.6 1.6-1 2.5-9.9-2.5-13.3 3.9-16 11.5l-3.2 0.7c0.5 0.7 0.9 1.4 1.4 2.1l1.8-2.8zm240.6 16.6c5.4-1.7 11.3-4.2 11.5-10.2 0.1-5.9-5.6-1.4-8.5-2.4 0.9-12.3 10.8-15.7 19.6-19.9 2.4 8.6-11.3 10.3-8.8 19.9 11 1 16.5-13.1 29.4-9.5-18.3 19.9-41.9 31.4-60.4 49.2 5.5 3.9 9.1 1.2 12.8 1.1 18.7-0.6 29.1-18.9 46.7-21.4 0 4.6-7.2 5.5-5.8 11.3 7.8 1.4 11.5-3.9 14.6-9.7l3.9-3.9c13.4-4.6 18-11.2 6.2-23.1-4.6-4.5-8.2-9.8-10.6-15.7-3.9-9.6-9.8-8.1-16.8-5.3-0.6-5.3-3.1-7.8-8.8-7.3-10.3 1.5-20.7 2.2-31.1 2.1-15.7-0.9-15.7 11.1-10.6 16.8 7.2 7.8 3.6 13.9 0.5 21.1 8.2-0.5 11.3-10 19-5.6l-6.1 10.2c-0.8 1.3-2.7 3.5-2.4 3.9 2.7 2.1 4.3 0.3 5.7-1.6zm3.9-244.4c1.2 9.9-18.7 11.8-8.7 26 7.8-8.4 18.2-13.6 22.5-26.5l-14.1 0.9c3.9-4.5 10.2-13.5 13.7-7.4 6.7 11.8 10.7 2.7 14.2 0 5.2-4.2 12.5-7.2 14-16.3l-38.8 4.6c-1.9 0.2-3.9 0.7-5.7 0.9-10.9 0.9-9.5 8.7-8.5 15.7 1.7 9.7 7.5 1.4 11.4 2.1zm-286 80.2c16.2-11.8 32.4-23.6 48.7-35.3 5.5-3.8 8.3-10.5 6.9-17.1-0.7-4.4-3.7-8.1-7.8-4.2-17.8 17.1-42.5 27.8-50.4 54.1l-1.5 4.4 4.1-1.9zm333.1-60.7c-20.6 7.4-31.7 27.5-50.3 37.6-7.8 4.2-14.2 10.6-11.8 21.7 1.2 6.1 4.4 7.8 9.2 6.9 11.3-2.4 28.1 4.3 32.5-9.9 5.9-19.2 15.3-36.9 20.8-56.1 1.8-0.2 3.1-1.8 2.9-3.6 0-0.2-0.1-0.5-0.2-0.7 0-0.4-1.1-0.6-1.6-0.9-0.5 1.7-1 3.4-1.5 5zm-215.1-41.3-2.4-2.2c-4.3-3.9-10-1.9-14.5-3.3-5.4-1.8-15.3 22.1-15.9-2.6-2.4 0.5-5.3 0.3-6.9 1.6-2.2 1.9-7.8 5-1.1 7.8 5.6 2.4 5.5 4.8 1.4 7.8-2.8 2.1-7.8 5.8-9.2 0-1.8-8.2-5-5.6-8.9-2.7-10.2 7.8-20.4 15.7-30.6 23.5l1.6 4.5c42.6-18 94.2-2.6 131.9-39.7-14.9 6.7-30.4 3.8-45.4 5.3zm89.7 125.5c-4.8-0.7-7.1-1.3-9.5-1.4-7-0.3-16 1.5-18-7.5-1.7-7.7 4.7-12.9 11.1-16.9 8.3-5.2 16.5-10.6 25-15.4 7.1-3.9 14.9-12.3 22.9-6.2 6.7 5.1 1.5 14.7 1.7 22.3 0.4 13-4.3 21-18.2 22.2-4.4 0.4-10 0.7-12.2 5.3-15.1 31.2-41.2 54.9-56.7 86-1.4 2.7-3.9 7.3 0.6 7.6 18.1 1.1 11.4 14.8 11.8 23.5 0.5 14.3-1.7 28.6-2.4 43-0.3 5.4-2.8 12.6 6.7 13.1 21.5 1.1 43.2 2.8 64.5 2.9 11.5 0 17.5-6.7 16.2-19.3-1.1-11-0.9-22.1-1.1-33.2-0.7-39.2-0.6-39.2 39.2-40.8 1.3-0.1 2.6-0.1 3.9 0 10.8 1 13.8-3.6 11.8-14-3.9-18-3.2-36.4-2.8-54.7 0.6-27.5 0.4-28.4-25.9-24.6-13.6 2-15.3-2.6-15-14.3 0.5-20.2-1.5-40.5-0.5-60.6 0.6-12.6-3.9-14.5-14.6-12.9-23.2 3.6-46.6 6.3-69.8 10-39.2 6.2-39.2 6.4-39.2 45.8-0.4 40.6-0.3 41.2-39.2 49.8-9.8 2.2-12.9 5.2-12.5 15.1 0.9 20.2 0.5 40.5 0.7 60.7 0 4.5-1.2 10.2 5.6 10.2 15.7 0 31.4 5.2 44.5-11.5 21.1-28.6 45.8-54.8 71.4-84.2zm-192.4 59.8c0.5 8.4 0.5 16.9 0 25.3-1.3 11.8 2.6 15.7 15 15.4 44.4-1.7 44.4-1.3 44.5-45.8 0-9.1-0.5-18.3 0.3-27.5 1.1-11.3-3.3-14.2-14.4-13.9-45.3 1.5-45.3 1.1-45.4 46.5zm113.8-64.7c-6.4-14.2-5.2-26-5.2-37.6 0-39.9 0-39.6-40.3-41.4-11.5-0.5-16.6 1.5-15.3 14.6 1.6 17.5 2.2 35.1 1.7 52.7 0 9.9 3.7 12.2 12.6 11.8 14.2-0.6 28.6-0.2 46.5-0.1zm23.5 122.5c1.2-4.2 5.9-9.5 0.4-12.5-4.2-2.2-9.4-0.6-11.8 3.6-13.4 18.4-27.2 36.7-39.6 55.8-3.9 6.4-6.9 15.7 8.4 12.8 9.7-1.6 19.5-2.1 29.2-1.4 10 0.4 14.1-3 13.7-13.3-0.7-15.1-0.3-30.1-0.3-45zm-111.6 20.6c12.8 5.8 25.3 16.8 35.3 14.8 16-3.4 6.8-22 10-33.7s-4.4-13-11.8-7.8c-11.7 7.7-22.1 17.3-33.5 26.7zm-60.1-133.1c29.2 0.5 73.9-36.1 71.7-56.6l-71.7 56.6zm361.8-130.6c-23.5 20.4-42.5 39.9-65 55.6-5.1 3.6-5.6 9.4-2.4 15.2 45.7-34.9 65.3-54.4 67.4-70.8zm-346.1 188.9c3.4-52.5-1.4-57.7-34.1-44.1 17.1 9.1 29.6 25.1 34.1 44.1zm151.9 129.5c29.6 1.7 59.9 13 91.9-4.7-33.1-3.7-62.4 2.8-92 4.6l0.1 0.1zm122.5-321.8c-26.6-16.6-39.9-14.5-51.6 5.7 16.5 1.6 31.8-3.6 51.5-5.7h0.1zm46.4 150.5v53.2c0 3.9-0.6 8.6 4.7 8.8 5.4 0.3 6.5-3.9 5.5-8-4-16.1 0.2-33.5-10.4-54h0.2zm-265.2-44.7-26.2 22.3c11.2-3.6 36.2 8.9 26.1-22.4l0.1 0.1zm60.5 129.8c-19.6 0-20.4 1.3-12.4 19.1 5.3-5.6 11.7-10.5 12.3-19.1h0.1zm-83.3 29.3 4.8-5.3c-1.3-0.8-3-2.6-3.9-2.2-2 1.2-3.9 2.7-5.6 4.4l4.7 3.1zm244.4 10.1c-0.9-0.5-2.1-1.5-2.4-1.3-0.8 0.7-1.4 1.6-1.6 2.7 0 0.4 1.4 1 2.1 1.5l1.9-2.9z"/>
|
||||
<path class="st0" d="m3988.7 1677.5c-104.4 4.9-213.1 0.9-321.7-4.2-17.6-0.9-30.3 0.5-27.1 19.2 1.2-15.4-7.8-21.3-26.3-21.8-86.3-1.8-172.5-4.4-258.7-7.8-19.3-0.8-31.4 2.6-32.8 24.2-0.3 4.7-0.5 10.7-6.3 13.7-6.9-1.5-6.3-7.5-6.8-12.2-2-19.1-7.4-36.3-5.4-57.7 6-64.8 2-130.5 2.6-195.9 0.6-78.5 1.9-157.3 2.9-236 0-3.3 0.5-6.6 0.4-9.8-1.2-24.1-1.3-23.8 23.9-17.9 139.8 33.2 279.8 65.1 419.2 99.8 56.9 14.2 114.8 24.1 171.4 39.2 9.5 2.5 19 7.3 29.6-0.4 6.3-4.6 10.6 1.6 10.7 8.6 0.2 8.5-0.2 16.9 0 25.4 0.4 100.4 0.8 200.9 1.2 301.4-0.3 28.8-0.3 28.8 23.2 32.2zm-658-142.5h-1.9c0 31.4 0.8 62.8-0.4 94.2-0.5 15.1 3.2 19.6 19.1 20 91.4 1.8 182.8 2.8 274 9.1 11.8 0.8 14.9-3 14-14.1-4.6-56.7-5.7-113.5-4.9-170.3 0-9.5-2.7-13.9-12.8-15.2-88.7-11.8-177.3-23.5-265.9-36.1-18.4-2.7-22.3 3.5-21.7 20.5 1.2 30.5 0.5 61.2 0.5 91.9zm97.3-136.2c-1.5-15-0.5-18.5 15-29.3 6.5-4.5 6.9-6 2.6-12.9-14.9-23.8-9.7-63.7 9.3-83.8 4.3-4.5 8.4-8.6 15-6.3 17.9 6.2 33.6 15.7 41.1 33.7 7.1 17 0 32-10.4 45.4-3.8 4.5-8.1 8.4-12.8 11.8-5.3 3.9-6.7 6.5-1.1 11.8 14.1 13.9 22.7 32.5 24.3 52.2 0.8 8.1 3.6 11.4 11.5 12.4 30.4 3.9 60.9 7.6 91.2 12.2 12.9 2 17.5-1.8 16.7-15.2-2.7-52.2-2.5-104.5 0.5-156.7 0.7-12.9-3.6-17.9-16.4-20.9-84.5-19.6-168.7-40.3-253.2-60.9-35.5-8.7-34.8-9-33.9 27.5 1.3 56.2 2 112.4 2 168.7 0 14.9 2.5 22.1 19.6 22.9 26 1.3 51.8 6.4 77.6 9.7 24.7 3.2 49.4 6.1 75.5 9.3-21.7-63.4-29.6-66.5-74.4-31.6h0.3zm215.4 159.7h-1c0 26.1 1.1 52.3-0.4 78.5-1 16.6 4.5 20.4 20.5 21.1 91.4 3.7 182.7 8.3 274 13.9 13.1 0.8 13.9-4.2 13.7-14.2-0.6-47.7-1.2-95.4-0.9-143.1 0-12.2-3.5-17.6-16.1-18.7-91.7-8.3-182.9-20.7-274-33.2-15.1-2.1-16.1 3.9-15.7 15.7 0.2 26.6-0.2 53.4-0.2 80.2l0.1-0.2zm305.7-153h0.4c0-22.2-0.7-44.4 0.3-66.7 0.5-12.9-3.9-18.6-16.6-20.8-92.6-16-184.4-35.7-276.1-56.6-14.3-3.3-16.6 1.3-16.2 14.2 1.3 51.6 2.3 103.2 1.9 154.7 0 14.9 6 19.1 18.9 20.7 90.9 11.8 181.8 23.8 272.7 36 11 1.5 15.4-1.3 15-13.1-0.9-22.6-0.4-45.5-0.4-68.4h0.1zm-447-90.3c0.3-14.4-20.6-38.8-34.8-37.3-15.7 1.6-14.8 17.2-17.9 28.6-1.8 5.6-2.7 11.5-2.6 17.3 0.6 11.2-3 26.1 10.8 30.6s25.2-3.9 34.1-14.4c6.1-6.9 9.7-15.6 10.3-24.8h0.1z"/>
|
||||
<path class="st0" d="m4899.7 2372.2c-12.1 15.7-3.3 25.2 8.9 35.7 29 25 56.9 51.3 87.9 76.4-18.4-37.5-32.9-74.5-3.6-113.8 8.4 8.2 2.9 14.4 1.7 20-6.1 25.2-0.4 51.8 15.7 72.2 38.7 51.6 125.1 90.2 194.3 29 10.7-9.5 15.5-18.2 13.3-33.4-5.8-42.2-12-84.1-30.6-123-10-20.9-23.1-39.2-43.5-51.6-10-6.4-22.2-8.7-33.9-6.3-18.4 3.6-20.6 10.1-8.6 24.4 16.4 19.6 16.2 40.7 5.3 62.2-10.6 20.7-26.6 33.5-51.4 32.3-13.9-0.6-26.8-7.6-35.1-18.8-14.7-18.5-13.7-47.8 1.8-71.8 12.3-19 29.2-25.4 54.3-19.6 7.1 1.6 8.8 0 13.9-6.5 12-16 26.3-31.7 48.3-35.3 52.2-8.6 103.9-19.6 155.3-32.4 2.5-0.6 5.1-1 7.8-1.6 47.4-12.4 62.8-6.8 87.9 35.5 7.8 12.9 14.9 18.6 31.4 17.9 70.2-3 70.2-2.1 124.3 43.6 4.8 3.6 8.1 8.7 9.5 14.4 4.7 26.3 9.1 52.7 13 79.1 0.9 6.2-3.1 11.4-7.5 15.4-7.8 7.1-15 15.3-24 20-38 20-43.2 51.3-33.6 89 1.3 4.8 2.6 8.2 7.5 10.1 22.8 9 39.9 27 61 38.5 15.4 8.5 13.1 20.8 13.2 33.5 0 4.9-1.6 9.5-7.3 9.9-4.1 0.4-7.8-2.6-8.2-6.8-0.1-0.7 0-1.5 0.1-2.2 2.1-17.9-10.4-23.5-23.1-29.3-18.1-8.4-30.8-25.6-51-30.7-4.9-1.2-5.8-8.6-6.5-13.6-2.6-20.7-6.3-41.4-5.6-62.4 0.2-5.8 2.1-11.4 5.7-16 6.9-9.5 15-18.1 24.2-25.5 12.5-10.4 34.7-16.4 36.3-30.6 2.7-23.3-4.6-47.7-7.8-71.6-1.2-4.5-4.2-8.3-8.3-10.5-5.3-3.9-11.8-6.8-15.7-11.8-26.5-33-63.3-27-98.7-27.2-9.8 0-8.8 5.2-6.6 11.3 10.4 27.4 17.8 55.8 21.8 84.8 9.8 76.5 18.3 153 24.7 229.8 1.1 13.3 3.9 27.5-5.4 41-11.8-11.8-10.7-27-12.2-40.3-10-89.5-17-179.5-29.4-268.7-6-43.5-31.8-80.1-61.8-112.3-5.1-6.4-13.6-9.1-21.5-6.7-60.1 22.2-122.8 33.2-185.8 42.7-1.6 0.2-2.9 1.9-6.6 4.5 74.5 36.1 88.8 105.2 99.3 175.8 7.1 50.5 9.9 101.4 8.4 152.4-0.3 14.2-1.3 28.3-14.5 45.3-1.7-18.9-3.4-32.6-3.9-46.4-1.3-26.8-1.8-53.6-2.9-80.3-0.4-11.3-4.6-12.2-12.6-4.7-66.7 62.5-147.7 34.7-195.8-10-3-2.9-9-26-18.3-2-1.6 4.2-10.8-1.2-15.7-3.9-28.8-14.8-53-35.9-76.9-57.2-72.1-64.5-140.2-133.2-209.9-200.1-4.3-4.2-12.7-9.2-7.8-15.7s11.8 0.4 16.7 3.9c12.8 9 25.1 18.8 36.6 29.5 13.7 13.4 27.3 23 46.5 11.2-4.4 36.6 19.6 60.7 51 51 4.5 3.9 5.6 10.5 2.7 15.7-1.2 2.8-3.4 7.5-2.3 8.7 11 12.4 22.8 24.1 35.3 35.1 7.7 6.4 10.9-6.6 17.7-7.3l9.5-1.1-0.4-0.3 1.5 7.5zm159.1-71.8c-18.9-0.7-31.8 16.1-32.8 42.5-0.8 21 12.5 36.6 31.8 37.2 19.9 0.5 39.2-20.6 39.8-43.4 0.4-19.2-17-35.4-38.8-36.3z"/>
|
||||
<path class="st0" d="m6038.9 992.7c-79-12-152.3-23.9-225.8-34.1-89.4-12.4-179.5-17.6-269.5-22.2-162.7-8.3-325.7-8.2-488.3-3.6-228.7 6.4-457.1 18.5-682.7 58.9-202.2 36.1-399.1 89.6-588.3 169.9-19.6 8.3-39.7 14.9-57.5 26.8-5.1 3.4-12.1 10.5-16.4 4.5s4.4-10.5 9.7-14c31.1-20.5 65-35.6 99.3-49.5 167.7-68 341-116.6 518.8-149.7 168.7-31.4 338.5-49.6 509.6-59.5 201.8-11.7 403.6-17.5 605.5-10.7 139.2 4.7 278.3 12.3 415.2 39.2 55.7 10.7 112.5 19.8 170.4 44z"/>
|
||||
<path class="st0" d="m2093.6 2167c-26.2-43.8-43.4-89-64.4-132.4-47.1-97.1-103.8-187.7-181.9-263.2-54.3-52.5-115.5-94.2-190.9-110.6-97.6-21.2-188.8 19.2-238.6 105.7-23.8 41.3-37.5 86.1-46.2 132.5-0.7 3.9-1 7.8-1.9 11.8-0.9 3.9-1.4 8.7-6.1 8.8-6.4 0-6.7-6.1-6.4-10.2 1-15.6 2.9-31.2 5.7-46.6 7.9-41.2 23.3-80.5 45.5-116.1 56-89.1 159.8-128.8 264.6-101.5 70.3 18.3 129.8 55.7 181.1 105.3 114.1 110.1 187.3 245.1 234.8 395.1 2 6 2.7 12.4 4.7 21.4z"/>
|
||||
<path class="st0" d="m4504.1 1611.7c41.6 15.3 87.7-7.8 133.8 0.8 9.3 1.8 14.1 4.6 16.7 12.8 10.5 33.5 17.9 68.2 36.1 99 6 10.1-5.2 12.9-9.7 18.4-8.2 10.1-27.5 11.1-28.6 23.9-1.1 11.8 9.3 23.9 12.4 36.5 2 11 10.1 19.9 20.8 23 3.9 1.5 8.8 5 7.1 10.3s-7.3 5-11.8 4.4c-12.9-1.6-25.4-5.8-38.6-5.7-30.4 0.4-43.8 11.5-49 41.6-0.9 5.1 0 11.8-7.3 11.8s-7.4-6.5-8.1-11.8c-2.2-16 2.4-31 14.4-40.8 17.5-14.3 2-26.6-1.6-38-3.1-10-13.3-0.5-19.6 1.3-24.8 7.1-33.4 3.6-41.5-21-15.7-47.7-31-95.5-46.1-143.5-5.7-17.6-0.9-23.5 20.6-23zm171 123.5c-19.2-32.3-32.6-67.7-39.7-104.6-1.7-8.1-4.6-8.9-11.8-7-12.2 3.2-22 6.3-11.2 21.5 3.4 5.6 6 11.6 7.8 17.9 2 5.1 2.9 10.8-3.2 13.6s-9.9-2.1-12.3-6.7c-4.8-9.3-8.6-19-13.3-28.3-6.4-12.7-17.4-6.9-25.8-4.5-11.1 3.2-2.3 10.6-0.6 15.7 3.5 10.5 8.1 20.6 12.1 31 2.2 5.6 4.8 12.2-2.8 15-6.2 2.3-9.3-3.9-11.5-8.3-6.3-12.9-11.8-26.1-16.7-39.6-6.2-18.8-20.6-10.6-31.1-9-13.9 2-4.4 12.7-2.8 18.4 10.9 38.3 22.9 76.2 34.4 114.3 2.5 8.3 3.9 13.2 15.7 7.8 36.3-17 72.5-35.2 112.8-47.2zm-42.6 82.4c3.9-4.3 19 5.8 15-7.8-3.9-12.6-1.3-31.8-18.4-35.7-5-1.1-21.9 1.8-21.9 16.5-0.1 16 10.8 27.8 25.3 27z"/>
|
||||
<path class="st0" d="m5636.5 2643.6c-13.8-41.7-13.1-81.2-15.9-120-5.6-77.5-10.5-154.9-20.2-232-1.2-9.6-5.6-9.9-12.7-9.8-15 0-30.1 0-45.1-0.4-5 0-11.8 0-12-7s5.7-7.8 11.1-8.2c3.9-0.6 7.8-0.9 11.8-0.8 30.7 2.9 57 0.2 73.6-32.7 8.9-17.5 27.8-18.8 46.1-7.1 38.6 24.5 78.5 46.4 118.8 68.3 36.3 19.8 50.4 54.7 54.9 93.7 6.5 57.8 8 116.1 4.4 174.1-0.6 10-2 20.3-12.7 30-3.9-15.8-5.8-32.1-5.8-48.3-0.9-47.1-0.9-94.2-3.1-141-1.5-31.4-14.6-58.4-24.6-86.8-1.9-5.4-8.8-4.5-13.7-5.7-47.3-11.2-90.6-35.2-125-69.4-9.1-9.1-15.7-6.4-23.5 0-20.8 16.9-32.7 57.3-25.6 83.5 10.9 39.9 13.3 81.1 16.6 122.1 4.3 54 6.7 108.2 9.6 162.3 0.5 10.5 0.9 21.7-7 35.2z"/>
|
||||
<path class="st0" d="m6309.2 1252.1c0.4 27.5 1.6 54.9-5.7 81.8-1.4 5.3-1.6 13-8.8 13.8-6.1 0.7-5.4-6.3-7.1-10.2-2.4-5.5-7.3-4.9-11.8-5.3-15.2-1.2-29.6-7.1-41.2-16.8-14.7-12.8-29.4-13.2-46.8-9.1-41.9 9.6-85.4 10.5-126.6 24.6-22 7.5-35.1-3.6-36.1-26.7-0.9-20.9-1.8-41.8-2.4-62.8-0.7-22.2 19.1-41.8 45.4-45.7 67.2-9.9 132.8-28.7 200.1-37.7 3.2-0.5 6.3-1.7 8.9-3.5 14.9-10 21.9-2.1 25.2 11.8 6.8 28.2 6.4 57.1 6.9 85.8zm-21 71.4c-0.9-51 0.5-96.7-3.9-142.3-0.9-9.8-4.2-11.8-13.6-9.5-27.8 7.1-55.7 14-83.8 19.6-43.9 8.9-86.7 23.1-131.8 26-10.8 0.7-16.6 9.8-16 21.2 1.1 21.5 2.2 43.2 3.9 64.5 0.9 12.1 7.6 16.6 18.5 10 6.6-4.1 14.1-6.8 21.8-7.8 46.5-6.4 93.1-13.2 139.6-19.6 6.3-0.9 14.2-3.9 18.4 2.4 10.9 16.1 30 19.7 46.9 35.5z"/>
|
||||
<path class="st0" d="m6708.1 2436.2c26.8 1.4 53.5 2.7 80.3 4.2 5.7 0.4 14.9 1.3 7 9.5-30.6 31.4-52.9 69.6-80.5 103.4-15.7 19.6-34.1 28.7-58.1 20.4-33.3-11.5-67.9-12.6-102.4-14.7-30.2-1.9-36.4-13.5-19-38.5 15.1-21.3 31.3-41.8 48.5-61.4 13.7-16.3 34.3-25.1 55.5-23.9 22.8 0.7 45.7 0 68.6 0v1zm41.4 41.5c-10.2 0.7-16.8 9.1-25.8 12.4-19.6 7.2-18.9 19.2-7.8 35.3 13.2-15.4 25.8-29.7 34-47.3 1.6-0.6 4.3-0.9 1.3-3.3l-1.7 2.9zm18.8-22.4c-45.4-5.7-87.8-2.4-130-5-3.9-0.2-8.9-0.8-9.7 3.9-2.4 14.9 2.8 28.8 9.9 41 6.2 10.8 17.5 6.7 26.5 3.1 33.6-13.5 67-27.7 103.3-43zm-208.5 80.6c41.3 2.3 77.4 3.9 113 10.8 8 1.5 18.1 9.2 23.5 3.1 6.6-7.1-6.6-13.6-7.1-21.9-1.3-17.3-9.2-17.8-23.9-11.8-17.2 6.9-36.6 14.1-50.3-7.8-2.1-3.3-5.5-2.7-8.6-0.9l-46.6 28.5zm57.8-87.5c-16 0.9-51.7 46.5-54.3 69.4 3.9-1.8 7.4-3.2 10.8-5.1 18.7-10.8 44.9-16 35.1-48-1.9-6.7 7.9-9.6 8.6-16.3h-0.2z"/>
|
||||
<path class="st0" d="m2774 2211.3c45.5-58.1 97.6-110.1 149.4-162.4 96.1-96.9 192.9-193.2 293-286 6.8-6.3 16.7-19.6 23.5-12.6 8.9 9.3-5.9 17.6-12.2 24.4-125.2 133.4-256.5 260.7-386 389.7-18.3 18.3-41.2 31.4-58.3 51-4.1 0.7-7.8 0.8-9.4-4.1z"/>
|
||||
<path class="st0" d="m6148.4 1387.9c-3.6 13.2-15.7 12.5-25.2 13.7-47.9 6.2-96 12.3-144.2 16-15.7 1.2-21.5 7.5-21.7 20.7-0.5 37 0 74 1.4 112.9 24.1-36.3 62.1-30.3 96-33.2 44.2-3.9 88.8-3.9 133.4-5.5 19.6-0.7 26.7-6.6 25.1-26.1-2-23.5-3.1-47.1-3.5-70.6-0.3-18.1-12-25.3-35.3-23.3-7.8 0.7-15.7 4.4-20.5-5.4 15.4-17 34.3-13.7 52.4-7.3s23.5 21.4 22.8 39.2c-0.9 26.1-1.8 52.1-2.9 78.2-0.7 18.1-11.5 29.5-30.9 31.4-58.5 5.7-117.2 9.8-176 9.8-15.7 0-28.3 3.1-37.1 16.4-8.1 12.2-24.8 16.5-28.3 33.5-1.5 7.3-11.8 5.4-16.7 3.3-5.5-2.3-1.1-8.7 1.3-11.8 8.7-10.9 7-23.1 6.9-35.3-0.4-37.9-0.7-75.8 0-113.8 0.4-24.8 6.8-28 31.7-29.5 31.4-2 62.2-7.8 93.3-11 26-2.3 51.8-7.3 78-2.3z"/>
|
||||
<path class="st0" d="m5935.4 1225.3c-4.9-3.9-4.6-9.3-4.6-14.3 0.3-39.2 1.6-78.5 1.1-117.5-0.4-21.2 14.1-31.4 28.9-36.5 86.3-29.7 174.1-55.4 262.9-77.7 10.2-2.6 14.8 0.7 14.7 11.3 0 26.6 0.5 53.3 0.2 80 0 22.4-11.6 36.2-33.9 41.4-71.2 16.6-142.3 33.6-213.8 49.3-10.8 2.4-14.9 9-19.9 16.6-10.8 16.4-16.4 37-35.6 47.4zm280.9-230.1c-46.2 13.4-91.2 26.4-136.2 39.2-32 9.1-64.3 17.5-96 27.2-16.9 5.2-37 12-38.8 31.6-3.1 31.8-0.8 64.1-0.8 96.2l4.3 2.9c12.5-40.6 46.5-46 79.7-53.7 57.2-13.2 114.2-27.5 171.2-41.2 8.2-2 18.1-3.7 17-15.2-2.8-28.4 0.3-57-0.4-87z"/>
|
||||
<path class="st0" d="m6337.6 1435.3c11.4 9.3 10.7 20.2 11.4 30.1 3.9 54.9-8.6 106.6-32.4 155.5-43.9 90.2-103.9 167.4-188.1 223.6-20.6 14.8-45 23.1-70.4 23.9 157.1-106.2 270.9-235.2 279.5-433.1z"/>
|
||||
<path class="st0" d="m1787.9 1563.9c5.4-5.4 12.4-1.4 17.7-2.7 21.5-5.3 37.2-6.4 37.3 23.2 0 4.9 10.7 11.3 19.2 3 4.6-4.5 10.7-8.7 17.5-4.4s4.6 11.5 1.6 17.5c-5.4 10.9 3.9 13.4 9.7 17.9 20.7 16.2 21.2 20.9 4.4 40.7-3.9 4.5-7.8 8.9-11.4 13.5-33.9 41.3-46.4 42.9-86.8 6.9-14-12.8-28.8-24.6-44.3-35.3-11.8-7.8-15.3-16.9-6.4-29.7 10-14.4 19.3-29.5 28.7-44.3 2.8-4.5 7.9-7.1 13.2-6.6-8.9 22 3.2 33.4 20.3 44.5 19.1 12.4 36.6 27.5 54.6 41.5 5 3.9 9.6 8.3 14.5 1.3 3.9-5.5 17.1-9 8.6-17.9-5.8-6-12.4-17.8-26.1-8.1-11.8 8.3-18.1 3.1-17-11.4 1.2-15.7-5.4-20-20-12.9-11.8 5.8-19.6 1.4-17.7-10.4 2.4-15.7-7.7-20.3-17.6-26.3zm49.8 86.9c-6.6 4.4-11.8 11.4-11.5 17.1 0.5 10 10.9 15.1 19 16.5 7 1.2 13.7-8.6 13.4-14.1-0.6-10.6-13.8-11.5-20.9-19.5zm-18.5-8.6c-2-7.7-8.4-13.5-16.3-14.8-8.3-0.9-11 9.1-11.4 15-0.5 8.9 9 13.3 15.7 14.3 8.5 1.5 7.9-9.3 12-14.5zm-32-25.7c-1.6-6.4-6.6-12.6-10-11.8-8.8 2.3-11.8 11.8-13.6 19.6-1.1 5.5 5.9 9.9 10.5 9 8.4-1.9 9.6-11 13.1-16.8z"/>
|
||||
<path class="st0" d="m5985.4 2425.3c-9.2 16.2-15.4 35.5-34.9 32.3-16.1-2.6-21.1-21.1-28-34.4-8.1-15.9-10.6-34.1-7.3-51.6 2.3-12.8-1.1-20.5-11.8-27.8-14.3-9.8-29-17.5-46.5-19-3.7-0.3-9.1 0.4-9.4-4.6-0.4-6 5.3-6.7 9.8-7.1 23.9-1.8 43.6 7.8 59.5 24.6 7.8 8.2 14.8 12.6 26.6 11.5 13.6-1.2 31.4 17.7 37.2 37.2 2.9 9.8 5.8 17.5 16 24.5 17.2 11.8 17.4 32.7 15.2 51.9-5.6 49.7-66.9 102.5-117.2 101.5-2.6 0.1-5.3 0-7.8-0.5-7.2-1.7-18.5-0.6-18-10.7 0.5-8.9 11.1-6.8 17.9-7.1 46.3-2.2 78-26.6 99-66.2 9.8-16.9 9.7-37.8-0.3-54.5zm-17.5-18.1c-2.6-18.5-5.3-36.8-22.8-47.6-8.2-5.1-15.7-5.1-14.2 7.8 1.6 15.7 2.3 31.4 9.1 45.9 3.9 8.4 7.1 22.2 18.2 19.4 9.7-2.3 7.8-16.3 9.7-25.5z"/>
|
||||
<path class="st0" d="m6181.1 2085.7c-8.7-19.3 7.6-44.3 30.5-46.8 55.2-6 102.8 42.3 96 97-4.6 37.1-20 72-44.3 100.4-5.2 5.8-11.1 10.9-17.5 15.3-7.4 5.5-13.9-1.5-19.9-3.7-7.1-2.5-1.5-8.7 0.4-13.1 15.7-37.2 8.6-69.6-21.5-99.2-6.2-6.1-21.3-12-0.4-20.5 6.4-2.6 3.9-13.1 1.1-19.6-4.9-10.5-14-12.4-24.6-10.1l0.2 0.3zm74.5 129.5c15.4-15.3 21.3-35.3 26.6-55.4 15.1-56.3-8.4-91.3-66.3-100.5-4.6-0.7-9.5-2.2-11.8 3.3s2.4 6.6 5.5 8.7c13.9 9.6 15.7 22.6 12.2 38.1-1.8 7.8-5.4 16.7 2 24.1 22.5 22.7 28.8 51.8 32.1 82-2.6-0.6-2.9 1.1-2.9 3 0 0.5 0.7 0.9 1 1.4 0.2-1.7 0.7-3.1 1.3-4.8l0.3 0.1z"/>
|
||||
<path class="st0" d="m4453.9 1706.8c-103.7-28.6-204.3-65.5-305.1-102-35.7-12.9-71.1-26.4-106.4-40.1-6.8-2.6-17.5-4.9-13.5-15.3 3.6-9.2 12.5-3.9 19-1.9 129 40.7 258.1 81.7 379.1 143.6 9.2 4.8 18 10.6 26.9 15.7z"/>
|
||||
<path class="st0" d="m4210.7 1445c26.8 9.4 63.5 13 82.8 37 12.8 15.7 19.1 21.6 38 19.2 10.4-1.3 10.4 11 7.1 17.9-10 21.2-20.8 42.1-32.5 62.3-6.8 11.8-17.1 9.8-23.5-0.2-7.8-12.7-15.7-16.8-31.2-11.4-16.6 5.8-72.2-21.5-80.7-36.8-3.5-6.3-2.5-12.6-0.9-19 5.8-23 21.1-41.9 27.8-64.5 1.4-4.3 5.2-5.6 13.1-4.5zm103.5 80.9c-5.9-3.4-11-0.7-16.1-0.4-22.2 1.1-26.1-3.3-18-23.9 3.3-8.4 0.3-10.3-6.4-12.1-7.5-2-15-4.4-22.4-6.9-43.6-14.3-43.6-14.4-60.9 28.3l-0.9 1.8c-4.4 7.3-2.4 11.6 5.7 14.6 15.7 6.4 30.6 14.8 44.3 24.8 6.3 4.4 9.8 6.2 15.1-2.3 9-14.8 17.3-14.5 28-1.3 3.9 4.9 5.5 11.8 13.4 14.8 5.7-12.7 15.6-23.3 18.2-37.4z"/>
|
||||
<path class="st0" d="m1590.3 1509c21.2 4.1 43 4.3 64.3 0.6 16.1-2.6 23.5 4.9 24.8 19.6 2 23.5-1.8 46.8-4.5 70-0.6 8.1-7 14.6-15.1 15.3-36.8 7-73.8 5.7-110.9 3.9-11 0.3-20.4-7.8-21.8-18.7-5-25.2-3.6-50.6-2.8-76 0.4-10.9 8.5-15.1 19.2-14.9 15.6 0.4 31.2 0.2 46.8 0.2zm-53.5 15.4c1.4 20.5 2.6 40.1 3.9 59.6 0.8 10.4 4.9 16.3 17.3 15.7 29.4-1.1 58.9-0.9 88.2-1.1 5.4 0 10.5 0.4 10.9-7.4 0.8-15.4 2-30.7 3.2-47.4-24.2 6.8-41.4 28.3-66.7 24.8-26.1-3.7-37.8-27.8-56.8-44.2zm22.1 2.7c32.4 35.9 38.1 35.7 92.2 0h-92.2z"/>
|
||||
<path class="st0" d="m2965.8 1823.3c5.1-7.8 4.6-15.7 6.1-23.5 2.7-14.1 11.1-18.4 21.8-8.9 17.9 16.2 33.7 34.5 47.4 54.4 8.1 11.5 0.6 19.9-10.2 21.2-16.6 2-19.8 11-21.1 25.6-1.5 17.4-48.1 59.5-64.6 60.7-9.2 0.7-16.2-4.7-22.3-10.6-14.9-14.6-29.1-29.7-43.9-44.3-6-5.9-3-10.6 0.6-15.3 17.5-21.9 36.6-42.4 57.1-61.5 10.2-9.6 19.9-4.8 29.1 2.2zm24.9-11.5c-3 11.3-4.4 18.9-7.1 25.9-4.8 12.6-14.2 17.7-23.2 5.8-10.2-13.2-14.8-6.9-21 2.3-3.3 4.8-7.1 9.3-10.9 13.9-28.9 34.3-29 34.3 3 66 1 0.9 1.9 1.8 2.7 2.8 5.3 6.9 9.7 6.3 15.4 0 11-12.1 23.7-22.6 37.7-31.2 7.8-4.9 12-8.7 3.5-17.6-10.7-11.1-3.3-19 7.5-24.1 6.3-3 14.2-1.8 21.6-7.8l-29.2-36z"/>
|
||||
<path class="st0" d="m4987.4 2233.2c-19.6 1.2-34.4-6.9-49.1-13.3-66.5-29.5-130-64-185.8-111.3-5-5.2-12.8-6.6-19.3-3.4-30.6 11.8-46.3 34.6-50 66.7-0.7 5.6 1.5 13.3-7.2 13.3-8.7 0.1-10.1-7.1-11.2-13.8-6.4-39.2 37.5-88.8 77.5-87.8 4.6-0.2 9 1.2 12.7 3.9 60.1 47.9 130.3 79.4 195.7 118.6 12.2 7.2 25.5 12.9 36.7 27.1z"/>
|
||||
<path class="st0" d="m4705 1843.8c11.8 7.3 15.3 17.9 19 28 20.5 57 40.7 114.3 61.3 171.3 2.2 6.2 2.6 11.8-1.7 16.4-5.2 5.5-9.1-1.2-13.7-2.4-25.7-6.8-51.2-8.6-75.8 4.8-4.6 2.5-9.8 9.7-14.8 1.8-3.7-5.9 0.9-11.2 5.5-15.1 15.7-13.8 35.3-17.1 54.9-15.9s18.3-5.3 12.4-19.6c-18.8-45.8-34-93-45.3-141.2-1.9-8.2-5.1-16.5-1.8-28.1z"/>
|
||||
<path class="st0" d="m4784.3 2262.5c7.1-10.8-4.4-13.7-8.5-19.6-6.4-9.2-22.5-19.9-13.7-28.4s17 9.3 24.5 16c54.9 49.1 109.6 98.6 163.9 148.5 7.8 7.1 23.5 16 16.8 24.6s-19.6-3.9-28.5-9.5c-10.4-6.6-20-14.6-30-21.9-2-4.5-6.2-7.5-11.1-8l0.4 0.3c-18.6-22.4-40.9-40.9-62.8-59.7-13-13.4-25.7-27-39.2-40-2.9-2.9-6.6-9-12.1-2.5l0.3 0.2z"/>
|
||||
<path class="st0" d="m4713.2 2001c10.1 6.1 27.5 1.6 25.1 13.5-2.6 13-17.5 3.9-27 4.2-19.6 0.9-26.5-10.6-31.2-27.5-6.8-25-9.1-51-17.6-75.6-3.9-11.2 6.6-14.9 15.1-15.1 11 0 24.7-2.3 26.8 14.8 2.3 22.6 9.7 44.5 21.4 64 9.6 14.8-2.9 16.8-12.6 21.7zm-9.2 0.3c1.3-0.7 3.9-1.1 4.3-2.4 1.6-3.6-2.2-3.9-3.9-4.3-1.7-0.3-3.4 0.3-4.6 1.5-1.7 3.5 1.7 3.8 4.2 5.2z"/>
|
||||
<path class="st0" d="m4646.3 2147.6c1.1 7.3 1.6 11-2.4 12.2s-6.2-1.9-7.6-4.7c-3.1-5.8-5.7-11.8-7.8-17.9-23.8-73.4-41.7-148.3-58-223.6-1.4-6.2-6.2-16.5 3.1-18.5 7.8-1.7 10.4 8.7 12 15.5 14.7 58.2 29 116.6 43.7 174.8 5.5 22.1 11.9 44.1 17 62.2z"/>
|
||||
<path class="st0" d="m6180.8 2085.5c11.2 20.8 7.3 36-11.8 45.7-9.5 4.8-19.3 5.2-26.8-3.1-10.5-11.8-5.3-24.3 0.8-36 4.7-9 10.8-13.8 21.9-7.4 3.9 2.4 10.6 5.2 16.3 1.1l-0.4-0.3z"/>
|
||||
<path class="st0" d="m5497 2387.1c-19.3-0.7-30-14.8-24.8-30.7 3.4-10.5 9.7-15.7 20.7-9.1 3.3 1.9 5.6 5.3 10 5.4 11.5 0 17.1 6.7 15.3 17.7-2 12.4-11.7 16-21.2 16.7zm-1.4-15.1c3.9-0.6 7.8-1.8 5.8-7.1-1.5-4.1-3.5-8.5-9.1-8-3.6 0.2-6.3 3.2-6.2 6.8 0 0.4 0.1 0.7 0.1 1.1 0.6 5.6 4.5 7.1 9.4 7.2z"/>
|
||||
<path class="st0" d="m5804.4 2956.9-2.9-1.7c2.2-1.6 3.3-1.2 3.1 1.6l-0.2 0.1z"/>
|
||||
<path class="st0" d="m6790.8 1997.1c2-1 4.2-2 6.1-3.2 0 0-0.4-2.5-1-2.7-3.6-1-5.7 0.9-7.1 3.9-1.8 0.5-3.5 1.3-2.1 3.5 1.4-0.3 2.8-0.8 4.1-1.5zm67.6-10 1.4-1.3c-0.8-0.5-1.7-0.9-2.6-1.1-0.3 0-0.9 0.7-1.3 1.1l2.5 1.3z"/>
|
||||
<path class="st0" d="m6094.4 1442c12.5 1.3 28.7-2.6 29.3 10.7 0.5 10.1-15.7 7.5-25 8.4-30.4 2.9-60.8 5.1-91.3 7.2-6.7 0.5-16.7 3.4-17.9-6-1.3-10.2 9.6-8.7 15.7-9.6 30.6-4 60.9-7.3 89.2-10.7z"/>
|
||||
<path class="st0" d="m5250.9 3085.2c2.1-11.2-1.9-28.5 11.8-32.1 14.5-3.9 26.3 8.3 34.7 20.7 3 3.5 5 7.7 6 12.2 2.7 36.8 30.2 59.4 49.4 86.7 6.4 9.1 13.3 17.8 19.6 26.9s12.6 17.7 26.5 19.6c17.4 2.6 39.2 34.1 39.2 52.2 0.5 13.5-7.6 25.9-20.2 30.8-12.2 5.3-21.3-1.1-29.4-9.6-1.5-1.2-2.8-2.8-3.6-4.6-11.3-38.8-41.8-24.1-66.9-24.1-9.1 0-12.2 4.5-11.1 13.9 0.6 6.5-0.3 13-2.4 19.2-4.2 12.3-12.7 16-24.6 9.8-20.7-10.5-36.5-44.7-31-67.2 3.9-16.1 12.4-20.9 24.5-10.3 28.8 25.4 61.1 5.3 91.5 8.5 8.7 0.9 11.8-11 5.1-19.6-19.9-25.9-40-51.6-60.1-77.4-2.6-3.3-4.4-8.8-10.3-3.5-14.9 13.5-25.1 3.1-34.3-7.8-11-12.3-14.3-27.5-14.4-44.3zm43.2 19.2c-0.6-3.1-1.1-6.2-2-9.4-3.2-11.8-11-21.9-23-20s-4.9 15-6.5 23c-0.5 3.9 0.1 7.9 1.8 11.5 3.7 8.1 6.6 19.3 18 17.5s9.3-13.9 11.7-22.6zm91.7 153.1c-0.4 12.9 9.3 26.4 18 25.7 8.9-0.2 16.1-7.4 16.3-16.3 1-9.3-17.1-30.3-25.5-28.4-10.6 2.5-3 14.8-8.8 19zm-126.2-0.9c0.4 14.4 14 34.1 22.9 33s8.7-8.6 8.9-14.8c0.4-12.2-15.4-31.4-25.3-31-8.9 0.4-5.4 8.2-6.5 12.8z"/>
|
||||
<path class="st0" d="m5798.7 3338.1c-0.7 8.7 6.1 23.5-2.2 27.9-10.4 5.6-17.3-10.8-27.1-14.6-26.5-10.3-36.7-33.3-48.6-56.4-28.9-56.3-56.5-113.3-81.4-171.5-4.2-9.8-14.8-20.3 2.3-29.7 19.9-10.9 35.1-11.1 45.9 2.3 4 5.2 7.5 10.7 10.4 16.5 32.9 63 65.7 126.1 98.3 189.2 5.8 11.2 1.5 23.3 2.4 36.3zm-101.5-196.2c-9.9 4.4-21.6 7-29.5 13.9-5.2 4.6 3 12.8 6 19 19.4 39.9 39.2 79.5 58.9 119.4 13.9 28.8 13.4 28.6 42.9 16.3 8.6-3.6 11.1-5.9 6.2-15.1-25.5-47.7-50.3-95.9-75.5-143.8-2-4-2.7-9.2-8.8-9.9l-0.2 0.2z"/>
|
||||
<path class="st0" d="m6788.8 1995.2c1.4-3.1 3.5-5 7.1-3.9 0.5 0 1.2 2.6 1 2.7-1.9 1.2-3.9 2.2-6.1 3.2l-2-2z"/>
|
||||
<path class="st0" d="m6827.9 1987.2c1.3-2.8 4-4.7 7.1-4.8l3.4 3.9c-1.7 2.7-4.7 4.1-7.8 3.6-0.8-0.9-1.7-1.8-2.7-2.7z"/>
|
||||
<path class="st0" d="m6835 1982.4 7.7-3.9 2.8 2.9-7.1 4.9-3.4-3.9z"/>
|
||||
<path class="st0" d="m6826.3 1993.5-4.8 2.8-2.2-2.2 4.4-3.4 2.6 2.8z"/>
|
||||
<path class="st0" d="m6823.6 1990.7 4.3-3.5c0.9 0.8 1.8 1.7 2.7 2.6l-4.4 3.7-2.6-2.8z"/>
|
||||
<path class="st0" d="m6858.4 1987.1-2.5-1.3c0.4-0.4 1-1.2 1.3-1.1 0.9 0.3 1.8 0.7 2.6 1.1l-1.4 1.3z"/>
|
||||
<path class="st0" d="m6842.7 1978.5 4.8-3.1 2.4 2.2-4.4 3.9-2.8-3z"/>
|
||||
<path class="st0" d="m6821.4 1996.4c-1.2 1-3.2 3.1-3.5 2.8-3.2-2.4-0.3-3.6 1.3-5.1l2.2 2.3z"/>
|
||||
<path class="st0" d="m6790.8 1997.1c-1.3 0.7-2.6 1.2-3.9 1.6-1.4-2.2 0.4-2.9 2.1-3.5l1.8 1.9z"/>
|
||||
<path class="st0" d="m7067.3 2246.3-4.3 3.4-7.2 1.1c-1-6.5 3.7-9 8.5-10 3-0.7 2.6 3.2 3 5.5z"/>
|
||||
<path class="st0" d="m7036.2 2211.5c0.8-3.2 4-5.3 7.3-4.5 0.3 0.1 0.7 0.2 1 0.3-1.6 3.8-4.1 5.6-8.3 4.2z"/>
|
||||
<path class="st0" d="m7044.1 2207.6c-0.3-3.1 1.3-4.4 4.2-4.3 0 2.3-1.9 4.2-4.2 4.3z"/>
|
||||
<path class="st0" d="m7011.1 2078.7c7.1-12.6 19.1-21.7 33.1-25.1-8.3 13.4-17.7 19.3-33.1 25.1z"/>
|
||||
<path class="st0" d="m7016.9 2211.5c-1.1 2.2-2.6 3.9-5.4 3.3-0.3 0-0.7-1.3-0.5-1.6 1.3-2.1 4.1-2.7 6.2-1.5l-0.3-0.2z"/>
|
||||
<path class="st0" d="m7017.3 2211.7c0.3-0.7 0.5-1.5 0.7-2.2v0.9c-0.3 0.4-0.7 0.7-1.1 1.1l0.4 0.2z"/>
|
||||
<path class="st0" d="m3478.6 1593.8c23.8 7.3 42.3 20 49.4 47.1-12.1 0-16-7.8-21.3-12.9-22.2-21.6-39.2-24.1-66.7-8.6-5.1 2.9-9.8 6.5-15.1 9.1-2.2 1-4.8 1-7.1 0-3.7-2.4-1.4-5.7 0.4-8.4 6.7-10.1 18.5-14.1 27.5-21.5-25.5-25.1-30.5-57.4-13.2-83.8 13-19.9 31.4-21.1 46.5-3 21.9 26 21.8 44.9-0.4 82zm6-37.2c0.4-19.1-15.7-45.1-27.7-45.3-13-0.2-24 21-23 44.4 0 1.3 0 2.6 0.3 3.9 2.4 14.5 7.8 26.8 25 27.5 11.5 0.6 25.1-16.6 25.4-30.5z"/>
|
||||
<path class="st0" d="m3772 1530.5c-12 10.2-18.4 25.5-17 41.2 0.1 10.8 7.2 20.3 17.5 23.5 8.8 3.6 18.9 1.3 25.2-5.7 8.2-8.7 7.5-18.9 3.9-29.3-4.6-12.5-17.6-18.6-24.4-30.4 19.5 1.9 35 17 37.5 36.4 1.8 17.5-1.6 33-22.5 37.2-10.5 2.2-7.8 6.9-2 11.4 8.7 6.5 18.3 12 21.7 31.7-31.4-31.4-56.8-27.5-78.8 5.5-1.5-22.4 8.6-33.2 36.8-42.1-9-8.2-20.8-13.1-25-25.5-3.9-11.2-3.5-23.5 1.2-34.5 4.2-10.1 7.6-23 25.9-19.4z"/>
|
||||
<path class="st0" d="m3747 1376.9c-0.2-24 13.5-47.8 28-48.4 19.6-0.8 40.2 21.3 40.3 43.2s-15.9 39.2-35.3 39.2-32.8-14.1-33-34zm54.4-2.8c0-15.3-17.1-37.2-27.7-33.8-17 5.4-14.9 22.7-16.2 36.1-1.3 13.3 6.3 22.7 20.7 22.6 16.4-0.2 21.3-12 23.3-24.8h-0.1z"/>
|
||||
<path class="st0" d="m3738.8 1454.6c4.9-20 18.6-30 36.2-30 24.8 0 40.4 16.4 52.1 38.1-28.4-15.8-54.7-46.8-88.3-8.1z"/>
|
||||
<path class="st0" d="m6232.2 1214.9c-12.1 9.2-26.5 12.5-40.7 15.7-28.7 6.3-57.6 12-86.3 17.7-4.5 0.9-9.7 1.3-12.2-3.6-2.4-5 1.6-7.8 5.2-8.8 44.1-10.4 87.6-24.2 134-21z"/>
|
||||
<path class="st0" d="m6122.1 1082.1-135.3 36.1c-3.1 0.8-7.5 1.7-8.2-2.3-1.3-6.8 4.9-8.6 9.5-10.2 28.9-10.4 58.5-18.6 88.6-24.8 14.7-2.8 29.6-4.7 45.4 1.2z"/>
|
||||
<path class="st0" d="m882.9 2707c-11.3-30.4-1.1-63.4-10.6-93.5-92 37.3-188.3 44.3-286.2 39.9-9.1-0.4-24 0.9-23.8-10.8 0.2-11.6 15.5-9.8 24.2-10.3 52.2-2.9 104.5-4.6 156.2-13.1 38.1-5.9 75.8-14.6 112.6-26.1 12.8-4.2 16.7-10.6 15.9-24.2-14.1-250.4-44-498.6-103.3-742.7-5.2-22.9-12.1-45.5-20.6-67.4-3.5-8.6-6.9-10.8-15.4-4.4-48.1 36.3-112.8 4.5-136.7-39.7-2.7-5-7.4-11.8-1.2-15.7s10.3 3.4 14 7.4c12.5 13.6 25.9 25.9 42.9 33.6 28.4 12.9 54.5 10.1 78.5-10.7 4.3-3.9 7.6-9 14.4-10.4 46.3 71.3 59.9 153.7 78.1 234.2 31.9 141.2 50.7 284.3 63.5 428.3 0.9 9.5 2.3 18.9 3.9 31.4 35.7-32.5 68.8-62.8 102-93 47.8-43.6 98.9-83.6 143.7-130.5 6.1-6.4 12.9-14.2 21.1 0 3.9 6.7 13.3 2.2 20.1 1.2 49.9-7.5 88.6-33.3 117.9-73.9 1.4-2.2 3.1-4.2 4.9-6.1 6.4-6.1 10.4-21.7 21.4-13.4 11 8.4 2.7 20.5-4.4 29.3-43.6 54.1-96.2 90.2-169.7 83-4.6-0.6-9.1 1.4-11.8 5.1-63.1 71.2-137.6 130.3-207.3 194.4-28.8 26.4-38.3 51.9-34.2 89.7 6.3 58.6 6.5 117.6 0.9 176.2-1.2 11.8-10 20.5-11 32.2z"/>
|
||||
<path class="st0" d="m372.7 2809c-36.7-76.6-58.4-153.6-71.3-232.9-29.3-179-48-358.8-39.1-540.6 3.6-73.8 9.1-147.4 27.5-219.4 11.1-44.1 27.9-85.9 60.7-119 28.2-28.5 61.7-47.5 102.5-46.6 66.7 1.5 105-35.1 130.5-91.1 2.2-4.7 3.4-9.9 5.6-14.6 3.9-8.7 2.7-25.9 16.5-21.4 11.4 3.6 4.3 18.3 2.3 27.9-16 77.4-70.3 123.6-147.8 125.6-54.9 1.3-91.8 30.3-117.6 75.8-26.6 47.1-35.3 99.4-42.1 152-21 164.6-13.1 328.6 5.1 492.8 12.1 109.2 26.4 217.8 53 324.6 3.9 16.4 6 33.2 12.7 49.1 5.3 11.9 5.8 25.5 1.5 37.8z"/>
|
||||
<path class="st0" d="m1008.3 1400.2c-4.3 91.3-32.2 171.3-115 220.8-37.8 22.6-78.7 39.2-125.6 29.9-48.8-9.6-84.2-37.4-108.8-78.9-42.1-70.6-47.1-145.2-17.5-222.1 25.6-66.7 68.8-118.1 133-150.2 38.3-19.1 78.7-16.8 115.5 1.8 74.9 37.9 112.9 101.3 117.2 184.9 0.3 4.7 0.8 9.3 1.2 13.8zm-19.6 19.4c0.9-36.7-6.4-73.2-21.3-106.8-17.4-39.3-44.2-69.4-87.4-81.3-58.1-16.2-151.5 15.5-188 63.4-57.7 76-65.4 186.1-15.8 267.7 39.9 65.7 82.6 80.1 146.3 73.9 35.3-3.4 65.7-25.4 93.1-47.8 53-43.5 71.7-102.8 73.1-169.1z"/>
|
||||
<path class="st0" d="m441.9 2465.3c-2.6-21.1 2.7-38.6 7.4-55.9 31.3-113.3 55.7-228.4 73.3-344.6 4.2-28.4 8.4-56.8 12.9-85.2 1-6.3 1.6-14.9 10-14.4 10.1 0.6 6.2 10 5.9 15.7-7.8 147.5-34.2 293.4-78.5 434.4-7.8 24.3-15.7 35.6-31 50z"/>
|
||||
<path class="st0" d="m1298.7 2011.1c-14.8 22.4-37.4 31.6-60.3 36.8-27.2 6.3-47.1 20.5-69 37.7-69.8 54.9-145.8 100.9-230.4 130.8-13.6 4.8-27.5 8.4-42.1 6.7-5.3-0.6-10.9-1.8-10.8-8.7 0-5.7 5-6.7 9.6-7.8 103.1-29.2 190.6-88 274.1-151.5 40.1-30.5 85.8-30 128.9-44z"/>
|
||||
<path class="st0" d="m544.3 3002.1c-13-1.9-28.2-2.5-41.9-9.7-6.8-3.6-11.8-9.3-9.3-17.5 2.4-8.2 9.4-5.8 15-5.5 9.8 0.4 19.5 1.3 29.2 2.8 16 2.6 21-2.6 17.3-19-8.2-35.8-20.3-70.3-31.9-105-5.4-16-6.3-39.2-17.5-46.3-11.8-7.6-31 7.8-47.1 12.3-6.4 1.7-15.4 7.4-18.3-2.8-2.3-7.8 7.1-9.8 12.8-12.1 18-7.6 36.3-14.7 54.5-21.9 9.8-3.9 17.1-0.5 20 9.3 17.4 57.5 42.6 112.6 54.9 171.7 5.9 30-6.5 44.7-37.7 43.7z"/>
|
||||
<path class="st0" d="m853.8 3144.6c11.8-65.2 20.7-130.8 28.6-196.6 7.6-63.5 13.8-127.1 18.6-190.8 0.4-5.5-1.6-12 5.3-15.7 6.9 5.3 4.8 13.1 5.1 19.6 4.2 83.9-8.4 166.5-20.6 249.1-6.5 43.8-16.1 87.1-28.8 129.5-0.5 1.6 0.8 3.9 1.3 5.7l-9.5-0.8z"/>
|
||||
<path class="st0" d="m1439.5 1985.4c-0.7 7.8-6.2 12.8-12.2 16.8-39.6 27.8-81.2 52.7-124.4 74.5-7.4 3.6-16.6 9.4-22.3-1.2-5.5-9.9 3.3-15.7 10.2-20.4 40.5-26.4 81.1-52.8 122-78.5 13.7-8.6 26.9-3.5 26.7 8.8z"/>
|
||||
<path class="st0" d="m443.9 3004.4c17.1 36.8 77.1 294.5 76.5 321.1-36.7-104.4-65.8-210.8-76.5-321.1z"/>
|
||||
<path class="st0" d="m1161.9 1139.1c16.7-13.9 38.1-15.3 57.7-19.9 122.5-28.4 247.2-41.6 372.4-50.5 150.7-10.8 301.6-15.6 452.7-14.4 236.2 1.5 471.7 15.7 706.5 40.5 110.5 11.8 221 23.5 329.6 47.9 12.8 2.9 25.4 6 37.9 10 5.3 1.7 15.9 0.4 13.1 10.1-1.8 6.5-10.4 3.5-15.7 2.7-24.5-3.9-48.8-8.7-73.2-12.6-177.7-28-356.5-45.8-535.8-59.2-227.8-17.1-455.8-22.8-684-17.4-160.9 3.9-321.3 11.8-480.8 34.4-56.1 8-111.8 18.1-167.1 30.3-4.6 1-8.7 2.8-12.6-1.3l-0.7-0.6z"/>
|
||||
<path class="st0" d="m1241 1055.3c4.9-39.2 14.7-77.8 37.3-111.8 16.4-24.6 36-23 48 4.2 11.7 27.1 20 55.5 24.8 84.6 1.9 11.5 6.6 22.5 9.9 33.8 1.5 4.9 4.4 10.8-1.8 13.9-6.9 3.4-10.8-2.5-13.9-7.4-7.4-13.2-12.2-27.6-14.3-42.5-2.2-11.5-7.6-15.7-18.9-12.6-4.5 1.1-9 1.8-13.5 2.3-35.3 4.4-35.1 4.4-41.7 37.7-1.2 6.1-0.5 15.9-8.3 15.7-10.4-0.4-6-10.9-7.6-17.9zm39.5-50.3c40.9 1 48.1-10 30.7-47.1-0.5-1.2-1.1-2.4-1.7-3.5-5.3-10.5-10.8-9.7-16.8-0.5-8.1 12.6-14.6 26.2-19.4 40.4-2.1 6.6-2 12 7.2 10.7z"/>
|
||||
<path class="st0" d="m2625.3 1018.6c-1.2 7.8-2.2 17.7-3.9 27.5-1 5.1-3 10.9-9.8 9.8s-7.2-7.2-6.9-12.4c0.8-10.4 2.8-20.7 3.3-31.2 0.4-6.7 2.3-16.7-7.2-17.6s-15.1 6.7-16.9 15.7c-1.8 8.9-2.9 19.3-4.7 28.9-0.3 4.7-4.3 8.2-9 7.9-0.2 0-0.4 0-0.6-0.1-6.1-0.9-6.6-6.2-6.1-10.8 1.1-12.4 2.9-24.6 3.9-37 0.4-5.1 0.4-11.8-5.2-13.7s-9.3 3.6-13.1 6.9c-7.8 6.7-8.2 15.7-8.6 25.1 0.1 3.9-0.2 7.9-0.9 11.8-1.8 6.9 0.4 18.8-10.7 17.3-10.4-1.4-7.3-12.3-6.4-19.6 1.7-15.7 3.9-31 6.7-46.5 1.1-6.4 2.7-14.7 11.8-5.7 5.3 5.2 7.8-0.9 11.5-2.7 10.3-5.1 18.8-3.9 25.5 5.9 2.3 3.4 2.6 7.8 9.8 5.8 25.6-7.3 38.7 4.6 37.5 34.7z"/>
|
||||
<path class="st0" d="m2657 1014.5c1.7 9.4-5.9 27.2 6 29.7 10.5 2.2 10.5-16.6 14.4-26.4 2.3-5.9 2.5-14.9 10.5-14.4 9.5 0.6 8.4 10 9.1 17 0.2 2.6 0 5.3 0.2 7.8 0.9 8.8-1 21.9 10.2 22.3s15.3-12.2 16.9-22.8c0.9-5.8 0-11.8 0.5-17.6 0.3-4.8 2-9.3 7.8-8.9 4.1 0.1 7.5 3.3 7.8 7.5 0.7 18 4.3 36.7-13.1 50.1-12 9.3-23.3 15-34.6-0.7-4.5-6.2-8.2-7.1-15.3-1.1-14.6 12.2-29 7.2-33.7-11.2-3.5-16-3.3-32.6 0.6-48.6 1-4.9 2.4-12 8.9-11.1 7.1 1 4.2 8.3 4.4 13.1 0.2 4.7-0.3 9-0.6 15.3z"/>
|
||||
<path class="st0" d="m1546.7 968.8c-21.2 4.5-45.9 4.3-50.5 33.4-1.5 7.3 2.4 14.7 9.3 17.6 14.4 6.9 28.9 9 47.9-1.8-12.7-1-20.4-1.3-28-2.4-4.7-0.7-8.9-3.3-8.6-8.9 0.3-4.7 4.3-6.2 8.3-6.7 11.6-1.7 23.5-0.6 34.6 3.3 9.5 3.2 9.6 11.5 6.2 19.6-7.6 18.6-39.2 25-64.4 13.1-22.4-10.7-27.5-30.3-14-53.8s36.9-31.4 57-18c1.1 0.5 1.2 2.3 2.2 4.6z"/>
|
||||
<path class="st0" d="m2113.2 977.9c9.4-2.9 19.5-2.8 28.8 0.4 8.6 2.6 15.7 7.8 16.2 17.3 0.3 8.1-4.5 15.6-12 18.8-15.4 7.3-31.4 9.7-46.1-1.5-13.1-9.9-16.8-29.1-8.9-48.2 6.9-16.5 18.2-28.4 37.3-30.1 6-0.5 13.1 0.8 14 7.6 1.5 10.4-7.6 5.3-12.2 6.5-14.8 3.9-22.8 13.9-25 28.8-1.2 23 10.1 33.5 29.6 27.5 3.9-1.1 7.8-2.3 7.5-7.3-0.3-3.9-4.3-4.4-7.4-4.9-5.1-0.8-10.4-1.3-15.7-2-8.3-1.2-12-4.7-6.1-12.9z"/>
|
||||
<path class="st0" d="m1610.4 954c8.7-7.4 18.5-5.8 24.4 1.6 8.9 11.4 13.1 5.6 20.4-1.3 15.7-14.6 30.6-10.8 37.7 9.2 5.3 15.5 7.5 31.9 6.5 48.3-0.2 5.1-0.8 11.8-7.4 12.2-7.2 0.6-7.5-6.2-8.1-11.1-1.3-9.1-1.4-18.2-2.6-27.3-1.3-9 1.6-23.9-11.1-22.4-11.8 1.4-20.5 13-19.1 27.7 0.8 8.4 1.7 16.9 2.2 25.3 0.3 4.6 0 10.3-5.3 11.3-6.7 1.2-8.8-4.5-9.7-9.8-2.4-14.1-4.2-28.4-6.9-42.4-2.5-12.4-9.2-16.9-20.8-8.8-0.1-4.3-0.2-8.4-0.2-12.5z"/>
|
||||
<path class="st0" d="m1805.5 977.3c0-8.4-0.2-12.6 0-21.1 0-4.4-0.3-10 4.4-12.2 6.3-3.1 7.1 3 9.1 6.8 3 5.5 6.2 1.4 9.5 0 22.6-9.1 37.4-2.6 45.4 20.6 4 11.7 5.8 24.1 5.2 36.5-0.2 5.3-1.7 11.4-8 11.8s-8.2-5.6-9-10.9c-1.4-9.7-2.3-19.4-3.6-29.1s-3.2-19.9-15.3-18.7c-11.8 0.5-20.9 10.4-20.4 22.1v0.1c-0.2 9.1 1.1 18.2 1.1 27.5 0 5.8 0 13.3-7.8 13.3-7 0-9.1-6.8-9.3-12.9-0.4-9.7 0-19.6 0-29.3-0.6-0.2-1-4.5-1.3-4.5z"/>
|
||||
<path class="st0" d="m2318.1 918.4c-18.8-6.4-38.6-4.4-57.8-7.4-5-0.8-12.4 0.4-12.8-6-0.6-7.8 7.4-7.8 12.9-8.6 17.7-2.3 35 2.1 52.5 3.2 31.2 2 62.3 4.8 93.5 7.3 5.7 0.5 13.6-0.5 13.9 7.2 0.4 9.5-8.4 8.4-14.6 8.2-26-1.1-52-2.5-78-3.9h-9.6z"/>
|
||||
<path class="st0" d="m1998.5 978.2c0.8-7.3 1.5-17.8 3.2-28.1 1.4-8.8 3.9-16.8 13.2-4.6 5 6.4 7.3-1 10.2-3 20.3-14.3 33.2-10.1 41.1 13.7 4.7 14 3.9 28.4 3.1 42.8-0.4 5.5 0 13.3-8.2 12.8-6.1-0.5-6.9-7.2-7.1-12.4 0.1-13.1-1-26.1-3.2-39-2.7-12.8-8.6-12.9-17.7-6.2-11.9 8.5-18.8 22.4-18.4 37.1 0 7.5 3.3 20.3-9.3 19.6-10.3-0.6-6.1-12.4-6.8-19.6-0.1-3.5-0.1-6.8-0.1-13.1z"/>
|
||||
<path class="st0" d="m2928.4 1043.4c1.6 0.1 3.3 0.1 4.9 0 8.6-2 18-14.8 23.7-8.2 7.8 8.9-8 11.3-12.1 17.7-5.5 8.6 3.6 11 6.3 16 4.3 7.8 19.6 16 12 22.9s-17.8-5.7-24.4-13.2c-10.1-11.8-17.5-16-20.9 4.2-0.7 4.3-3.1 9.3-9 8.2-4.7-0.9-7.8-5.4-6.9-10.1 0-0.2 0.1-0.4 0.1-0.5 2.9-21.2 6.4-42.4 9.9-63.5 0.7-3.9 2.7-7.8 7.8-6.9s6 4.9 6.5 8.7c0.9 8.1 1.3 16.4 2.1 24.7z"/>
|
||||
<path class="st0" d="m2820.1 1040c0 22.2-19.6 43.2-40.1 42.7-16.1 0.4-29.4-12.4-29.8-28.5v-1.2c0-21.8 22.2-46.8 42-47.6 13.8-0.6 27.9 16.8 27.9 34.6zm-14.6-0.6c-2.6-7.8-3.3-19.1-16.2-19.6-9.5-0.4-24.8 20.2-24.6 32.1 0 10.2 5.8 15.5 15.7 16 12.8 0.6 25.3-13.2 25.1-28.5z"/>
|
||||
<path class="st0" d="m2867.8 1053.7c3.9 9.9 21.7 16.7 11.8 26-8.4 7.8-16.6-7.2-24.2-13.1-2.5-1.9-4.7-4.2-6.8-6.2-5.1 2.4-4.9 6.6-5.7 10.2-1.1 4.8-3 9.1-8.8 8.2-6.7-1.1-7.8-6.7-6.8-12 2.4-13.4 3.9-27.2 8.7-39.8s15.7-17.8 29.2-18.8c11.8-0.9 15.3 7.8 18.9 15.7 7.5 16.3-5 22.5-16.3 29.8zm-3.3-32.9c-5.9 0.8-13.1 1.5-12.9 8.9 0 6.3 6.9 6.2 12.1 6.7 6.2 0.6 10.2-1.5 9.9-8.4-0.2-6.1-4.1-7.5-9.1-7.2z"/>
|
||||
<path class="st0" d="m2375.1 1013.5c11.5 15.7 29.7 9.3 51 14.4-18.4 10.8-32.5 14.4-48.6 8.7-16.9-5.1-27.5-21.8-25-39.2 1.5-16.3 9-28.7 25.7-32.9 12.4-3.1 23.5 0 30.3 11.8 6.2 10.6-1.4 16.4-9.3 21.6-8.7 1.8-36.6 15-7.1-7.1 3-4.6 4.4-8.2-0.9-11.2-4.1-2.4-9.3-1.8-12.7 1.5-11.2 9.3-9.6 20.7-3.4 32.4z"/>
|
||||
<path class="st0" d="m2496.3 1022c-1.2 7.3 1.1 17.1-8.1 18.2-9.1 1.1-7.8-8.6-8.5-14.5-0.7-7.5-4.1-10.6-11.3-9.6-8.2 1.1-19.2-4.6-22.2 9.3-0.9 3.9-0.7 10.6-7.1 9.2-5.6-1.2-4.7-7.4-4.2-11.8 2.1-18.4 6.9-36 20.8-49.4 11.8-11.5 24.1-9.5 31.7 5.2 7.2 13.8 7.1 29.1 8.9 43.4zm-19.1-29c-1.2-3.9-1.3-10.9-7.8-10.3-6.7 1.1-11.6 6.7-11.8 13.5-0.7 7.3 6.1 4.6 9.9 5.1 5.4 0.5 10.9 0.5 9.7-8.3z"/>
|
||||
<path class="st0" d="m1745.3 997.1c6.8 8.5 18.3 11.5 28.3 7.4 3.9-1.4 9.1-4.8 11.8 1.6 2 5-2 8.5-5.3 11.8-17.2 16.2-52.2 2.3-59.2-23.5-5.7-18.6 4.7-38.4 23.4-44.1 4.8-1.5 9.8-1.9 14.8-1.3 8.2 0.9 15.5 3.3 18.7 11.8s-3.1 12.9-8.6 17.6c-3 2.5-5.6 5.4-8.4 8.2l-9.2-2.4c4.9-6.2 14.4-10.1 13-19.3-0.7-4.6-7.6-3.7-11.8-2.4-9.8 3.1-17 9-16.4 20.6 0 2.2 2.1 4.4 3.3 6.5 0.3 3.7 1 7 5.6 7.5z"/>
|
||||
<path class="st0" d="m1375.4 992.4c5.7 6.8 2.9 14.1 3.7 20.6 1.6 14 7.2 26.3 22.7 26.7 19.6 0.5 34.5-12.7 35.8-27.8 0.8-9.3-7.3-24.8 8.2-25.3 13.1-0.5 10.7 15.2 11.3 25.1 0.7 8.5 4 16.6 9.5 23.1 3 3.9 8.5 7.8 3.2 13.3-3.4 3.8-9.3 4.1-13 0.6-0.4-0.3-0.7-0.7-1.1-1.1-11-14-20.2-9.1-32.5-1-12.6 9.2-29.9 8.5-41.7-1.7-12.4-10.1-14.7-29.6-6.1-52.5z"/>
|
||||
<path class="st0" d="m1946.8 948.4c-26.1 5.4-24.2 20.7-23 35.7 0.4 4.6 0.4 9.2 0.1 13.8-0.5 6 1.9 14.9-7.8 14.9-7.8 0-7.3-7.8-7.8-13.5-0.5-5.6-0.6-10.4-0.9-15.7-0.3-4.6 1.2-10.8-1.2-13.4-17.1-17.9 0.8-33.9 1.8-50.7 0.2-3.6-0.6-8.7 4.6-9.5s6.9 3.9 6.9 7.5c0 15.2 6.4 25.4 27.3 30.9z"/>
|
||||
<path class="st0" d="m2318.1 918.4h9.7c7 32.6 0.5 64.6-4.4 96.6-0.8 5.5-2.3 13.1-9.6 12.7-8.6-0.5-8.9-8.7-8.1-15.1 3.9-31.3 8.3-62.7 12.4-94.2z"/>
|
||||
<path class="st0" d="m1610.4 954v12.4c-8.6 9.6-9.3 20.3-7 32.8 1.8 9.6 10.5 26-3.9 28.1-13.7 1.8-10.4-16.3-12.6-26.4-1.8-9-2.8-18.1-3.3-27.2-0.8-14.6-0.5-14.5 13.8-12.3 6.2 0.9 7.5-6.7 13-7.4z"/>
|
||||
<path class="st0" d="m1972.1 980.9c-1 7.8-1.9 17.7-3.6 27.5-0.3 4-3.7 7-7.7 6.8h-0.4c-4.1-0.5-7.1-4.1-6.8-8.2 1-17.5 1.3-35.1 5.6-52.2 0.8-3.4 2.7-7 6.2-6 2.8 1.5 4.7 4.2 5.2 7.4 1 7.3 1 15.2 1.5 24.7z"/>
|
||||
<path class="st0" d="m1966.3 906.9c7.5 0.4 13.1 3.2 13.1 11.4 0 6.5-4.4 8.9-10.4 8.9-7.2-0.2-13-3.1-13.1-11.3-0.1-6.6 4.7-8.8 10.4-9z"/>
|
||||
<path class="st0" d="m1751.8 984.2 9.2 2.4-15.7 10.5c-4.6-0.5-5.2-3.9-5.5-7.5l12-5.4z"/>
|
||||
<path class="st0" d="m1161.9 1139.1 0.7 0.7-3.7 2.9 3-3.6z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 46 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 103 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -14,10 +14,13 @@ require (
|
||||
github.com/haya14busa/goverage v0.0.0-20180129164344-eec3514a20b5
|
||||
github.com/mattn/go-colorable v0.1.2 // indirect
|
||||
github.com/micro/cli/v2 v2.1.2
|
||||
github.com/micro/go-micro/v2 v2.9.1
|
||||
github.com/oklog/run v1.0.0
|
||||
github.com/olekukonko/tablewriter v0.0.1
|
||||
github.com/openzipkin/zipkin-go v0.2.2
|
||||
github.com/owncloud/flaex v0.2.0
|
||||
github.com/owncloud/ocis/ocis-pkg v0.0.0-00010101000000-000000000000
|
||||
github.com/prometheus/client_golang v1.7.1
|
||||
github.com/restic/calens v0.2.0
|
||||
github.com/rs/zerolog v1.19.0
|
||||
github.com/sirupsen/logrus v1.4.2
|
||||
|
||||
@@ -785,6 +785,7 @@ github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw=
|
||||
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/oleiade/reflections v1.0.0/go.mod h1:RbATFBbKYkVdqmSFtx13Bb/tVhR0lgOBXunWTZKeL4w=
|
||||
github.com/olekukonko/tablewriter v0.0.1 h1:b3iUnf1v+ppJiOfNX4yxxqfWKMQPZR5yoh8urCTFX88=
|
||||
github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
|
||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
|
||||
156
konnectd/package.json
Normal file
156
konnectd/package.json
Normal file
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"name": "identifier",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"homepage": ".",
|
||||
"dependencies": {
|
||||
"@babel/core": "7.8.4",
|
||||
"@material-ui/core": "^4.8.0",
|
||||
"@material-ui/icons": "^4.5.0",
|
||||
"@svgr/webpack": "4.3.3",
|
||||
"@typescript-eslint/eslint-plugin": "^2.10.0",
|
||||
"@typescript-eslint/parser": "^2.10.0",
|
||||
"axios": "^0.19.2",
|
||||
"babel-eslint": "10.0.3",
|
||||
"babel-jest": "^24.9.0",
|
||||
"babel-loader": "8.0.6",
|
||||
"babel-plugin-named-asset-import": "^0.3.6",
|
||||
"babel-preset-react-app": "^9.1.1",
|
||||
"camelcase": "^5.3.1",
|
||||
"case-sensitive-paths-webpack-plugin": "2.3.0",
|
||||
"classnames": "^2.2.6",
|
||||
"css-loader": "3.4.2",
|
||||
"dotenv": "8.2.0",
|
||||
"dotenv-expand": "5.1.0",
|
||||
"eslint": "^6.6.0",
|
||||
"eslint-config-react-app": "^5.2.0",
|
||||
"eslint-loader": "3.0.3",
|
||||
"eslint-plugin-flowtype": "4.6.0",
|
||||
"eslint-plugin-import": "2.20.0",
|
||||
"eslint-plugin-jsx-a11y": "6.2.3",
|
||||
"eslint-plugin-react": "7.18.0",
|
||||
"eslint-plugin-react-hooks": "^1.6.1",
|
||||
"file-loader": "4.3.0",
|
||||
"fs-extra": "^8.1.0",
|
||||
"html-webpack-plugin": "4.0.0-beta.11",
|
||||
"identity-obj-proxy": "3.0.0",
|
||||
"jest": "24.9.0",
|
||||
"jest-environment-jsdom-fourteen": "1.0.1",
|
||||
"jest-resolve": "24.9.0",
|
||||
"jest-watch-typeahead": "0.4.2",
|
||||
"kpop": "https://download.kopano.io/community/kapp:/kpop-2.2.0.tgz",
|
||||
"mini-css-extract-plugin": "0.9.0",
|
||||
"optimize-css-assets-webpack-plugin": "5.0.3",
|
||||
"pnp-webpack-plugin": "1.6.0",
|
||||
"postcss-flexbugs-fixes": "4.1.0",
|
||||
"postcss-loader": "3.0.0",
|
||||
"postcss-normalize": "8.0.1",
|
||||
"postcss-preset-env": "6.7.0",
|
||||
"postcss-safe-parser": "4.0.1",
|
||||
"query-string": "^5.0.1",
|
||||
"react": "^16.8.0",
|
||||
"react-app-polyfill": "^1.0.6",
|
||||
"react-dev-utils": "10.0.0",
|
||||
"react-dom": "16.13.1",
|
||||
"react-intl": "^5.8.6",
|
||||
"react-loadable": "^5.3.1",
|
||||
"react-redux": "^5.0.6",
|
||||
"react-router": "^5.0.0",
|
||||
"react-router-dom": "5.0.0",
|
||||
"redux": "^3.7.2",
|
||||
"redux-logger": "^3.0.6",
|
||||
"redux-thunk": "^2.2.0",
|
||||
"render-if": "^0.1.1",
|
||||
"resolve": "1.15.0",
|
||||
"resolve-url-loader": "3.1.1",
|
||||
"sass-loader": "8.0.2",
|
||||
"semver": "6.3.0",
|
||||
"style-loader": "1.1.3",
|
||||
"terser-webpack-plugin": "2.3.4",
|
||||
"ts-pnp": "1.1.5",
|
||||
"typeface-roboto": "^0.0.54",
|
||||
"url-loader": "2.3.0",
|
||||
"webpack": "4.41.5",
|
||||
"webpack-dev-server": "3.10.1",
|
||||
"webpack-manifest-plugin": "2.2.0",
|
||||
"workbox-webpack-plugin": "4.3.1"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node scripts/start.js",
|
||||
"build": "node scripts/build.js && rm -f build/service-worker.js",
|
||||
"test": "node scripts/test.js --env=jsdom",
|
||||
"licenses": "NODE_PATH=./node_modules node ../scripts/js-license-ranger.js",
|
||||
"deduplicate": "yarn-deduplicate -s fewer yarn.lock",
|
||||
"analyze": "source-map-explorer 'build/static/js/*.js'"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/runtime": "7.0.0-beta.55",
|
||||
"eslint": ">=5",
|
||||
"eslint-plugin-i18n-text": "^1.0.0",
|
||||
"eslint-plugin-jest": "^22.5.1",
|
||||
"eslint-plugin-react": "^7.10.0",
|
||||
"eslint-plugin-react-intl-format": "^1.1.6",
|
||||
"prop-types": "^15.6.2",
|
||||
"react-intl-cra": "^0.3.3",
|
||||
"react-intl-po": "^2.2.2",
|
||||
"source-map-explorer": "^1.8.0",
|
||||
"yarn-deduplicate": "^1.1.1"
|
||||
},
|
||||
"jest": {
|
||||
"roots": [
|
||||
"<rootDir>/src"
|
||||
],
|
||||
"collectCoverageFrom": [
|
||||
"src/**/*.js"
|
||||
],
|
||||
"setupFiles": [
|
||||
"react-app-polyfill/jsdom"
|
||||
],
|
||||
"setupFilesAfterEnv": [],
|
||||
"testMatch": [
|
||||
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
|
||||
"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
|
||||
],
|
||||
"testEnvironment": "jest-environment-jsdom-fourteen",
|
||||
"transform": {
|
||||
"^.+\\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
|
||||
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
|
||||
"^(?!.*\\.(js|jsx|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
|
||||
},
|
||||
"transformIgnorePatterns": [
|
||||
"node_modules/?!(kpop)"
|
||||
],
|
||||
"modulePaths": [],
|
||||
"moduleNameMapper": {
|
||||
"^react-native$": "react-native-web",
|
||||
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
|
||||
},
|
||||
"moduleFileExtensions": [
|
||||
"web.js",
|
||||
"js",
|
||||
"web.ts",
|
||||
"ts",
|
||||
"web.tsx",
|
||||
"tsx",
|
||||
"json",
|
||||
"web.jsx",
|
||||
"jsx",
|
||||
"node"
|
||||
],
|
||||
"watchPlugins": [
|
||||
"jest-watch-typeahead/filename",
|
||||
"jest-watch-typeahead/testname"
|
||||
]
|
||||
},
|
||||
"browserslist": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not ie <= 11",
|
||||
"not op_mini all"
|
||||
],
|
||||
"babel": {
|
||||
"presets": [
|
||||
"react-app"
|
||||
]
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
211
konnectd/scripts/build.js
Normal file
211
konnectd/scripts/build.js
Normal file
@@ -0,0 +1,211 @@
|
||||
'use strict';
|
||||
|
||||
// Do this as the first thing so that any code reading it knows the right env.
|
||||
process.env.BABEL_ENV = 'production';
|
||||
process.env.NODE_ENV = 'production';
|
||||
|
||||
// Makes the script crash on unhandled rejections instead of silently
|
||||
// ignoring them. In the future, promise rejections that are not handled will
|
||||
// terminate the Node.js process with a non-zero exit code.
|
||||
process.on('unhandledRejection', err => {
|
||||
throw err;
|
||||
});
|
||||
|
||||
// Ensure environment variables are read.
|
||||
require('../ui_config/env');
|
||||
|
||||
|
||||
const path = require('path');
|
||||
const chalk = require('react-dev-utils/chalk');
|
||||
const fs = require('fs-extra');
|
||||
const webpack = require('webpack');
|
||||
const configFactory = require('../ui_config/webpack.config');
|
||||
const paths = require('../ui_config/paths');
|
||||
const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');
|
||||
const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
|
||||
const printHostingInstructions = require('react-dev-utils/printHostingInstructions');
|
||||
const FileSizeReporter = require('react-dev-utils/FileSizeReporter');
|
||||
const printBuildError = require('react-dev-utils/printBuildError');
|
||||
|
||||
const measureFileSizesBeforeBuild =
|
||||
FileSizeReporter.measureFileSizesBeforeBuild;
|
||||
const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild;
|
||||
const useYarn = fs.existsSync(paths.yarnLockFile);
|
||||
|
||||
// These sizes are pretty large. We'll warn for bundles exceeding them.
|
||||
const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
|
||||
const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
|
||||
|
||||
const isInteractive = process.stdout.isTTY;
|
||||
|
||||
// Warn and crash if required files are missing
|
||||
if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Generate configuration
|
||||
const config = configFactory('production');
|
||||
|
||||
// We require that you explicitly set browsers and do not fall back to
|
||||
// browserslist defaults.
|
||||
const { checkBrowsers } = require('react-dev-utils/browsersHelper');
|
||||
checkBrowsers(paths.appPath, isInteractive)
|
||||
.then(() => {
|
||||
// First, read the current file sizes in build directory.
|
||||
// This lets us display how much they changed later.
|
||||
return measureFileSizesBeforeBuild(paths.appBuild);
|
||||
})
|
||||
.then(previousFileSizes => {
|
||||
// Remove all content but keep the directory so that
|
||||
// if you're in it, you don't end up in Trash
|
||||
fs.emptyDirSync(paths.appBuild);
|
||||
// Merge with the public folder
|
||||
copyPublicFolder();
|
||||
// Start the webpack build
|
||||
return build(previousFileSizes);
|
||||
})
|
||||
.then(
|
||||
({ stats, previousFileSizes, warnings }) => {
|
||||
if (warnings.length) {
|
||||
console.log(chalk.yellow('Compiled with warnings.\n'));
|
||||
console.log(warnings.join('\n\n'));
|
||||
console.log(
|
||||
'\nSearch for the ' +
|
||||
chalk.underline(chalk.yellow('keywords')) +
|
||||
' to learn more about each warning.'
|
||||
);
|
||||
console.log(
|
||||
'To ignore, add ' +
|
||||
chalk.cyan('// eslint-disable-next-line') +
|
||||
' to the line before.\n'
|
||||
);
|
||||
} else {
|
||||
console.log(chalk.green('Compiled successfully.\n'));
|
||||
}
|
||||
|
||||
console.log('File sizes after gzip:\n');
|
||||
printFileSizesAfterBuild(
|
||||
stats,
|
||||
previousFileSizes,
|
||||
paths.appBuild,
|
||||
WARN_AFTER_BUNDLE_GZIP_SIZE,
|
||||
WARN_AFTER_CHUNK_GZIP_SIZE
|
||||
);
|
||||
console.log();
|
||||
|
||||
const appPackage = require(paths.appPackageJson);
|
||||
const publicUrl = paths.publicUrl;
|
||||
const publicPath = config.output.publicPath;
|
||||
const buildFolder = path.relative(process.cwd(), paths.appBuild);
|
||||
printHostingInstructions(
|
||||
appPackage,
|
||||
publicUrl,
|
||||
publicPath,
|
||||
buildFolder,
|
||||
useYarn
|
||||
);
|
||||
},
|
||||
err => {
|
||||
const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true';
|
||||
if (tscCompileOnError) {
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
'Compiled with the following type errors (you may want to check these before deploying your app):\n'
|
||||
)
|
||||
);
|
||||
printBuildError(err);
|
||||
} else {
|
||||
console.log(chalk.red('Failed to compile.\n'));
|
||||
printBuildError(err);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
)
|
||||
.catch(err => {
|
||||
if (err && err.message) {
|
||||
console.log(err.message);
|
||||
}
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
// Create the production build and print the deployment instructions.
|
||||
function build(previousFileSizes) {
|
||||
// We used to support resolving modules according to `NODE_PATH`.
|
||||
// This now has been deprecated in favor of jsconfig/tsconfig.json
|
||||
// This lets you use absolute paths in imports inside large monorepos:
|
||||
if (process.env.NODE_PATH) {
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
'Setting NODE_PATH to resolve modules absolutely has been deprecated in favor of setting baseUrl in jsconfig.json (or tsconfig.json if you are using TypeScript) and will be removed in a future major release of create-react-app.'
|
||||
)
|
||||
);
|
||||
console.log();
|
||||
}
|
||||
|
||||
console.log('Creating an optimized production build...');
|
||||
|
||||
const compiler = webpack(config);
|
||||
return new Promise((resolve, reject) => {
|
||||
compiler.run((err, stats) => {
|
||||
let messages;
|
||||
if (err) {
|
||||
if (!err.message) {
|
||||
return reject(err);
|
||||
}
|
||||
|
||||
let errMessage = err.message;
|
||||
|
||||
// Add additional information for postcss errors
|
||||
if (Object.prototype.hasOwnProperty.call(err, 'postcssNode')) {
|
||||
errMessage +=
|
||||
'\nCompileError: Begins at CSS selector ' +
|
||||
err['postcssNode'].selector;
|
||||
}
|
||||
|
||||
messages = formatWebpackMessages({
|
||||
errors: [errMessage],
|
||||
warnings: [],
|
||||
});
|
||||
} else {
|
||||
messages = formatWebpackMessages(
|
||||
stats.toJson({ all: false, warnings: true, errors: true })
|
||||
);
|
||||
}
|
||||
if (messages.errors.length) {
|
||||
// Only keep the first error. Others are often indicative
|
||||
// of the same problem, but confuse the reader with noise.
|
||||
if (messages.errors.length > 1) {
|
||||
messages.errors.length = 1;
|
||||
}
|
||||
return reject(new Error(messages.errors.join('\n\n')));
|
||||
}
|
||||
if (
|
||||
process.env.CI &&
|
||||
(typeof process.env.CI !== 'string' ||
|
||||
process.env.CI.toLowerCase() !== 'false') &&
|
||||
messages.warnings.length
|
||||
) {
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
'\nTreating warnings as errors because process.env.CI = true.\n' +
|
||||
'Most CI servers set it automatically.\n'
|
||||
)
|
||||
);
|
||||
return reject(new Error(messages.warnings.join('\n\n')));
|
||||
}
|
||||
|
||||
return resolve({
|
||||
stats,
|
||||
previousFileSizes,
|
||||
warnings: messages.warnings,
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function copyPublicFolder() {
|
||||
fs.copySync(paths.appPublic, paths.appBuild, {
|
||||
dereference: true,
|
||||
filter: file => file !== paths.appHtml,
|
||||
});
|
||||
}
|
||||
147
konnectd/scripts/start.js
Normal file
147
konnectd/scripts/start.js
Normal file
@@ -0,0 +1,147 @@
|
||||
'use strict';
|
||||
|
||||
// Do this as the first thing so that any code reading it knows the right env.
|
||||
process.env.BABEL_ENV = 'development';
|
||||
process.env.NODE_ENV = 'development';
|
||||
|
||||
// Makes the script crash on unhandled rejections instead of silently
|
||||
// ignoring them. In the future, promise rejections that are not handled will
|
||||
// terminate the Node.js process with a non-zero exit code.
|
||||
process.on('unhandledRejection', err => {
|
||||
throw err;
|
||||
});
|
||||
|
||||
// Ensure environment variables are read.
|
||||
require('../ui_config/env');
|
||||
|
||||
|
||||
const fs = require('fs');
|
||||
const chalk = require('react-dev-utils/chalk');
|
||||
const webpack = require('webpack');
|
||||
const WebpackDevServer = require('webpack-dev-server');
|
||||
const clearConsole = require('react-dev-utils/clearConsole');
|
||||
const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');
|
||||
const {
|
||||
choosePort,
|
||||
createCompiler,
|
||||
prepareProxy,
|
||||
prepareUrls,
|
||||
} = require('react-dev-utils/WebpackDevServerUtils');
|
||||
const openBrowser = require('react-dev-utils/openBrowser');
|
||||
const paths = require('../ui_config/paths');
|
||||
const configFactory = require('../ui_config/webpack.config');
|
||||
const createDevServerConfig = require('../ui_config/webpackDevServer.config');
|
||||
|
||||
const useYarn = fs.existsSync(paths.yarnLockFile);
|
||||
const isInteractive = process.stdout.isTTY;
|
||||
|
||||
// Warn and crash if required files are missing
|
||||
if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Tools like Cloud9 rely on this.
|
||||
const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 3000;
|
||||
const HOST = process.env.HOST || '0.0.0.0';
|
||||
|
||||
if (process.env.HOST) {
|
||||
console.log(
|
||||
chalk.cyan(
|
||||
`Attempting to bind to HOST environment variable: ${chalk.yellow(
|
||||
chalk.bold(process.env.HOST)
|
||||
)}`
|
||||
)
|
||||
);
|
||||
console.log(
|
||||
`If this was unintentional, check that you haven't mistakenly set it in your shell.`
|
||||
);
|
||||
console.log(
|
||||
`Learn more here: ${chalk.yellow('https://bit.ly/CRA-advanced-config')}`
|
||||
);
|
||||
console.log();
|
||||
}
|
||||
|
||||
// We require that you explicitly set browsers and do not fall back to
|
||||
// browserslist defaults.
|
||||
const { checkBrowsers } = require('react-dev-utils/browsersHelper');
|
||||
checkBrowsers(paths.appPath, isInteractive)
|
||||
.then(() => {
|
||||
// We attempt to use the default port but if it is busy, we offer the user to
|
||||
// run on a different port. `choosePort()` Promise resolves to the next free port.
|
||||
return choosePort(HOST, DEFAULT_PORT);
|
||||
})
|
||||
.then(port => {
|
||||
if (port == null) {
|
||||
// We have not found a port.
|
||||
return;
|
||||
}
|
||||
const config = configFactory('development');
|
||||
const protocol = process.env.HTTPS === 'true' ? 'https' : 'http';
|
||||
const appName = require(paths.appPackageJson).name;
|
||||
const useTypeScript = fs.existsSync(paths.appTsConfig);
|
||||
const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true';
|
||||
const urls = prepareUrls(protocol, HOST, port);
|
||||
const devSocket = {
|
||||
warnings: warnings =>
|
||||
devServer.sockWrite(devServer.sockets, 'warnings', warnings),
|
||||
errors: errors =>
|
||||
devServer.sockWrite(devServer.sockets, 'errors', errors),
|
||||
};
|
||||
// Create a webpack compiler that is configured with custom messages.
|
||||
const compiler = createCompiler({
|
||||
appName,
|
||||
config,
|
||||
devSocket,
|
||||
urls,
|
||||
useYarn,
|
||||
useTypeScript,
|
||||
tscCompileOnError,
|
||||
webpack,
|
||||
});
|
||||
// Load proxy config
|
||||
const proxySetting = require(paths.appPackageJson).proxy;
|
||||
const proxyConfig = prepareProxy(proxySetting, paths.appPublic);
|
||||
// Serve webpack assets generated by the compiler over a web server.
|
||||
const serverConfig = createDevServerConfig(
|
||||
proxyConfig,
|
||||
urls.lanUrlForConfig
|
||||
);
|
||||
const devServer = new WebpackDevServer(compiler, serverConfig);
|
||||
// Launch WebpackDevServer.
|
||||
devServer.listen(port, HOST, err => {
|
||||
if (err) {
|
||||
return console.log(err);
|
||||
}
|
||||
if (isInteractive) {
|
||||
clearConsole();
|
||||
}
|
||||
|
||||
// We used to support resolving modules according to `NODE_PATH`.
|
||||
// This now has been deprecated in favor of jsconfig/tsconfig.json
|
||||
// This lets you use absolute paths in imports inside large monorepos:
|
||||
if (process.env.NODE_PATH) {
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
'Setting NODE_PATH to resolve modules absolutely has been deprecated in favor of setting baseUrl in jsconfig.json (or tsconfig.json if you are using TypeScript) and will be removed in a future major release of create-react-app.'
|
||||
)
|
||||
);
|
||||
console.log();
|
||||
}
|
||||
|
||||
console.log(chalk.cyan('Starting the development server...\n'));
|
||||
openBrowser(urls.localUrlForBrowser);
|
||||
});
|
||||
|
||||
['SIGINT', 'SIGTERM'].forEach(function(sig) {
|
||||
process.on(sig, function() {
|
||||
devServer.close();
|
||||
process.exit();
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
if (err && err.message) {
|
||||
console.log(err.message);
|
||||
}
|
||||
process.exit(1);
|
||||
});
|
||||
53
konnectd/scripts/test.js
Normal file
53
konnectd/scripts/test.js
Normal file
@@ -0,0 +1,53 @@
|
||||
'use strict';
|
||||
|
||||
// Do this as the first thing so that any code reading it knows the right env.
|
||||
process.env.BABEL_ENV = 'test';
|
||||
process.env.NODE_ENV = 'test';
|
||||
process.env.PUBLIC_URL = '';
|
||||
|
||||
// Makes the script crash on unhandled rejections instead of silently
|
||||
// ignoring them. In the future, promise rejections that are not handled will
|
||||
// terminate the Node.js process with a non-zero exit code.
|
||||
process.on('unhandledRejection', err => {
|
||||
throw err;
|
||||
});
|
||||
|
||||
// Ensure environment variables are read.
|
||||
require('../ui_config/env');
|
||||
|
||||
|
||||
const jest = require('jest');
|
||||
const execSync = require('child_process').execSync;
|
||||
let argv = process.argv.slice(2);
|
||||
|
||||
function isInGitRepository() {
|
||||
try {
|
||||
execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore' });
|
||||
return true;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function isInMercurialRepository() {
|
||||
try {
|
||||
execSync('hg --cwd . root', { stdio: 'ignore' });
|
||||
return true;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Watch unless on CI or explicitly running all tests
|
||||
if (
|
||||
!process.env.CI &&
|
||||
argv.indexOf('--watchAll') === -1 &&
|
||||
argv.indexOf('--watchAll=false') === -1
|
||||
) {
|
||||
// https://github.com/facebook/create-react-app/issues/5210
|
||||
const hasSourceControl = isInGitRepository() || isInMercurialRepository();
|
||||
argv.push(hasSourceControl ? '--watch' : '--watchAll');
|
||||
}
|
||||
|
||||
|
||||
jest.run(argv);
|
||||
65
konnectd/ui/Makefile
Normal file
65
konnectd/ui/Makefile
Normal file
@@ -0,0 +1,65 @@
|
||||
# Tools
|
||||
|
||||
YARN ?= yarn
|
||||
|
||||
# Variables
|
||||
|
||||
VERSION ?= $(shell git describe --tags --always --dirty --match=v* 2>/dev/null | sed 's/^v//' || \
|
||||
cat $(CURDIR)/../.version 2> /dev/null || echo 0.0.0-unreleased)
|
||||
|
||||
# Build
|
||||
|
||||
.PHONY: all
|
||||
all: build
|
||||
|
||||
.PHONY: build
|
||||
build: vendor | src i18n ; $(info building identifier Webapp ...) @
|
||||
@rm -rf build
|
||||
|
||||
REACT_APP_KOPANO_BUILD="${VERSION}" $(YARN) run build
|
||||
|
||||
.PHONY: src
|
||||
src:
|
||||
@$(MAKE) -C src
|
||||
|
||||
.PHONY: i18n
|
||||
i18n: vendor
|
||||
@$(MAKE) -C i18n
|
||||
|
||||
.PHONY: lint
|
||||
lint: vendor ; $(info running eslint ...) @
|
||||
@$(YARN) eslint . --cache && echo "eslint: no lint errors"
|
||||
|
||||
.PHONY: lint-checkstyle
|
||||
lint-checkstyle: vendor ; $(info running eslint checkstyle ...) @
|
||||
@mkdir -p ../test
|
||||
$(YARN) eslint -f checkstyle -o ../test/tests.eslint.xml . || true
|
||||
|
||||
# Yarn
|
||||
|
||||
.PHONY: vendor
|
||||
vendor: .yarninstall
|
||||
|
||||
.yarninstall: package.json ; $(info getting depdencies with yarn ...) @
|
||||
@$(YARN) install --silent
|
||||
@touch $@
|
||||
|
||||
# Stuff
|
||||
|
||||
.PHONY: licenses
|
||||
licenses:
|
||||
echo "## Konnect identifier webapp\n"
|
||||
@$(YARN) run -s licenses
|
||||
|
||||
.PHONY: clean ; $(info cleaning identifier Webapp ...) @
|
||||
clean:
|
||||
$(YARN) cache clean
|
||||
@rm -rf build
|
||||
@rm -rf node_modules
|
||||
@rm -f .yarninstall
|
||||
|
||||
@$(MAKE) -C src clean
|
||||
|
||||
.PHONY: version
|
||||
version:
|
||||
@echo $(VERSION)
|
||||
52
konnectd/ui/i18n/Makefile
Normal file
52
konnectd/ui/i18n/Makefile
Normal file
@@ -0,0 +1,52 @@
|
||||
# Tools
|
||||
|
||||
YARN ?= yarn
|
||||
MSGMERGE ?= msgmerge
|
||||
MSGFMT ?= msgfmt
|
||||
|
||||
# Variables
|
||||
|
||||
POT = konnect-identifier.pot
|
||||
POS = $(wildcard *.po)
|
||||
|
||||
# Translations
|
||||
|
||||
.PHONY: build
|
||||
build: json
|
||||
|
||||
.PHONY: extract
|
||||
extract: pot
|
||||
|
||||
.PHONY: i18n/src/messages.json
|
||||
i18n/src/messages.json:
|
||||
$(YARN) react-intl-cra './src/**/*.{js,jsx}' -o $@
|
||||
|
||||
.PHONY: pot
|
||||
pot: i18n/src/messages.json
|
||||
$(YARN) rip json2pot './i18n/src/**/*.json' \
|
||||
-o ./i18n/$(POT) \
|
||||
-c 'id'
|
||||
|
||||
.PHONY: json
|
||||
json: i18n/src/messages.json
|
||||
$(YARN) rip po2json './i18n/*.po' \
|
||||
-m './i18n/src/**/*.json' \
|
||||
-o './src/locales/' \
|
||||
-c 'id' \
|
||||
--indentation=2
|
||||
|
||||
.PHONY: merge
|
||||
merge: $(POS)
|
||||
|
||||
.PHONY: stats
|
||||
stats:
|
||||
$(foreach po, $(POS), $(shell $(MSGFMT) -v --statistics $(po)))
|
||||
@- true
|
||||
|
||||
$(POS): FORCE $(POT)
|
||||
$(MSGMERGE) -U \
|
||||
--backup=none \
|
||||
--no-wrap \
|
||||
$@ $(POT)
|
||||
|
||||
FORCE:
|
||||
309
konnectd/ui/i18n/de.po
Normal file
309
konnectd/ui/i18n/de.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2019-05-08 18:23+0200\n"
|
||||
"Last-Translator: Simon Eisenmann <simon@longsleep.org>\n"
|
||||
"Language-Team: German <http://translate.kopano.io/projects/kopano/konnect/de/>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Poedit 1.8.7.1\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr "?"
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr "Zugriff auf Ihre grundlegenden Benutzerinformationen"
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr "Einverstanden"
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr "{clientDisplayName} den Zugriff gestatten?"
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr "Wenn Sie Einverstanden klicken, erhält die App Zugriff auf Ihre Informationen."
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr "Konto auswählen"
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr "Wenn Sie \"Einverstanden\" klicken werden Sie zu {redirectURI} weitergeleitet"
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr "Geben Sie ein Passwort ein"
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr "Geben Sie einen Benutzername ein"
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr "Verbindung zum Server fehlgeschlagen"
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr "Bis bald"
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr "Hallo {displayName}"
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr "Hi {displayName}"
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr "Dauerhaften Zugriff (läuft nicht ab)"
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr "Anmeldung fehlgeschlagen. Bitte überprüfen Sie Ihre Eingabe und versuchen Sie es noch einmal."
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr "Netzwerkfehler. Bitte prüfen Sie Ihre Verbindung und versuchen Sie es noch einmal."
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr "Weiter"
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr "Klicken Sie auf die Schaltfläche unten um sich aus Ihrem Kopano Konto abzumelden."
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr "Wiederholen"
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr "Geltungsbereich: {scope}"
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr "Unerwartete HTTP-Antwort: {status}. Bitte prüfen Sie Ihre Verbindung und versuchen Sie es noch einmal."
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr "Unerwarteter Antwort-Status: {state}"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr "Anderes Konto"
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr "Benutzername"
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr "Willkommen {displayName}"
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr "Sie sind angemeldet - super!"
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr "Sie können dieses Fenster jetzt schließen."
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr "Bitte bestätigen Sie, dass Sie sich abmelden möchten"
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr "um sich bei Kopano anzumelden"
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr "mit Ihrem Kopano Konto"
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr "sie sind jetzt von Ihrem Kopano Konto abgemeldet"
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr "{clientDisplayName} möchte"
|
||||
309
konnectd/ui/i18n/es.po
Normal file
309
konnectd/ui/i18n/es.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2018-10-30T16:08:29.860Z\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: react-intl-po\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr ""
|
||||
309
konnectd/ui/i18n/fr.po
Normal file
309
konnectd/ui/i18n/fr.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2019-08-26 15:43+0000\n"
|
||||
"Last-Translator: Dominique <dperessoni@alternatiq.com>\n"
|
||||
"Language-Team: French <http://translate.kopano.io/projects/kopano/konnect/fr/>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 2.4\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr "?"
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr "Consulter les informations de base de votre compte"
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr "Autoriser"
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr "Autoriser {clientDisplayName} à faire cela ?"
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr "En cliquant, vous autoriser l'app à accéder à vos informations."
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr "Choisir un compte"
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr "En cliquant \"Autoriser\" vous serez redirigé vers : {redirectURI}"
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr "Saisir un mot de passe"
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr "Saisir un identifiant"
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr "La connexion au serveur a échoué"
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr "Au revoir"
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr "Bonjour {displayName}"
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr "Bonjour {displayName}"
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr "Conserver les autorisations d'accès à l'avenir"
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr "Echec de connexion. Vérifier vos identifiants et essayer à nouveau."
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr "Erreur réseau. Vérifier votre connexion, et réessayer."
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr "Cliquer le bouton ci-dessous, pour quitter Kopano."
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr "Réessayer"
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr "Portée : {scope}"
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr "Identification"
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Quitter"
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Quitter"
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr "Erreur HTTP inattendue : {status}. Vérifier votre connexion et réessayer."
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr "Erreur d'état inattendue : {state}"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr "Utiliser un autre compte"
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr "Utilisateur"
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr "Bienvenue {displayName}"
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr "Magnifique - Vous êtes connecté !"
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr "Vous pouvez fermer cette fenêtre à présent."
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr "Confirmer votre déconnexion"
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr "pour vous authentifier dans Kopano"
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr "avec vos identifiants Kopano"
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr "vous avez été déconnecté de Kopano"
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr "{clientDisplayName} souhaite"
|
||||
309
konnectd/ui/i18n/hi.po
Normal file
309
konnectd/ui/i18n/hi.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2019-09-04 09:55+0000\n"
|
||||
"Last-Translator: Mayank <m.dabhi@kopano.com>\n"
|
||||
"Language-Team: Hindi <http://translate.kopano.io/projects/kopano/konnect/hi/>\n"
|
||||
"Language: hi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 2.4\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr "?"
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr "अपनी मूल खाता जानकारी देखे"
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr "अनुमति दीजिये"
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr "क्या {clientDisplayName} को ये करने की अनुमति देना चाहते है?"
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr "अनुमति पर क्लिक करके, आप इस एप्लिकेशन को आपकी जानकारी का उपयोग करने की अनुमति देते हैं."
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr "रद्द करें"
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr "खाता चुनें"
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr "\"अनुमति\" पर क्लिक करने से आपको {redirecturI} पे पुनर्निर्देशित किया जायेगा"
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr "पासवर्ड डालिए"
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr "उपयोगकर्ता नाम डालिये"
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr "सर्वर से कनेक्ट करने में विफल"
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr "अलविदा"
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr "नमस्ते {displayName}"
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr "नमस्ते {displayName}"
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr "अनुमत पहुंच को लगातार और हमेशा बनाए रखें"
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr "लोगऑन नाकाम रहा. कृपया अपने क्रेडेंशियल्स जांचे और पुनः प्रयास करें."
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr "नेटवर्क त्रुटि। कृपया अपने संपर्क की जांच करे और फिर से प्रयास करें."
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr "अगला"
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr "पासवर्ड"
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr "अपने Kopano खाते से साइन आउट करने के लिए नीचे दिए गए बटन को दबाएं."
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr "पुन: प्रयास करें"
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr "क्षेत्र: {scope}"
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr "साइन इन"
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "साइन आउट"
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "साइन आउट"
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr "अनपेक्षित HTTP प्रतिक्रिया: {status}. कृपया अपने संपर्क की जांच करे और फिर से प्रयास करें."
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr "अनपेक्षित प्रतिक्रिया अवस्था: {state}"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr "दूसरे खाते का उपयोग करें"
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr "उपयोगकर्ता नाम"
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr "स्वागत हे {displayName}"
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr "आप साइंड इन हैं - अद्भुत!"
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr "अब आप इस विंडो को बंद कर सकते हैं."
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr "कृपया साइन आउट की पुष्टि करें"
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr "Kopano में साइन इन करने के लिए"
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr "अपने Kopano खाते के साथ"
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr "आपको अपने Kopano खाते से साइन आउट कर दिया गया है"
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr "{clientDisplayName} चाहते है की"
|
||||
310
konnectd/ui/i18n/hr.po
Normal file
310
konnectd/ui/i18n/hr.po
Normal file
@@ -0,0 +1,310 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"X-Generator: react-intl-po\n"
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"PO-Revision-Date: 2019-08-30 11:41+0200\n"
|
||||
"Last-Translator: root <translations@kopano.io>\n"
|
||||
"Language-Team: Croatian\n"
|
||||
"Language: hr\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr ""
|
||||
309
konnectd/ui/i18n/hu.po
Normal file
309
konnectd/ui/i18n/hu.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2018-10-30T16:08:29.860Z\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: react-intl-po\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr ""
|
||||
309
konnectd/ui/i18n/is.po
Normal file
309
konnectd/ui/i18n/is.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2019-09-02 15:40+0000\n"
|
||||
"Last-Translator: Tryggvi Björgvinsson <ME@TRICKVI.IS>\n"
|
||||
"Language-Team: Icelandic <http://translate.kopano.io/projects/kopano/konnect/is/>\n"
|
||||
"Language: is\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 2.4\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr "?"
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr "Komast í grunnupplýsingar um þig"
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr "Leyfa"
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr "Leyfa {clientDisplayName} að gera þetta?"
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr "Með því að smella á \"Leyfa\", leyfir þú þessu forriti að nota upplýsingarnar um þig."
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr "Hætta við"
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr "Veldu aðgang"
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr "Þegar þú smellir á \"Leyfa\" áframsendist þú á: {redirectURI}"
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr "Sláðu inn lykilorð"
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr "Sláðu inn notandanafn"
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr "Mistókst að tengjast netþjóni"
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr "Bless"
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr "Halló {displayName}"
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr "Hæ {displayName}"
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr "Viðhalda heimildunum alltaf og að eilífu (mundu mig)"
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr "Innskráning mistókst. Vinsamlegast staðfestu notandaupplýsingarnar og reyndu aftur."
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr "Netvilla. Vinsamlegast athugaðu tenginguna þína og reyndu aftur."
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr "Næsta"
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr "Lykilorð"
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr "Smelltu á takkann fyrir neðan til að skrá þig út af Kopano aðganginum núna."
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr "Reyna aftur"
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr "Gildissvið: {scope}"
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr "Innskrá"
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Útskrá"
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Útskrá"
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr "Ófyrirsjáanlegt HTTP svar: {status}. Vinsamlegast athugaðu tenginguna þína og reyndu aftur."
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr "Ófyrirsjáanleg svarstaða: {state}"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr "Nota annan aðgang"
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr "Notandanafn"
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr "Halló {displayName}"
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr "Innskráningin tókst - frábært!"
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr "Þú getur lokað þessum glugga núna."
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr "vinsamlegast staðfestu útskráningu"
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr "til að skrá þig inn í Kopano"
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr "með Kopano-aðganginum þínum"
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr "útskráning Kopano-aðgangsins þíns tókst"
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr "{clientDisplayName} vill"
|
||||
309
konnectd/ui/i18n/it.po
Normal file
309
konnectd/ui/i18n/it.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2018-10-30T16:08:29.860Z\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: react-intl-po\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr ""
|
||||
309
konnectd/ui/i18n/ja.po
Normal file
309
konnectd/ui/i18n/ja.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2018-10-30T16:08:29.860Z\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: react-intl-po\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr ""
|
||||
304
konnectd/ui/i18n/konnect-identifier.pot
Normal file
304
konnectd/ui/i18n/konnect-identifier.pot
Normal file
@@ -0,0 +1,304 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"X-Generator: react-intl-po\n"
|
||||
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#: ./i18n/src/messages.json
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr ""
|
||||
309
konnectd/ui/i18n/nb.po
Normal file
309
konnectd/ui/i18n/nb.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2019-08-26 16:21+0000\n"
|
||||
"Last-Translator: Klaus <klaus@linuxavdelingen.no>\n"
|
||||
"Language-Team: Norwegian Bokmål <http://translate.kopano.io/projects/kopano/konnect/nb/>\n"
|
||||
"Language: nb\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 2.4\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr "?"
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr "Tilgang til informasjon om basiskonto"
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr "Tillat"
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr "Tillatt {clientDisplayName} å gjøre dette?"
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr "Ved å klikke på Aksepter, så tillater du at appen bruker din informasjon."
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr "Velg en konto"
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr "Ved å klikke på \"Tillatt\" så vil du bli ledet til: {redirectURI}"
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr "Skriv inn et passord"
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr "Skriv inn et brukernavn"
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr "Klarte ikke å forbinde med server"
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr "Farvel"
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr "Hallo {displayName}"
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr "Hei {displayName}"
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr "Behold den tillate tilgangen for alltid"
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr "Logg inn feilet. Vennligst sjekk brukernavn/passord, og forsøk igjen."
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr "Nettverksfeil. Sjekk din forbindelse, og forsøk igjen."
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr "Neste"
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr "Passord"
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr "Trykk på knappen under, for å logge ut av din Kopano konto."
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr "Prøv igjen"
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr "Omfang: {scope}"
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr "Logg inn"
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Logg ut"
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Logg ut"
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr "Uventet HTTP respons: {status}. Sjekk tilkoblingen din og prøv igjen."
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr "Uventet svar-status: {state}"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr "Bruk en annen konto"
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr "Brukernavn"
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr "Velkommen {displayName}"
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr "Du er logget på!"
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr "Du kan lukke dette vinduet nå."
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr "vennligst bekreft utlogging"
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr "for å logge inn i Kopano"
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr "med din Kopano konto"
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr "du har blitt logget ut fra din Kopano konto"
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr "{clientDisplayName} ønsker"
|
||||
309
konnectd/ui/i18n/nl.po
Normal file
309
konnectd/ui/i18n/nl.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2019-05-09 13:19+0000\n"
|
||||
"Last-Translator: Bob <b.huisman@kopano.com>\n"
|
||||
"Language-Team: Dutch <http://translate.kopano.io/projects/kopano/konnect/nl/>\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 2.4\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr "?"
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr "Basis accountgegevens weergeven"
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr "Toestaan"
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr "{clientDisplayName} toestaan dit te doen?"
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr "Door op Toestaan te klikken, krijgt deze app toestemming je informatie te gebruiken."
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr "Account kiezen"
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr "Door op \"Toestaan\" te klikken word je doorverwezen naar: {redirectURI}"
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr "Voer een wachtwoord in"
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr "Voer een gebruikersnaam in"
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr "Kon niet met server verbinden"
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr "Tot ziens"
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr "Hallo {displayName}"
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr "Hoi {displayName}"
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr "De toestemming voor altijd onthouden"
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr "Inloggen mislukt. Controleer logingegevens en probeer opnieuw."
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr "Netwerk probleem. Controleer je verbinding en probeer opnieuw."
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr "Volgende"
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr "Wachtwoord"
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr "Klik op onderstaande knop om af te melden van je Kopano account."
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr "Opnieuw"
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr "Scope: {scope}"
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr "Aanmelden"
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Afmelden"
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Afmelden"
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr "Onverwachte HTTP respons: {status}. Controleer je verbinding en probeer opnieuw."
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr "Onverwachte respons status: {state}"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr "Gebruik een ander account"
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr "Gebruikersnaam"
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr "Welkom {displayName}"
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr "Je bent aangemeld - fantastisch!"
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr "Dit venster kan nu worden gesloten."
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr "bevestig afmelden"
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr "om aan te melden bij Kopano"
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr "met je Kopano account"
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr "je bent afgemeld van je Kopano account"
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr "{clientDisplayName} wil"
|
||||
308
konnectd/ui/i18n/pl.po
Normal file
308
konnectd/ui/i18n/pl.po
Normal file
@@ -0,0 +1,308 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"X-Generator: react-intl-po\n"
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"PO-Revision-Date: 2019-08-30 11:45+0200\n"
|
||||
"Last-Translator: root <root@podo.kopano.io>\n"
|
||||
"Language-Team: Language po\n"
|
||||
"Language: po\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr ""
|
||||
309
konnectd/ui/i18n/pt_PT.po
Normal file
309
konnectd/ui/i18n/pt_PT.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2019-05-31 09:39+0000\n"
|
||||
"Last-Translator: Nuno Jerónimo <nuno.jeronimo@valsousa.pt>\n"
|
||||
"Language-Team: Portuguese (Portugal) <http://translate.kopano.io/projects/kopano/konnect/pt_PT/>\n"
|
||||
"Language: pt_PT\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 2.4\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr "?"
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr "Aceder à sua informação básica da conta"
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr "Permitir"
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr "Permitir que {clientDisplayName} faça isto?"
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr "Ao carregar em Permitir, está a permitir que esta app use os seus dados."
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr "Escolher uma conta"
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr "Ao carregar em \"Permitir\" será redirecionado para: {redirectURI}"
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr "Insira uma palavra-passe"
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr "Insira um utilizador"
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr "Falhou a ligar ao servidor"
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr "Adeus"
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr "Olá {displayName}"
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr "Olá {displayName}"
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr "Manter o acesso permitido de forma persistente e para sempre"
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr "Falhou início de sessão. Por favor verifique as suas credenciais e tente novamente."
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr "Erro de rede. Por favor verifique as ligações e tente novamente."
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr "Seguinte"
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr "Palavra-passe"
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr "Carregue no botão abaixo para terminar sessão na sua conta Kopano agora."
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr "Tentar novamente"
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr "Contexto: {scope}"
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr "Iniciar sessão"
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Terminar sessão"
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Terminar sessão"
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr "Resposta HTTP inesperada: {status}. Por favor verifique a sua ligação e tente novamente."
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr "Resposta de estado inesperada: {state}"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr "Use outra conta"
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr "Utilizador"
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr "Bem vindo {displayName}"
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr "Iniciou sessão - fantástico!"
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr "Pode fechar esta janela agora."
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr "por favor confirme o fim de sessão"
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr "para iniciar sessão no Kopano"
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr "com a sua conta Kopano"
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr "a sessão da sua conta Kopano foi terminada"
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr "{clientDisplayName} quer"
|
||||
309
konnectd/ui/i18n/ru.po
Normal file
309
konnectd/ui/i18n/ru.po
Normal file
@@ -0,0 +1,309 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"PO-Revision-Date: 2019-08-27 08:46+0000\n"
|
||||
"Last-Translator: Sotneo <kerovsot@gmail.com>\n"
|
||||
"Language-Team: Russian <http://translate.kopano.io/projects/kopano/konnect/ru/>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 2.4\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr "?"
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr "Доступ к вашей основной учетной записи"
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr "Разрешить"
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr "Разрешить {clientDisplayName} сделать это?"
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr "Нажимая Разрешить, ты даёте разрешение этому приложению использовать вашу информацию."
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr "Выберите учётную запись"
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr "После нажатия \"Разрешить\" вы будете перенаправлена на: {redirectURI}"
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr "Введите пароль"
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr "Введите имя пользователя"
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr "Не удалось подключиться к серверу"
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr "До свидания"
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr "Здравствуйте, {displayName}"
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr "Привет, {displayName}"
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr "Сохраните разрешение на доступ как постоянное"
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr "Не удалось войти. Пожалуйста, проверьте ваши учетные данные и попробуйте снова."
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr "Сетевая ошибка. Пожалуйста, проверьте ваше соединение и попробуйте снова."
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr "Далее"
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr "Нажмите кнопку ниже, чтобы выйти из вашей учетной записи Kopano."
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr "Повторить"
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr "Охват: {scope}"
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr "Вход"
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Выход"
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr "Выход"
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr "Неожиданный ответ HTTP: {status}. Проверьте подключение и повторите попытку."
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr "Неожиданный ответ: {state}"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr "Другой пользователь"
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr "Имя пользователя"
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr "Добро пожаловать, {displayName}"
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr "Вы вошли - круто!"
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr "Теперь вы можете закрыть окно."
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr "пожалуйста, подтвердите выход"
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr "для входа в Kopano"
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr "с вашей учётной записью Kopano"
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr "вы вышли из вашей учетной записи Kopano"
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr "{clientDisplayName} хочет"
|
||||
310
konnectd/ui/i18n/sl.po
Normal file
310
konnectd/ui/i18n/sl.po
Normal file
@@ -0,0 +1,310 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2019-05-09T14:09:27.715Z\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"X-Generator: react-intl-po\n"
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"PO-Revision-Date: 2019-08-30 11:46+0200\n"
|
||||
"Last-Translator: root <root@transdoc.kopano.io>\n"
|
||||
"Language-Team: Slovenian\n"
|
||||
"Language: sl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
|
||||
#. [konnect.chooseaccount.useOther.persona.label]
|
||||
#. defaultMessage is:
|
||||
#. ?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.persona.label"
|
||||
msgid "?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.aliasBasic]
|
||||
#. defaultMessage is:
|
||||
#. Access your basic account information
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.aliasBasic"
|
||||
msgid "Access your basic account information"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.allowButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Allow
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.allowButton.label"
|
||||
msgid "Allow"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.question]
|
||||
#. defaultMessage is:
|
||||
#. Allow {clientDisplayName} to do this?
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.question"
|
||||
msgid "Allow {clientDisplayName} to do this?"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.consequence]
|
||||
#. defaultMessage is:
|
||||
#. By clicking Allow, you allow this app to use your information.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.consequence"
|
||||
msgid "By clicking Allow, you allow this app to use your information."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.cancelButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Cancel
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.cancelButton.label"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.headline]
|
||||
#. defaultMessage is:
|
||||
#. Choose an account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.headline"
|
||||
msgid "Choose an account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.tooltip.client]
|
||||
#. defaultMessage is:
|
||||
#. Clicking "Allow" will redirect you to: {redirectURI}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.tooltip.client"
|
||||
msgid "Clicking \"Allow\" will redirect you to: {redirectURI}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingPassword]
|
||||
#. defaultMessage is:
|
||||
#. Enter a password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingPassword"
|
||||
msgid "Enter a password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.validate.missingUsername]
|
||||
#. defaultMessage is:
|
||||
#. Enter an username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.validate.missingUsername"
|
||||
msgid "Enter an username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.loading.error.headline]
|
||||
#. defaultMessage is:
|
||||
#. Failed to connect to server
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.loading.error.headline"
|
||||
msgid "Failed to connect to server"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.headline]
|
||||
#. defaultMessage is:
|
||||
#. Goodbye
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.headline"
|
||||
msgid "Goodbye"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hello {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.headline"
|
||||
msgid "Hello {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.headline]
|
||||
#. defaultMessage is:
|
||||
#. Hi {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.headline"
|
||||
msgid "Hi {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.offlineAccess]
|
||||
#. defaultMessage is:
|
||||
#. Keep the allowed access persistently and forever
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.offlineAccess"
|
||||
msgid "Keep the allowed access persistently and forever"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.login.failed]
|
||||
#. defaultMessage is:
|
||||
#. Logon failed. Please verify your credentials and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.login.failed"
|
||||
msgid "Logon failed. Please verify your credentials and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnet.error.http.networkError]
|
||||
#. defaultMessage is:
|
||||
#. Network error. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnet.error.http.networkError"
|
||||
msgid "Network error. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.nextButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Next
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.nextButton.label"
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.passwordField.label]
|
||||
#. defaultMessage is:
|
||||
#. Password
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.passwordField.label"
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.confirm]
|
||||
#. defaultMessage is:
|
||||
#. Press the button below, to sign out from your Kopano account now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.confirm"
|
||||
msgid "Press the button below, to sign out from your Kopano account now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.retryButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Retry
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.retryButton.label"
|
||||
msgid "Retry"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.scopeDescription.scope]
|
||||
#. defaultMessage is:
|
||||
#. Scope: {scope}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.scopeDescription.scope"
|
||||
msgid "Scope: {scope}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.headline]
|
||||
#. defaultMessage is:
|
||||
#. Sign in
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.headline"
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.signoutButton.label]
|
||||
#. defaultMessage is:
|
||||
#. Sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.signoutButton.label"
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseStatus]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected HTTP response: {status}. Please check your connection and try again.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseStatus"
|
||||
msgid "Unexpected HTTP response: {status}. Please check your connection and try again."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.error.http.unexpectedResponseState]
|
||||
#. defaultMessage is:
|
||||
#. Unexpected response state: {state}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.error.http.unexpectedResponseState"
|
||||
msgid "Unexpected response state: {state}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.useOther.label]
|
||||
#. defaultMessage is:
|
||||
#. Use another account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.useOther.label"
|
||||
msgid "Use another account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.usernameField.label]
|
||||
#. defaultMessage is:
|
||||
#. Username
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.usernameField.label"
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.headline]
|
||||
#. defaultMessage is:
|
||||
#. Welcome {displayName}
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.headline"
|
||||
msgid "Welcome {displayName}"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.welcome.message]
|
||||
#. defaultMessage is:
|
||||
#. You are signed in - awesome!
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.welcome.message"
|
||||
msgid "You are signed in - awesome!"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.message.close]
|
||||
#. defaultMessage is:
|
||||
#. You can close this window now.
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.message.close"
|
||||
msgid "You can close this window now."
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.confirm.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. please confirm sign out
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.confirm.subHeader"
|
||||
msgid "please confirm sign out"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.chooseaccount.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. to sign in to Kopano
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.chooseaccount.subHeader"
|
||||
msgid "to sign in to Kopano"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.login.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. with your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.login.subHeader"
|
||||
msgid "with your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.goodbye.subHeader]
|
||||
#. defaultMessage is:
|
||||
#. you have been signed out from your Kopano account
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.goodbye.subHeader"
|
||||
msgid "you have been signed out from your Kopano account"
|
||||
msgstr ""
|
||||
|
||||
#. [konnect.consent.message]
|
||||
#. defaultMessage is:
|
||||
#. {clientDisplayName} wants to
|
||||
#: i18n/src/messages.json
|
||||
msgctxt "konnect.consent.message"
|
||||
msgid "{clientDisplayName} wants to"
|
||||
msgstr ""
|
||||
187
konnectd/ui/i18n/src/messages.json
Normal file
187
konnectd/ui/i18n/src/messages.json
Normal file
@@ -0,0 +1,187 @@
|
||||
[
|
||||
{
|
||||
"id": "konnect.loading.error.headline",
|
||||
"defaultMessage": "Failed to connect to server",
|
||||
"filepath": "./src/components/Loading.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.login.retryButton.label",
|
||||
"defaultMessage": "Retry",
|
||||
"filepath": "./src/components/Loading.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.scopeDescription.aliasBasic",
|
||||
"defaultMessage": "Access your basic account information",
|
||||
"filepath": "./src/components/ScopesList.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.scopeDescription.offlineAccess",
|
||||
"defaultMessage": "Keep the allowed access persistently and forever",
|
||||
"filepath": "./src/components/ScopesList.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.scopeDescription.scope",
|
||||
"defaultMessage": "Scope: {scope}",
|
||||
"filepath": "./src/components/ScopesList.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.goodbye.headline",
|
||||
"defaultMessage": "Goodbye",
|
||||
"filepath": "./src/containers/Goodbye/Goodbyescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.goodbye.subHeader",
|
||||
"defaultMessage": "you have been signed out from your Kopano account",
|
||||
"filepath": "./src/containers/Goodbye/Goodbyescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.goodbye.message.close",
|
||||
"defaultMessage": "You can close this window now.",
|
||||
"filepath": "./src/containers/Goodbye/Goodbyescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.goodbye.confirm.headline",
|
||||
"defaultMessage": "Hello {displayName}",
|
||||
"filepath": "./src/containers/Goodbye/Goodbyescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.goodbye.confirm.subHeader",
|
||||
"defaultMessage": "please confirm sign out",
|
||||
"filepath": "./src/containers/Goodbye/Goodbyescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.goodbye.message.confirm",
|
||||
"defaultMessage": "Press the button below, to sign out from your Kopano account now.",
|
||||
"filepath": "./src/containers/Goodbye/Goodbyescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.goodbye.signoutButton.label",
|
||||
"defaultMessage": "Sign out",
|
||||
"filepath": "./src/containers/Goodbye/Goodbyescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.chooseaccount.headline",
|
||||
"defaultMessage": "Choose an account",
|
||||
"filepath": "./src/containers/Login/Chooseaccount.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.chooseaccount.subHeader",
|
||||
"defaultMessage": "to sign in to Kopano",
|
||||
"filepath": "./src/containers/Login/Chooseaccount.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.chooseaccount.useOther.persona.label",
|
||||
"defaultMessage": "?",
|
||||
"filepath": "./src/containers/Login/Chooseaccount.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.chooseaccount.useOther.label",
|
||||
"defaultMessage": "Use another account",
|
||||
"filepath": "./src/containers/Login/Chooseaccount.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.consent.headline",
|
||||
"defaultMessage": "Hi {displayName}",
|
||||
"filepath": "./src/containers/Login/Consent.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.consent.message",
|
||||
"defaultMessage": "{clientDisplayName} wants to",
|
||||
"filepath": "./src/containers/Login/Consent.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.consent.tooltip.client",
|
||||
"defaultMessage": "Clicking \"Allow\" will redirect you to: {redirectURI}",
|
||||
"filepath": "./src/containers/Login/Consent.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.consent.question",
|
||||
"defaultMessage": "Allow {clientDisplayName} to do this?",
|
||||
"filepath": "./src/containers/Login/Consent.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.consent.consequence",
|
||||
"defaultMessage": "By clicking Allow, you allow this app to use your information.",
|
||||
"filepath": "./src/containers/Login/Consent.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.consent.cancelButton.label",
|
||||
"defaultMessage": "Cancel",
|
||||
"filepath": "./src/containers/Login/Consent.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.consent.allowButton.label",
|
||||
"defaultMessage": "Allow",
|
||||
"filepath": "./src/containers/Login/Consent.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.login.headline",
|
||||
"defaultMessage": "Sign in",
|
||||
"filepath": "./src/containers/Login/Login.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.login.subHeader",
|
||||
"defaultMessage": "with your Kopano account",
|
||||
"filepath": "./src/containers/Login/Login.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.login.usernameField.label",
|
||||
"defaultMessage": "Username",
|
||||
"filepath": "./src/containers/Login/Login.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.login.passwordField.label",
|
||||
"defaultMessage": "Password",
|
||||
"filepath": "./src/containers/Login/Login.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.login.nextButton.label",
|
||||
"defaultMessage": "Next",
|
||||
"filepath": "./src/containers/Login/Login.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.welcome.headline",
|
||||
"defaultMessage": "Welcome {displayName}",
|
||||
"filepath": "./src/containers/Welcome/Welcomescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.welcome.message",
|
||||
"defaultMessage": "You are signed in - awesome!",
|
||||
"filepath": "./src/containers/Welcome/Welcomescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.welcome.signoutButton.label",
|
||||
"defaultMessage": "Sign out",
|
||||
"filepath": "./src/containers/Welcome/Welcomescreen.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.error.login.validate.missingUsername",
|
||||
"defaultMessage": "Enter an username",
|
||||
"filepath": "./src/errors/index.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.error.login.validate.missingPassword",
|
||||
"defaultMessage": "Enter a password",
|
||||
"filepath": "./src/errors/index.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.error.login.failed",
|
||||
"defaultMessage": "Logon failed. Please verify your credentials and try again.",
|
||||
"filepath": "./src/errors/index.js"
|
||||
},
|
||||
{
|
||||
"id": "konnet.error.http.networkError",
|
||||
"defaultMessage": "Network error. Please check your connection and try again.",
|
||||
"filepath": "./src/errors/index.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.error.http.unexpectedResponseStatus",
|
||||
"defaultMessage": "Unexpected HTTP response: {status}. Please check your connection and try again.",
|
||||
"filepath": "./src/errors/index.js"
|
||||
},
|
||||
{
|
||||
"id": "konnect.error.http.unexpectedResponseState",
|
||||
"defaultMessage": "Unexpected response state: {state}",
|
||||
"filepath": "./src/errors/index.js"
|
||||
}
|
||||
]
|
||||
18
konnectd/ui/public/index.html
Normal file
18
konnectd/ui/public/index.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="theme-color" content="#1b223d">
|
||||
<link rel="shortcut icon" href="%PUBLIC_URL%/static/favicon.ico" type="image/x-icon">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600&display=swap" rel="stylesheet">
|
||||
<meta property="csp-nonce" content="__CSP_NONCE__">
|
||||
<title>Sign in — ownCloud</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
You need to enable JavaScript to run this app.
|
||||
</noscript>
|
||||
<main id="root" class="oc-login-bg" data-path-prefix="__PATH_PREFIX__"></main>
|
||||
</body>
|
||||
</html>
|
||||
1
konnectd/ui/public/static/logo.svg
Normal file
1
konnectd/ui/public/static/logo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cloud" class="svg-inline--fa fa-cloud fa-w-20" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="#ffffff" d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z"></path></svg>
|
||||
|
After Width: | Height: | Size: 479 B |
45
konnectd/ui/src/Main.js
Normal file
45
konnectd/ui/src/Main.js
Normal file
@@ -0,0 +1,45 @@
|
||||
import React, { PureComponent } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { BrowserRouter } from 'react-router-dom';
|
||||
|
||||
import Routes from './Routes';
|
||||
|
||||
class App extends PureComponent {
|
||||
render() {
|
||||
const { classes, hello, pathPrefix } = this.props;
|
||||
|
||||
return (
|
||||
<BrowserRouter basename={pathPrefix}>
|
||||
<Routes hello={hello}/>
|
||||
</BrowserRouter>
|
||||
);
|
||||
}
|
||||
|
||||
reload(event) {
|
||||
event.preventDefault();
|
||||
|
||||
window.location.reload();
|
||||
}
|
||||
}
|
||||
|
||||
App.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
|
||||
hello: PropTypes.object,
|
||||
updateAvailable: PropTypes.bool.isRequired,
|
||||
pathPrefix: PropTypes.string.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const { hello, updateAvailable, pathPrefix } = state.common;
|
||||
|
||||
return {
|
||||
hello,
|
||||
updateAvailable,
|
||||
pathPrefix
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(App);
|
||||
12
konnectd/ui/src/Main.test.js
Normal file
12
konnectd/ui/src/Main.test.js
Normal file
@@ -0,0 +1,12 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
|
||||
import { Provider } from 'react-redux';
|
||||
|
||||
import store from './store';
|
||||
import App from './Main';
|
||||
|
||||
it('renders without crashing', () => {
|
||||
const div = document.createElement('div');
|
||||
ReactDOM.render(<Provider store={store}><App/></Provider>, div);
|
||||
});
|
||||
8
konnectd/ui/src/Makefile
Normal file
8
konnectd/ui/src/Makefile
Normal file
@@ -0,0 +1,8 @@
|
||||
all: images
|
||||
|
||||
.PHONY: images
|
||||
images:
|
||||
@$(MAKE) -C images
|
||||
|
||||
clean:
|
||||
@$(MAKE) -C images clean
|
||||
40
konnectd/ui/src/Routes.js
Normal file
40
konnectd/ui/src/Routes.js
Normal file
@@ -0,0 +1,40 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import { Route, Switch } from 'react-router-dom';
|
||||
import AsyncComponent from 'kpop/es/AsyncComponent';
|
||||
|
||||
import PrivateRoute from './components/PrivateRoute';
|
||||
|
||||
const AsyncLogin = AsyncComponent(() =>
|
||||
import(/* webpackChunkName: "containers-login" */ './containers/Login'));
|
||||
const AsyncWelcome = AsyncComponent(() =>
|
||||
import(/* webpackChunkName: "containers-welcome" */ './containers/Welcome'));
|
||||
const AsyncGoodbye = AsyncComponent(() =>
|
||||
import(/* webpackChunkName: "containers-goodbye" */ './containers/Goodbye'));
|
||||
|
||||
const Routes = ({ hello }) => (
|
||||
<Switch>
|
||||
<PrivateRoute
|
||||
path="/welcome"
|
||||
exact
|
||||
component={AsyncWelcome}
|
||||
hello={hello}
|
||||
/>
|
||||
<Route
|
||||
path="/goodbye"
|
||||
exact
|
||||
component={AsyncGoodbye}
|
||||
/>
|
||||
<Route
|
||||
path="/"
|
||||
component={AsyncLogin}
|
||||
/>
|
||||
</Switch>
|
||||
);
|
||||
|
||||
Routes.propTypes = {
|
||||
hello: PropTypes.object
|
||||
};
|
||||
|
||||
export default Routes;
|
||||
133
konnectd/ui/src/actions/common.js
Normal file
133
konnectd/ui/src/actions/common.js
Normal file
@@ -0,0 +1,133 @@
|
||||
import axios from 'axios';
|
||||
|
||||
import { newHelloRequest } from '../models/hello';
|
||||
import { withClientRequestState } from '../utils';
|
||||
import {
|
||||
ExtendedError,
|
||||
ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS,
|
||||
ERROR_HTTP_UNEXPECTED_RESPONSE_STATE
|
||||
} from '../errors';
|
||||
|
||||
import { handleAxiosError } from './utils';
|
||||
import * as types from './types';
|
||||
|
||||
export function receiveError(error) {
|
||||
return {
|
||||
type: types.RECEIVE_ERROR,
|
||||
error
|
||||
};
|
||||
}
|
||||
|
||||
export function resetHello() {
|
||||
return {
|
||||
type: types.RESET_HELLO
|
||||
};
|
||||
}
|
||||
|
||||
export function receiveHello(hello) {
|
||||
const { success, username, displayName } = hello;
|
||||
|
||||
return {
|
||||
type: types.RECEIVE_HELLO,
|
||||
state: success === true,
|
||||
username,
|
||||
displayName,
|
||||
hello
|
||||
};
|
||||
}
|
||||
|
||||
export function executeHello() {
|
||||
return function(dispatch, getState) {
|
||||
dispatch(resetHello());
|
||||
|
||||
const { flow, query } = getState().common;
|
||||
|
||||
const r = withClientRequestState(newHelloRequest(flow, query));
|
||||
return axios.post('./identifier/_/hello', r, {
|
||||
headers: {
|
||||
'Kopano-Konnect-XSRF': '1'
|
||||
}
|
||||
}).then(response => {
|
||||
switch (response.status) {
|
||||
case 200:
|
||||
// success.
|
||||
return response.data;
|
||||
case 204:
|
||||
// not signed-in.
|
||||
return {
|
||||
success: false,
|
||||
state: response.headers['kopano-konnect-state']
|
||||
};
|
||||
default:
|
||||
// error.
|
||||
throw new ExtendedError(ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS, response);
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.state !== r.state) {
|
||||
throw new ExtendedError(ERROR_HTTP_UNEXPECTED_RESPONSE_STATE, response);
|
||||
}
|
||||
|
||||
dispatch(receiveHello(response));
|
||||
return Promise.resolve(response);
|
||||
}).catch(error => {
|
||||
error = handleAxiosError(error);
|
||||
|
||||
dispatch(receiveError(error));
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function retryHello() {
|
||||
return function(dispatch) {
|
||||
dispatch(receiveError(null));
|
||||
|
||||
return dispatch(executeHello());
|
||||
};
|
||||
}
|
||||
|
||||
export function requestLogoff() {
|
||||
return {
|
||||
type: types.REQUEST_LOGOFF
|
||||
};
|
||||
}
|
||||
|
||||
export function receiveLogoff(state) {
|
||||
return {
|
||||
type: types.RECEIVE_LOGOFF,
|
||||
state
|
||||
};
|
||||
}
|
||||
|
||||
export function executeLogoff() {
|
||||
return function(dispatch) {
|
||||
dispatch(resetHello());
|
||||
dispatch(requestLogoff());
|
||||
|
||||
const r = withClientRequestState({});
|
||||
return axios.post('./identifier/_/logoff', r, {
|
||||
headers: {
|
||||
'Kopano-Konnect-XSRF': '1'
|
||||
}
|
||||
}).then(response => {
|
||||
switch (response.status) {
|
||||
case 200:
|
||||
// success.
|
||||
return response.data;
|
||||
default:
|
||||
// error.
|
||||
throw new ExtendedError(ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS, response);
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.state !== r.state) {
|
||||
throw new ExtendedError(ERROR_HTTP_UNEXPECTED_RESPONSE_STATE, response);
|
||||
}
|
||||
|
||||
dispatch(receiveLogoff(response.success === true));
|
||||
return Promise.resolve(response);
|
||||
}).catch(error => {
|
||||
error = handleAxiosError(error);
|
||||
|
||||
dispatch(receiveError(error));
|
||||
});
|
||||
};
|
||||
}
|
||||
291
konnectd/ui/src/actions/login.js
Normal file
291
konnectd/ui/src/actions/login.js
Normal file
@@ -0,0 +1,291 @@
|
||||
import axios from 'axios';
|
||||
import queryString from 'query-string';
|
||||
|
||||
import { newHelloRequest } from '../models/hello';
|
||||
import { withClientRequestState } from '../utils';
|
||||
import {
|
||||
ExtendedError,
|
||||
ERROR_LOGIN_VALIDATE_MISSINGUSERNAME,
|
||||
ERROR_LOGIN_VALIDATE_MISSINGPASSWORD,
|
||||
ERROR_LOGIN_FAILED,
|
||||
ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS,
|
||||
ERROR_HTTP_UNEXPECTED_RESPONSE_STATE
|
||||
} from '../errors';
|
||||
|
||||
import * as types from './types';
|
||||
import { receiveHello } from './common';
|
||||
import { handleAxiosError } from './utils';
|
||||
|
||||
// Modes for logon.
|
||||
export const ModeLogonUsernameEmptyPasswordCookie = '0';
|
||||
export const ModeLogonUsernamePassword = '1';
|
||||
|
||||
export function updateInput(name, value) {
|
||||
return {
|
||||
type: types.UPDATE_INPUT,
|
||||
name,
|
||||
value
|
||||
};
|
||||
}
|
||||
|
||||
export function receiveValidateLogon(errors) {
|
||||
return {
|
||||
type: types.RECEIVE_VALIDATE_LOGON,
|
||||
errors
|
||||
};
|
||||
}
|
||||
|
||||
export function requestLogon(username, password) {
|
||||
return {
|
||||
type: types.REQUEST_LOGON,
|
||||
username,
|
||||
password
|
||||
};
|
||||
}
|
||||
|
||||
export function receiveLogon(logon) {
|
||||
const { success, errors } = logon;
|
||||
|
||||
return {
|
||||
type: types.RECEIVE_LOGON,
|
||||
success,
|
||||
errors
|
||||
};
|
||||
}
|
||||
|
||||
export function requestConsent(allow=false) {
|
||||
return {
|
||||
type: allow ? types.REQUEST_CONSENT_ALLOW : types.REQUEST_CONSENT_CANCEL
|
||||
};
|
||||
}
|
||||
|
||||
export function receiveConsent(logon) {
|
||||
const { success, errors } = logon;
|
||||
|
||||
return {
|
||||
type: types.RECEIVE_CONSENT,
|
||||
success,
|
||||
errors
|
||||
};
|
||||
}
|
||||
|
||||
export function executeLogon(username, password, mode=ModeLogonUsernamePassword) {
|
||||
return function(dispatch, getState) {
|
||||
dispatch(requestLogon(username, password));
|
||||
dispatch(receiveHello({
|
||||
username
|
||||
})); // Reset any hello state on logon.
|
||||
|
||||
const { flow, query } = getState().common;
|
||||
|
||||
// Prepare params based on mode.
|
||||
const params = [];
|
||||
switch (mode) {
|
||||
case ModeLogonUsernamePassword:
|
||||
// Username with password.
|
||||
params.push(username, password, mode);
|
||||
break;
|
||||
|
||||
case ModeLogonUsernameEmptyPasswordCookie:
|
||||
// Username with empty password - this only works when the user is already signed in.
|
||||
params.push(username, '', mode);
|
||||
break;
|
||||
}
|
||||
|
||||
const r = withClientRequestState({
|
||||
params: params,
|
||||
hello: newHelloRequest(flow, query)
|
||||
});
|
||||
return axios.post('./identifier/_/logon', r, {
|
||||
headers: {
|
||||
'Kopano-Konnect-XSRF': '1'
|
||||
}
|
||||
}).then(response => {
|
||||
switch (response.status) {
|
||||
case 200:
|
||||
// success.
|
||||
return response.data;
|
||||
case 204:
|
||||
// login failed.
|
||||
return {
|
||||
success: false,
|
||||
state: response.headers['kopano-konnect-state'],
|
||||
errors: {
|
||||
http: new Error(ERROR_LOGIN_FAILED)
|
||||
}
|
||||
};
|
||||
default:
|
||||
// error.
|
||||
throw new ExtendedError(ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS, response);
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.state !== r.state) {
|
||||
throw new ExtendedError(ERROR_HTTP_UNEXPECTED_RESPONSE_STATE, response);
|
||||
}
|
||||
|
||||
let { hello } = response;
|
||||
if (!hello) {
|
||||
hello = {
|
||||
success: response.success,
|
||||
username
|
||||
};
|
||||
}
|
||||
dispatch(receiveHello(hello));
|
||||
dispatch(receiveLogon(response));
|
||||
return Promise.resolve(response);
|
||||
}).catch(error => {
|
||||
error = handleAxiosError(error);
|
||||
const errors = {
|
||||
http: error
|
||||
};
|
||||
|
||||
dispatch(receiveValidateLogon(errors));
|
||||
return {
|
||||
success: false,
|
||||
errors: errors
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function executeConsent(allow=false, scope='') {
|
||||
return function(dispatch, getState) {
|
||||
dispatch(requestConsent(allow));
|
||||
|
||||
const { query } = getState().common;
|
||||
|
||||
const r = withClientRequestState({
|
||||
allow,
|
||||
scope,
|
||||
client_id: query.client_id || '', // eslint-disable-line camelcase
|
||||
redirect_uri: query.redirect_uri || '', // eslint-disable-line camelcase
|
||||
ref: query.state || '',
|
||||
flow_nonce: query.nonce || '' // eslint-disable-line camelcase
|
||||
});
|
||||
return axios.post('./identifier/_/consent', r, {
|
||||
headers: {
|
||||
'Kopano-Konnect-XSRF': '1'
|
||||
}
|
||||
}).then(response => {
|
||||
switch (response.status) {
|
||||
case 200:
|
||||
// success.
|
||||
return response.data;
|
||||
case 204:
|
||||
// cancel reply.
|
||||
return {
|
||||
success: true,
|
||||
state: response.headers['kopano-konnect-state']
|
||||
};
|
||||
default:
|
||||
// error.
|
||||
throw new ExtendedError(ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS, response);
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.state !== r.state) {
|
||||
throw new ExtendedError(ERROR_HTTP_UNEXPECTED_RESPONSE_STATE, response);
|
||||
}
|
||||
|
||||
dispatch(receiveConsent(response));
|
||||
return Promise.resolve(response);
|
||||
}).catch(error => {
|
||||
error = handleAxiosError(error);
|
||||
const errors = {
|
||||
http: error
|
||||
};
|
||||
|
||||
dispatch(receiveValidateLogon(errors));
|
||||
return {
|
||||
success: false,
|
||||
errors: errors
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function validateUsernamePassword(username, password, isSignedIn) {
|
||||
return function(dispatch) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const errors = {};
|
||||
|
||||
if (!username) {
|
||||
errors.username = new Error(ERROR_LOGIN_VALIDATE_MISSINGUSERNAME);
|
||||
}
|
||||
if (!password && !isSignedIn) {
|
||||
errors.password = new Error(ERROR_LOGIN_VALIDATE_MISSINGPASSWORD);
|
||||
}
|
||||
|
||||
dispatch(receiveValidateLogon(errors));
|
||||
if (Object.keys(errors).length === 0) {
|
||||
resolve(errors);
|
||||
} else {
|
||||
reject(errors);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function executeLogonIfFormValid(username, password, isSignedIn) {
|
||||
return (dispatch) => {
|
||||
return dispatch(
|
||||
validateUsernamePassword(username, password, isSignedIn)
|
||||
).then(() => {
|
||||
const mode = isSignedIn ? ModeLogonUsernameEmptyPasswordCookie : ModeLogonUsernamePassword;
|
||||
return dispatch(executeLogon(username, password, mode));
|
||||
}).catch((errors) => {
|
||||
return {
|
||||
success: false,
|
||||
errors: errors
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function advanceLogonFlow(success, history, done=false, extraQuery={}) {
|
||||
return (dispatch, getState) => {
|
||||
if (!success) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { flow, query, hello } = getState().common;
|
||||
const q = Object.assign({}, query, extraQuery);
|
||||
|
||||
switch (flow) {
|
||||
case 'oauth':
|
||||
case 'consent':
|
||||
case 'oidc':
|
||||
if (hello.details.flow !== flow) {
|
||||
// Ignore requested flow if hello flow does not match.
|
||||
break;
|
||||
}
|
||||
|
||||
if (!done && hello.details.next === 'consent') {
|
||||
history.replace(`/consent${history.location.search}${history.location.hash}`);
|
||||
return;
|
||||
}
|
||||
if (hello.details.continue_uri) {
|
||||
q.prompt = 'none';
|
||||
window.location.replace(hello.details.continue_uri + '?' + queryString.stringify(q));
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
// Legacy stupid modes.
|
||||
if (q.continue && q.continue.indexOf(document.location.origin) === 0) {
|
||||
window.location.replace(q.continue);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Default action.
|
||||
let target = '/welcome';
|
||||
if (history.action === 'REPLACE') {
|
||||
target = target + history.location.search + history.location.hash;
|
||||
}
|
||||
|
||||
dispatch(receiveValidateLogon({})); // XXX(longsleep): hack to reset loading and errors.
|
||||
history.push(target);
|
||||
};
|
||||
}
|
||||
25
konnectd/ui/src/actions/types.js
Normal file
25
konnectd/ui/src/actions/types.js
Normal file
@@ -0,0 +1,25 @@
|
||||
export const RECEIVE_ERROR = 'RECEIVE_ERROR';
|
||||
|
||||
export const RESET_HELLO = 'RESET_HELLO';
|
||||
export const EXECUTE_HELLO = 'EXECUTE_HELLO';
|
||||
export const RECEIVE_HELLO = 'RECEIVE_HELLO';
|
||||
|
||||
export const RECEIVE_VALIDATE_LOGON = 'RECEIVE_VALIDATE_LOGON';
|
||||
export const REQUEST_LOGON = 'REQUEST_LOGON';
|
||||
export const EXECUTE_LOGON = 'EXECUTE_LOGON';
|
||||
export const RECEIVE_LOGON = 'RECEIVE_LOGON';
|
||||
export const UPDATE_INPUT = 'UPDATE_INPUT';
|
||||
|
||||
export const REQUEST_CONSENT_ALLOW = 'REQUEST_CONSENT_ALLOW';
|
||||
export const REQUEST_CONSENT_CANCEL = 'REQUEST_CONSENT_CANCEL';
|
||||
export const EXECUTE_CONSENT = 'EXECUTE_CONSENT';
|
||||
export const RECEIVE_CONSENT = 'RECEIVE_CONSENT';
|
||||
|
||||
export const REQUEST_LOGOFF = 'REQUEST_LOGOFF';
|
||||
export const EXECUTE_LOGOFF = 'EXECUTE_LOGOFF';
|
||||
export const RECEIVE_LOGOFF = 'RECEIVE_LOGOFF';
|
||||
|
||||
export const SERVICE_WORKER_NEW_CONTENT = 'SERVICE_WORKER_NEW_CONTENT';
|
||||
export const SERVICE_WORKER_READY = 'SERVICE_WORKER_READY';
|
||||
export const SERVICE_WORKER_ERROR = 'SERVICE_WORKER_ERROR';
|
||||
export const SERVICE_WORKER_OFFLINE = 'SERVICE_WORKER_OFFLINE';
|
||||
18
konnectd/ui/src/actions/utils.js
Normal file
18
konnectd/ui/src/actions/utils.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import {
|
||||
ExtendedError,
|
||||
ERROR_HTTP_NETWORK_ERROR,
|
||||
ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS
|
||||
} from '../errors';
|
||||
|
||||
export function handleAxiosError(error) {
|
||||
if (error.request) {
|
||||
// Axios errors.
|
||||
if (error.response) {
|
||||
error = new ExtendedError(ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS, error.response);
|
||||
} else {
|
||||
error = new ExtendedError(ERROR_HTTP_NETWORK_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user