Theme konnectd
@@ -0,0 +1,5 @@
|
||||
PORT=3001
|
||||
HOST=127.0.0.1
|
||||
BROWSER=none
|
||||
INLINE_RUNTIME_CHUNK=false
|
||||
EXTEND_ESLINT=true
|
||||
@@ -0,0 +1,3 @@
|
||||
build/*
|
||||
node_modules/*
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
# See https://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.yarninstall
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
.eslintcache
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# i18n
|
||||
*.mo
|
||||
/src/locales/*.json
|
||||
/i18n/src
|
||||
@@ -1,22 +1,42 @@
|
||||
{
|
||||
"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"
|
||||
"files": {
|
||||
"static/js/0.7598626e.chunk.js": "./static/js/0.7598626e.chunk.js",
|
||||
"static/js/0.7598626e.chunk.js.map": "./static/js/0.7598626e.chunk.js.map",
|
||||
"containers-goodbye.js": "./static/js/containers-goodbye.d2cc21ed.chunk.js",
|
||||
"containers-goodbye.js.map": "./static/js/containers-goodbye.d2cc21ed.chunk.js.map",
|
||||
"containers-login.js": "./static/js/containers-login.f4a5c7ac.chunk.js",
|
||||
"containers-login.js.map": "./static/js/containers-login.f4a5c7ac.chunk.js.map",
|
||||
"containers-welcome.js": "./static/js/containers-welcome.be5aafb5.chunk.js",
|
||||
"containers-welcome.js.map": "./static/js/containers-welcome.be5aafb5.chunk.js.map",
|
||||
"identifier-app.js": "./static/js/identifier-app.ddef38c1.chunk.js",
|
||||
"identifier-app.js.map": "./static/js/identifier-app.ddef38c1.chunk.js.map",
|
||||
"identifier-main.js": "./static/js/identifier-main.eb69745c.chunk.js",
|
||||
"identifier-main.js.map": "./static/js/identifier-main.eb69745c.chunk.js.map",
|
||||
"main.css": "./static/css/main.52873cb6.chunk.css",
|
||||
"main.js": "./static/js/main.3c21505c.chunk.js",
|
||||
"main.js.map": "./static/js/main.3c21505c.chunk.js.map",
|
||||
"runtime-main.js": "./static/js/runtime-main.448944d7.js",
|
||||
"runtime-main.js.map": "./static/js/runtime-main.448944d7.js.map",
|
||||
"static/js/8.cdac1014.chunk.js": "./static/js/8.cdac1014.chunk.js",
|
||||
"static/js/8.cdac1014.chunk.js.map": "./static/js/8.cdac1014.chunk.js.map",
|
||||
"static/js/9.2ca8cafc.chunk.js": "./static/js/9.2ca8cafc.chunk.js",
|
||||
"static/js/9.2ca8cafc.chunk.js.map": "./static/js/9.2ca8cafc.chunk.js.map",
|
||||
"static/js/10.351124bf.chunk.js": "./static/js/10.351124bf.chunk.js",
|
||||
"static/js/10.351124bf.chunk.js.map": "./static/js/10.351124bf.chunk.js.map",
|
||||
"index.html": "./index.html",
|
||||
"precache-manifest.cc646956c98cbe5578cf13a2077f605b.js": "./precache-manifest.cc646956c98cbe5578cf13a2077f605b.js",
|
||||
"service-worker.js": "./service-worker.js",
|
||||
"static/css/main.52873cb6.chunk.css.map": "./static/css/main.52873cb6.chunk.css.map",
|
||||
"static/js/0.7598626e.chunk.js.LICENSE.txt": "./static/js/0.7598626e.chunk.js.LICENSE.txt",
|
||||
"static/js/10.351124bf.chunk.js.LICENSE.txt": "./static/js/10.351124bf.chunk.js.LICENSE.txt",
|
||||
"static/js/8.cdac1014.chunk.js.LICENSE.txt": "./static/js/8.cdac1014.chunk.js.LICENSE.txt",
|
||||
"static/js/9.2ca8cafc.chunk.js.LICENSE.txt": "./static/js/9.2ca8cafc.chunk.js.LICENSE.txt",
|
||||
"static/media/fancy-background.css": "./static/media/background.d469fc8c.jpg",
|
||||
"static/media/index.css": "./static/media/roboto-latin-900italic.bc833e72.woff"
|
||||
},
|
||||
"entrypoints": [
|
||||
"static/js/runtime-main.448944d7.js",
|
||||
"static/css/main.52873cb6.chunk.css",
|
||||
"static/js/main.3c21505c.chunk.js"
|
||||
]
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
<!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>
|
||||
<!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="./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><link href="./static/css/main.52873cb6.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.448944d7.js"></script><script src="./static/js/main.3c21505c.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"
|
||||
}
|
||||
];
|
||||
|
Before Width: | Height: | Size: 106 KiB |
@@ -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
|
||||
@@ -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 |
|
Before Width: | Height: | Size: 103 KiB |
@@ -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=
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
});
|
||||
}
|
||||
@@ -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);
|
||||
});
|
||||
@@ -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);
|
||||
@@ -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)
|
||||
@@ -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:
|
||||
@@ -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"
|
||||
@@ -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 ""
|
||||
@@ -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"
|
||||
@@ -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} चाहते है की"
|
||||
@@ -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 ""
|
||||
@@ -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 ""
|
||||
@@ -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"
|
||||
@@ -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 ""
|
||||
@@ -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 ""
|
||||
@@ -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 ""
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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 ""
|
||||
@@ -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"
|
||||
@@ -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} хочет"
|
||||
@@ -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 ""
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,23 @@
|
||||
<!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>
|
||||
<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>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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 |
@@ -0,0 +1,61 @@
|
||||
import React, { PureComponent } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { BrowserRouter } from 'react-router-dom';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
|
||||
import { enhanceBodyBackground } from './utils';
|
||||
import Routes from './Routes';
|
||||
|
||||
// Trigger loading of background image.
|
||||
enhanceBodyBackground();
|
||||
|
||||
const styles = () => ({
|
||||
root: {
|
||||
position: 'relative',
|
||||
display: 'flex',
|
||||
flex: 1
|
||||
}
|
||||
});
|
||||
|
||||
class App extends PureComponent {
|
||||
render() {
|
||||
const { classes, hello, pathPrefix } = this.props;
|
||||
|
||||
return (
|
||||
<div className={classes.root}>
|
||||
<BrowserRouter basename={pathPrefix}>
|
||||
<Routes hello={hello}/>
|
||||
</BrowserRouter>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
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)(withStyles(styles)(App));
|
||||
@@ -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);
|
||||
});
|
||||
@@ -0,0 +1,8 @@
|
||||
all: images
|
||||
|
||||
.PHONY: images
|
||||
images:
|
||||
@$(MAKE) -C images
|
||||
|
||||
clean:
|
||||
@$(MAKE) -C images clean
|
||||
@@ -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;
|
||||
@@ -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));
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -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);
|
||||
};
|
||||
}
|
||||
@@ -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';
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
/* additional css on top of kpop */
|
||||
html {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.oc-logo {
|
||||
position: absolute;
|
||||
top: -140px;
|
||||
left: 50%;
|
||||
height: 120px;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.oc-input {
|
||||
background-color: white;
|
||||
border: 0;
|
||||
border-radius: 6px;
|
||||
width: 300px;
|
||||
height: 40px;
|
||||
padding: 12px 8px;
|
||||
box-sizing: border-box;
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
|
||||
.oc-input:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.oc-input + .oc-input {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.oc-button-primary {
|
||||
/* Needs to be important to overwrite material-ui */
|
||||
background-color: #4e85c8 !important;
|
||||
}
|
||||
|
||||
.oc-button-primary:hover,
|
||||
.oc-button-primary:focus {
|
||||
/* Needs to be important to overwrite material-ui */
|
||||
background-color: #306db5 !important;
|
||||
}
|
||||
|
||||
.oc-footer-message {
|
||||
color: white;
|
||||
padding: 10px;
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 768px) {
|
||||
.oc-logo {
|
||||
height: 100px;
|
||||
top: -120px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Helpers */
|
||||
|
||||
.oc-w-100 {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.oc-mt-s {
|
||||
margin-top: 10px !important;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import Loadable from 'react-loadable';
|
||||
import { Provider } from 'react-redux';
|
||||
|
||||
import { MuiThemeProvider } from '@material-ui/core/styles';
|
||||
|
||||
import { defaultTheme as theme } from 'kpop/es/theme';
|
||||
import { IntlProvider } from 'react-intl';
|
||||
import Loading from 'kpop/es/Loading';
|
||||
import { unregister } from 'kpop/es/serviceWorker';
|
||||
|
||||
import store from './store';
|
||||
import translations from './locales';
|
||||
|
||||
// NOTE(longsleep): Load async with loader, this enables code splitting via Webpack.
|
||||
const LoadableApp = Loadable({
|
||||
loader: () => import(/* webpackChunkName: "identifier-main" */ './Main'),
|
||||
loading: Loading,
|
||||
timeout: 20000
|
||||
});
|
||||
|
||||
ReactDOM.render(
|
||||
<Provider store={store}>
|
||||
<MuiThemeProvider theme={theme}>
|
||||
<IntlProvider messages={translations} locale="en" defaultLocale="en">
|
||||
<LoadableApp />
|
||||
</IntlProvider>
|
||||
</MuiThemeProvider>
|
||||
</Provider>,
|
||||
document.getElementById('root')
|
||||
);
|
||||
|
||||
unregister();
|
||||
@@ -0,0 +1,12 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
const ClientDisplayName = ({ client, ...rest }) => (
|
||||
<span {...rest}>{client.display_name ? client.display_name : client.id}</span>
|
||||
);
|
||||
|
||||
ClientDisplayName.propTypes = {
|
||||
client: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
export default ClientDisplayName;
|
||||
@@ -0,0 +1,93 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
import LinearProgress from '@material-ui/core/LinearProgress';
|
||||
import Grid from '@material-ui/core/Grid';
|
||||
import Typography from '@material-ui/core/Typography';
|
||||
import Button from '@material-ui/core/Button';
|
||||
import renderIf from 'render-if';
|
||||
|
||||
import { retryHello } from '../actions/common';
|
||||
import { ErrorMessage } from '../errors';
|
||||
|
||||
const styles = theme => ({
|
||||
root: {
|
||||
flexGrow: 1,
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
bottom: 0,
|
||||
left: 0,
|
||||
right: 0
|
||||
},
|
||||
progress: {
|
||||
height: '4px',
|
||||
width: '100px'
|
||||
},
|
||||
button: {
|
||||
marginTop: theme.spacing(5)
|
||||
}
|
||||
});
|
||||
|
||||
class Loading extends React.PureComponent {
|
||||
render() {
|
||||
const { classes, error } = this.props;
|
||||
|
||||
return (
|
||||
<Grid container direction="column" alignItems="center" justify="center" spacing={0} className={classes.root}>
|
||||
<Grid item align="center">
|
||||
{renderIf(error === null)(() => (
|
||||
<LinearProgress className={classes.progress} />
|
||||
))}
|
||||
{renderIf(error !== null)(() => (
|
||||
<div>
|
||||
<Typography variant="h5" gutterBottom align="center">
|
||||
<FormattedMessage id="konnect.loading.error.headline" defaultMessage="Failed to connect to server">
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
<Typography gutterBottom align="center" color="error">
|
||||
<ErrorMessage error={error}></ErrorMessage>
|
||||
</Typography>
|
||||
<Button
|
||||
autoFocus
|
||||
color="primary"
|
||||
variant="outlined"
|
||||
className={classes.button}
|
||||
onClick={(event) => this.retry(event)}
|
||||
>
|
||||
<FormattedMessage id="konnect.login.retryButton.label" defaultMessage="Retry"></FormattedMessage>
|
||||
</Button>
|
||||
</div>
|
||||
))}
|
||||
</Grid>
|
||||
</Grid>
|
||||
);
|
||||
}
|
||||
|
||||
retry(event) {
|
||||
event.preventDefault();
|
||||
|
||||
this.props.dispatch(retryHello());
|
||||
}
|
||||
}
|
||||
|
||||
Loading.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
|
||||
error: PropTypes.object,
|
||||
|
||||
dispatch: PropTypes.func.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const { error } = state.common;
|
||||
|
||||
return {
|
||||
error
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(withStyles(styles)(Loading));
|
||||
@@ -0,0 +1,22 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Route } from 'react-router-dom';
|
||||
|
||||
import RedirectWithQuery from './RedirectWithQuery';
|
||||
|
||||
const PrivateRoute = ({ component: Target, hello, ...rest }) => (
|
||||
<Route {...rest} render={props => (
|
||||
hello ? (
|
||||
<Target {...props}/>
|
||||
) : (
|
||||
<RedirectWithQuery target='/identifier' />
|
||||
)
|
||||
)}/>
|
||||
);
|
||||
|
||||
PrivateRoute.propTypes = {
|
||||
component: PropTypes.func.isRequired,
|
||||
hello: PropTypes.object
|
||||
};
|
||||
|
||||
export default PrivateRoute;
|
||||
@@ -0,0 +1,23 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withRouter } from 'react-router';
|
||||
import { Redirect } from 'react-router-dom';
|
||||
|
||||
const RedirectWithQuery = ({target, location, ...rest}) => {
|
||||
const to = {
|
||||
pathname: target,
|
||||
search: location.search,
|
||||
hash: location.hash
|
||||
};
|
||||
|
||||
return (
|
||||
<Redirect to={to} {...rest}></Redirect>
|
||||
);
|
||||
};
|
||||
|
||||
RedirectWithQuery.propTypes = {
|
||||
target: PropTypes.string.isRequired,
|
||||
location: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
export default withRouter(RedirectWithQuery);
|
||||
@@ -0,0 +1,94 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import classNames from 'classnames';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
import Grid from '@material-ui/core/Grid';
|
||||
import DialogContent from '@material-ui/core/DialogContent';
|
||||
|
||||
import Loading from './Loading';
|
||||
|
||||
const styles = theme => ({
|
||||
root: {
|
||||
display: 'flex',
|
||||
flex: 1
|
||||
},
|
||||
content: {
|
||||
position: 'relative'
|
||||
},
|
||||
actions: {
|
||||
marginTop: -40,
|
||||
justifyContent: 'flex-start',
|
||||
paddingLeft: theme.spacing(3),
|
||||
paddingRight: theme.spacing(3)
|
||||
},
|
||||
wrapper: {
|
||||
width: '100%',
|
||||
maxWidth: 300,
|
||||
display: 'flex',
|
||||
flex: 1,
|
||||
alignItems: 'center'
|
||||
}
|
||||
});
|
||||
|
||||
const footerProductName = name => <strong>{name}</strong>;
|
||||
|
||||
const ResponsiveScreen = (props) => {
|
||||
const {
|
||||
classes,
|
||||
withoutLogo,
|
||||
withoutPadding,
|
||||
loading,
|
||||
children,
|
||||
className,
|
||||
DialogProps,
|
||||
PaperProps,
|
||||
...other
|
||||
} = props;
|
||||
|
||||
const logo = withoutLogo ? null :
|
||||
<img src={process.env.PUBLIC_URL + '/static/logo.svg'} className="oc-logo" alt="ownCloud"/>;
|
||||
|
||||
const content = loading ? <Loading/> : (withoutPadding ? children : <DialogContent>{children}</DialogContent>);
|
||||
|
||||
return (
|
||||
<Grid container justify="center" alignItems="center" direction="column" spacing={0}
|
||||
className={classNames(classes.root, className)} {...other}>
|
||||
<div className={classes.wrapper}>
|
||||
<div className={classes.content}>
|
||||
{logo}
|
||||
{content}
|
||||
</div>
|
||||
</div>
|
||||
<footer className="oc-footer-message">
|
||||
<FormattedMessage
|
||||
id="konnect.footer.slogan"
|
||||
defaultMessage="<name>ownCloud</name> - a safe home for all your data"
|
||||
values={{
|
||||
name: chunks => footerProductName(chunks)
|
||||
}}
|
||||
/>
|
||||
</footer>
|
||||
</Grid>
|
||||
);
|
||||
};
|
||||
|
||||
ResponsiveScreen.defaultProps = {
|
||||
withoutLogo: false,
|
||||
withoutPadding: false,
|
||||
loading: false
|
||||
};
|
||||
|
||||
ResponsiveScreen.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
withoutLogo: PropTypes.bool,
|
||||
withoutPadding: PropTypes.bool,
|
||||
loading: PropTypes.bool,
|
||||
children: PropTypes.node.isRequired,
|
||||
className: PropTypes.string,
|
||||
PaperProps: PropTypes.object,
|
||||
DialogProps: PropTypes.object
|
||||
};
|
||||
|
||||
export default withStyles(styles)(ResponsiveScreen);
|
||||
@@ -0,0 +1,101 @@
|
||||
import React from 'react';
|
||||
import List from '@material-ui/core/List';
|
||||
import ListItem from '@material-ui/core/ListItem';
|
||||
import ListItemText from '@material-ui/core/ListItemText';
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
import PropTypes from 'prop-types';
|
||||
import Checkbox from '@material-ui/core/Checkbox';
|
||||
|
||||
import { injectIntl, useIntl, defineMessages, FormattedMessage } from 'react-intl';
|
||||
|
||||
const styles = () => ({
|
||||
row: {
|
||||
paddingTop: 0,
|
||||
paddingBottom: 0
|
||||
}
|
||||
});
|
||||
|
||||
const scopeIDTranslations = defineMessages({
|
||||
'scope_alias_basic': {
|
||||
id: 'konnect.scopeDescription.aliasBasic',
|
||||
defaultMessage: 'Access your basic account information'
|
||||
},
|
||||
'scope_offline_access': {
|
||||
id: 'konnect.scopeDescription.offlineAccess',
|
||||
defaultMessage: 'Keep the allowed access persistently and forever'
|
||||
}
|
||||
});
|
||||
|
||||
const ScopesList = ({scopes, meta, classes, ...rest}) => {
|
||||
const { mapping, definitions } = meta;
|
||||
const intl = useIntl()
|
||||
|
||||
const rows = [];
|
||||
const known = {};
|
||||
|
||||
// TODO(longsleep): Sort scopes according to priority.
|
||||
for (let scope in scopes) {
|
||||
if (!scopes[scope]) {
|
||||
continue;
|
||||
}
|
||||
let id = mapping[scope];
|
||||
if (id) {
|
||||
if (known[id]) {
|
||||
continue;
|
||||
}
|
||||
known[id] = true;
|
||||
} else {
|
||||
id = scope;
|
||||
}
|
||||
let definition = definitions[id];
|
||||
let label ;
|
||||
if (definition) {
|
||||
if (definition.id) {
|
||||
const translation = scopeIDTranslations[definition.id];
|
||||
if (translation) {
|
||||
label = intl.formatMessage(translation);
|
||||
}
|
||||
}
|
||||
if (!label) {
|
||||
label = definition.description;
|
||||
}
|
||||
}
|
||||
if (!label) {
|
||||
label = <FormattedMessage
|
||||
id="konnect.scopeDescription.scope"
|
||||
defaultMessage="Scope: {scope}"
|
||||
values={{scope}}
|
||||
/>;
|
||||
}
|
||||
|
||||
rows.push(
|
||||
<ListItem
|
||||
disableGutters
|
||||
dense
|
||||
key={id}
|
||||
className={classes.row}
|
||||
><Checkbox
|
||||
checked
|
||||
disableRipple
|
||||
disabled
|
||||
/>
|
||||
<ListItemText primary={label} />
|
||||
</ListItem>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<List {...rest}>
|
||||
{rows}
|
||||
</List>
|
||||
);
|
||||
};
|
||||
|
||||
ScopesList.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
|
||||
scopes: PropTypes.object.isRequired,
|
||||
meta: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
export default withStyles(styles)(injectIntl(ScopesList));
|
||||
@@ -0,0 +1,16 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import { useIntl } from 'react-intl';
|
||||
|
||||
const TextInput = (props) => {
|
||||
const intl = useIntl();
|
||||
|
||||
return <input className="oc-input" {...props} placeholder={props.placeholder ? intl.formatMessage(props.placeholder) : null} />;
|
||||
};
|
||||
|
||||
TextInput.propTypes = {
|
||||
placeholder: PropTypes.object,
|
||||
}
|
||||
|
||||
export default TextInput;
|
||||
@@ -0,0 +1,125 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import renderIf from 'render-if';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
import Button from '@material-ui/core/Button';
|
||||
import Typography from '@material-ui/core/Typography';
|
||||
import DialogActions from '@material-ui/core/DialogActions';
|
||||
|
||||
import ResponsiveScreen from '../../components/ResponsiveScreen';
|
||||
import { executeHello, executeLogoff } from '../../actions/common';
|
||||
|
||||
const styles = theme => ({
|
||||
subHeader: {
|
||||
marginBottom: theme.spacing(5)
|
||||
},
|
||||
wrapper: {
|
||||
marginTop: theme.spacing(5),
|
||||
position: 'relative',
|
||||
display: 'inline-block'
|
||||
}
|
||||
});
|
||||
|
||||
class Goodbyescreen extends React.PureComponent {
|
||||
componentDidMount() {
|
||||
this.props.dispatch(executeHello());
|
||||
}
|
||||
|
||||
render() {
|
||||
const { classes, hello } = this.props;
|
||||
|
||||
const loading = hello === null;
|
||||
return (
|
||||
<ResponsiveScreen loading={loading}>
|
||||
{renderIf(hello !== null && !hello.state)(() => (
|
||||
<div>
|
||||
<Typography variant="h5" component="h3">
|
||||
<FormattedMessage id="konnect.goodbye.headline" defaultMessage="Goodbye"></FormattedMessage>
|
||||
</Typography>
|
||||
<Typography variant="subtitle1" className={classes.subHeader}>
|
||||
<FormattedMessage id="konnect.goodbye.subHeader"
|
||||
defaultMessage="you have been signed out from your Kopano account">
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
<Typography gutterBottom>
|
||||
<FormattedMessage id="konnect.goodbye.message.close"
|
||||
defaultMessage="You can close this window now.">
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
</div>
|
||||
))}
|
||||
{renderIf(hello !== null && hello.state === true)(() => (
|
||||
<div>
|
||||
<Typography variant="h5" component="h3">
|
||||
<FormattedMessage
|
||||
id="konnect.goodbye.confirm.headline"
|
||||
defaultMessage="Hello {displayName}"
|
||||
values={{displayName: hello.displayName}}>
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
<Typography variant="subtitle1" className={classes.subHeader}>
|
||||
<FormattedMessage id="konnect.goodbye.confirm.subHeader"
|
||||
defaultMessage="please confirm sign out">
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
|
||||
<Typography gutterBottom>
|
||||
<FormattedMessage id="konnect.goodbye.message.confirm"
|
||||
defaultMessage="Press the button below, to sign out from your Kopano account now.">
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
|
||||
<DialogActions>
|
||||
<div className={classes.wrapper}>
|
||||
<Button
|
||||
color="secondary"
|
||||
className={classes.button}
|
||||
onClick={(event) => this.logoff(event)}
|
||||
>
|
||||
<FormattedMessage id="konnect.goodbye.signoutButton.label"
|
||||
defaultMessage="Sign out"></FormattedMessage>
|
||||
</Button>
|
||||
</div>
|
||||
</DialogActions>
|
||||
</div>
|
||||
))}
|
||||
</ResponsiveScreen>
|
||||
);
|
||||
}
|
||||
|
||||
logoff(event) {
|
||||
event.preventDefault();
|
||||
|
||||
this.props.dispatch(executeLogoff()).then((response) => {
|
||||
const { history } = this.props;
|
||||
|
||||
if (response.success) {
|
||||
this.props.dispatch(executeHello());
|
||||
history.push('/goodbye');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Goodbyescreen.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
|
||||
hello: PropTypes.object,
|
||||
|
||||
dispatch: PropTypes.func.isRequired,
|
||||
history: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const { hello } = state.common;
|
||||
|
||||
return {
|
||||
hello
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(withStyles(styles)(Goodbyescreen));
|
||||
@@ -0,0 +1 @@
|
||||
export { default } from './Goodbyescreen';
|
||||
@@ -0,0 +1,150 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
import List from '@material-ui/core/List';
|
||||
import ListItem from '@material-ui/core/ListItem';
|
||||
import ListItemText from '@material-ui/core/ListItemText';
|
||||
import ListItemAvatar from '@material-ui/core/ListItemAvatar';
|
||||
import Avatar from '@material-ui/core/Avatar';
|
||||
import Typography from '@material-ui/core/Typography';
|
||||
|
||||
import { executeLogonIfFormValid, advanceLogonFlow } from '../../actions/login';
|
||||
import { ErrorMessage } from '../../errors';
|
||||
|
||||
const styles = theme => ({
|
||||
subHeader: {
|
||||
marginBottom: theme.spacing(2)
|
||||
},
|
||||
message: {
|
||||
marginTop: theme.spacing(2)
|
||||
},
|
||||
accountList: {
|
||||
marginLeft: theme.spacing(-3),
|
||||
marginRight: theme.spacing(-3)
|
||||
},
|
||||
accountListItem: {
|
||||
paddingLeft: theme.spacing(3),
|
||||
paddingRight: theme.spacing(3)
|
||||
}
|
||||
});
|
||||
|
||||
class Chooseaccount extends React.PureComponent {
|
||||
componentDidMount() {
|
||||
const { hello, history } = this.props;
|
||||
if ((!hello || !hello.state) && history.action !== 'PUSH') {
|
||||
history.replace(`/identifier${history.location.search}${history.location.hash}`);
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
const { loading, errors, classes, hello } = this.props;
|
||||
|
||||
let errorMessage = null;
|
||||
if (errors.http) {
|
||||
errorMessage = <Typography color="error" className={classes.message}>
|
||||
<ErrorMessage error={errors.http}></ErrorMessage>
|
||||
</Typography>;
|
||||
}
|
||||
|
||||
let username = '';
|
||||
if (hello && hello.state) {
|
||||
username = hello.username;
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Typography variant="h5" component="h3">
|
||||
<FormattedMessage id="konnect.chooseaccount.headline" defaultMessage="Choose an account"></FormattedMessage>
|
||||
</Typography>
|
||||
<Typography variant="subtitle1" className={classes.subHeader}>
|
||||
<FormattedMessage id="konnect.chooseaccount.subHeader" defaultMessage="to sign in to Kopano">
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
|
||||
<form action="" onSubmit={(event) => this.logon(event)}>
|
||||
<List disablePadding className={classes.accountList}>
|
||||
<ListItem
|
||||
button
|
||||
disableGutters
|
||||
className={classes.accountListItem}
|
||||
disabled={!!loading}
|
||||
onClick={(event) => this.logon(event)}
|
||||
><ListItemAvatar><Avatar>{username.substr(0, 1)}</Avatar></ListItemAvatar>
|
||||
<ListItemText primary={username} />
|
||||
</ListItem>
|
||||
<ListItem
|
||||
button
|
||||
disableGutters
|
||||
className={classes.accountListItem}
|
||||
disabled={!!loading}
|
||||
onClick={(event) => this.logoff(event)}
|
||||
>
|
||||
<ListItemAvatar>
|
||||
<Avatar>
|
||||
<FormattedMessage id="konnect.chooseaccount.useOther.persona.label" defaultMessage="?">
|
||||
</FormattedMessage>
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText
|
||||
primary={
|
||||
<FormattedMessage
|
||||
id="konnect.chooseaccount.useOther.label"
|
||||
defaultMessage="Use another account">
|
||||
</FormattedMessage>
|
||||
}
|
||||
/>
|
||||
</ListItem>
|
||||
</List>
|
||||
|
||||
{errorMessage}
|
||||
</form>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
logon(event) {
|
||||
event.preventDefault();
|
||||
|
||||
const { hello, dispatch, history } = this.props;
|
||||
dispatch(executeLogonIfFormValid(hello.username, '', true)).then((response) => {
|
||||
if (response.success) {
|
||||
dispatch(advanceLogonFlow(response.success, history));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
logoff(event) {
|
||||
event.preventDefault();
|
||||
|
||||
const { history} = this.props;
|
||||
history.push(`/identifier${history.location.search}${history.location.hash}`);
|
||||
}
|
||||
}
|
||||
|
||||
Chooseaccount.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
|
||||
loading: PropTypes.string.isRequired,
|
||||
errors: PropTypes.object.isRequired,
|
||||
hello: PropTypes.object,
|
||||
|
||||
dispatch: PropTypes.func.isRequired,
|
||||
history: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const { loading, errors } = state.login;
|
||||
const { hello } = state.common;
|
||||
|
||||
return {
|
||||
loading,
|
||||
errors,
|
||||
hello
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(withStyles(styles)(Chooseaccount));
|
||||
@@ -0,0 +1,203 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import renderIf from 'render-if';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
import Button from '@material-ui/core/Button';
|
||||
import Tooltip from '@material-ui/core/Tooltip';
|
||||
import CircularProgress from '@material-ui/core/CircularProgress';
|
||||
import green from '@material-ui/core/colors/green';
|
||||
import Typography from '@material-ui/core/Typography';
|
||||
import DialogActions from '@material-ui/core/DialogActions';
|
||||
|
||||
import { executeConsent, advanceLogonFlow, receiveValidateLogon } from '../../actions/login';
|
||||
import { ErrorMessage } from '../../errors';
|
||||
import { REQUEST_CONSENT_ALLOW } from '../../actions/types';
|
||||
import ClientDisplayName from '../../components/ClientDisplayName';
|
||||
import ScopesList from '../../components/ScopesList';
|
||||
|
||||
const styles = theme => ({
|
||||
button: {
|
||||
margin: theme.spacing(1),
|
||||
minWidth: 100
|
||||
},
|
||||
buttonProgress: {
|
||||
color: green[500],
|
||||
position: 'absolute',
|
||||
top: '50%',
|
||||
left: '50%',
|
||||
marginTop: -12,
|
||||
marginLeft: -12
|
||||
},
|
||||
subHeader: {
|
||||
marginBottom: theme.spacing(2)
|
||||
},
|
||||
scopesList: {
|
||||
marginBottom: theme.spacing(2)
|
||||
},
|
||||
wrapper: {
|
||||
marginTop: theme.spacing(2),
|
||||
position: 'relative',
|
||||
display: 'inline-block'
|
||||
},
|
||||
message: {
|
||||
marginTop: theme.spacing(2),
|
||||
marginBottom: theme.spacing(2)
|
||||
}
|
||||
});
|
||||
|
||||
class Consent extends React.PureComponent {
|
||||
componentDidMount() {
|
||||
const { dispatch, hello, history, client } = this.props;
|
||||
if ((!hello || !hello.state || !client) && history.action !== 'PUSH') {
|
||||
history.replace(`/identifier${history.location.search}${history.location.hash}`);
|
||||
}
|
||||
|
||||
dispatch(receiveValidateLogon({})); // XXX(longsleep): hack to reset loading and errors.
|
||||
}
|
||||
|
||||
action = (allow=false, scopes={}) => (event) => {
|
||||
event.preventDefault();
|
||||
|
||||
if (allow === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Convert all scopes which are true to a scope value.
|
||||
const scope = Object.keys(scopes).filter(scope => {
|
||||
return !!scopes[scope];
|
||||
}).join(' ');
|
||||
|
||||
const { dispatch, history } = this.props;
|
||||
dispatch(executeConsent(allow, scope)).then((response) => {
|
||||
if (response.success) {
|
||||
dispatch(advanceLogonFlow(response.success, history, true, {konnect: response.state}));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
const { classes, loading, hello, errors, client } = this.props;
|
||||
|
||||
const scopes = hello.details.scopes || {};
|
||||
const meta = hello.details.meta || {};
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Typography variant="h5" component="h3">
|
||||
<FormattedMessage
|
||||
id="konnect.consent.headline"
|
||||
defaultMessage="Hi {displayName}"
|
||||
values={{displayName: hello.displayName}}>
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
<Typography variant="subtitle1" className={classes.subHeader}>
|
||||
{hello.username}
|
||||
</Typography>
|
||||
|
||||
<Typography variant="subtitle1" gutterBottom>
|
||||
<FormattedMessage
|
||||
id="konnect.consent.message"
|
||||
defaultMessage="{clientDisplayName} wants to"
|
||||
values={{clientDisplayName:
|
||||
<Tooltip
|
||||
placement="bottom"
|
||||
title={<FormattedMessage
|
||||
id="konnect.consent.tooltip.client"
|
||||
defaultMessage='Clicking "Allow" will redirect you to: {redirectURI}'
|
||||
values={{
|
||||
redirectURI: client.redirect_uri
|
||||
}}
|
||||
></FormattedMessage>}
|
||||
>
|
||||
<em><ClientDisplayName client={client}/></em>
|
||||
</Tooltip>
|
||||
}}
|
||||
></FormattedMessage>
|
||||
</Typography>
|
||||
<ScopesList dense disablePadding className={classes.scopesList} scopes={scopes} meta={meta.scopes}></ScopesList>
|
||||
|
||||
<Typography variant="subtitle1" gutterBottom>
|
||||
<FormattedMessage
|
||||
id="konnect.consent.question"
|
||||
defaultMessage="Allow {clientDisplayName} to do this?"
|
||||
values={{
|
||||
clientDisplayName: <em><ClientDisplayName client={client}/></em>
|
||||
}}
|
||||
></FormattedMessage>
|
||||
</Typography>
|
||||
<Typography color="secondary">
|
||||
<FormattedMessage
|
||||
id="konnect.consent.consequence"
|
||||
defaultMessage="By clicking Allow, you allow this app to use your information.">
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
|
||||
<form action="" onSubmit={this.action(undefined, scopes)}>
|
||||
<DialogActions>
|
||||
<div className={classes.wrapper}>
|
||||
<Button
|
||||
color="secondary"
|
||||
className={classes.button}
|
||||
disabled={!!loading}
|
||||
onClick={this.action(false, scopes)}
|
||||
>
|
||||
<FormattedMessage id="konnect.consent.cancelButton.label" defaultMessage="Cancel"></FormattedMessage>
|
||||
</Button>
|
||||
{(loading && loading !== REQUEST_CONSENT_ALLOW) &&
|
||||
<CircularProgress size={24} className={classes.buttonProgress} />}
|
||||
</div>
|
||||
<div className={classes.wrapper}>
|
||||
<Button
|
||||
type="submit"
|
||||
color="primary"
|
||||
variant="contained"
|
||||
className={classes.button}
|
||||
disabled={!!loading}
|
||||
onClick={this.action(true, scopes)}
|
||||
>
|
||||
<FormattedMessage id="konnect.consent.allowButton.label" defaultMessage="Allow"></FormattedMessage>
|
||||
</Button>
|
||||
{loading === REQUEST_CONSENT_ALLOW && <CircularProgress size={24} className={classes.buttonProgress} />}
|
||||
</div>
|
||||
</DialogActions>
|
||||
|
||||
{renderIf(errors.http)(() => (
|
||||
<Typography variant="subtitle2" color="error" className={classes.message}>
|
||||
<ErrorMessage error={errors.http}></ErrorMessage>
|
||||
</Typography>
|
||||
))}
|
||||
</form>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Consent.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
|
||||
loading: PropTypes.string.isRequired,
|
||||
errors: PropTypes.object.isRequired,
|
||||
hello: PropTypes.object,
|
||||
client: PropTypes.object.isRequired,
|
||||
|
||||
dispatch: PropTypes.func.isRequired,
|
||||
history: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const { hello } = state.common;
|
||||
const { loading, errors } = state.login;
|
||||
|
||||
return {
|
||||
loading: loading,
|
||||
errors,
|
||||
hello,
|
||||
client: hello.details.client || {}
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(withStyles(styles)(Consent));
|
||||
@@ -0,0 +1,152 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
import Button from '@material-ui/core/Button';
|
||||
import CircularProgress from '@material-ui/core/CircularProgress';
|
||||
import green from '@material-ui/core/colors/green';
|
||||
import Typography from '@material-ui/core/Typography';
|
||||
|
||||
import TextInput from '../../components/TextInput'
|
||||
|
||||
import { updateInput, executeLogonIfFormValid, advanceLogonFlow } from '../../actions/login';
|
||||
import { ErrorMessage } from '../../errors';
|
||||
|
||||
const styles = theme => ({
|
||||
buttonProgress: {
|
||||
color: green[500],
|
||||
position: 'absolute',
|
||||
top: '50%',
|
||||
left: '50%',
|
||||
marginTop: -12,
|
||||
marginLeft: -12
|
||||
},
|
||||
subHeader: {
|
||||
marginBottom: theme.spacing(3)
|
||||
},
|
||||
wrapper: {
|
||||
position: 'relative',
|
||||
display: 'inline-block',
|
||||
width: '100%'
|
||||
},
|
||||
message: {
|
||||
marginTop: 5,
|
||||
marginBottom: 5
|
||||
}
|
||||
});
|
||||
|
||||
class Login extends React.PureComponent {
|
||||
state = {};
|
||||
|
||||
componentDidMount() {
|
||||
const { hello, query, dispatch, history } = this.props;
|
||||
if (hello && hello.state && history.action !== 'PUSH') {
|
||||
if (query.prompt !== 'select_account') {
|
||||
dispatch(advanceLogonFlow(true, history));
|
||||
return;
|
||||
}
|
||||
|
||||
history.replace(`/chooseaccount${history.location.search}${history.location.hash}`);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
const { loading, errors, classes, username } = this.props;
|
||||
const hasError = errors.http || errors.username || errors.password;
|
||||
const errorMessage = errors.http
|
||||
? <ErrorMessage error={errors.http}></ErrorMessage>
|
||||
: (errors.username
|
||||
? <ErrorMessage error={errors.username}></ErrorMessage>
|
||||
: <ErrorMessage error={errors.password}></ErrorMessage>);
|
||||
|
||||
return (
|
||||
<div>
|
||||
<form action="" onSubmit={(event) => this.logon(event)}>
|
||||
<div>
|
||||
<TextInput
|
||||
autoFocus
|
||||
autoCapitalize="off"
|
||||
spellCheck="false"
|
||||
value={username}
|
||||
onChange={this.handleChange('username')}
|
||||
autoComplete="kopano-account username"
|
||||
placeholder={({ id: "konnect.login.usernameField.label", defaultMessage: "Username" })}
|
||||
/>
|
||||
<TextInput
|
||||
type="password"
|
||||
margin="normal"
|
||||
onChange={this.handleChange('password')}
|
||||
autoComplete="kopano-account current-password"
|
||||
placeholder={({ id: "konnect.login.usernameField.label", defaultMessage: "Password" })}
|
||||
/>
|
||||
{hasError && <Typography variant="subtitle2" color="error" className={classes.message}>{errorMessage}</Typography>}
|
||||
<div className={classes.wrapper}>
|
||||
<Button
|
||||
type="submit"
|
||||
color="primary"
|
||||
variant="contained"
|
||||
className="oc-button-primary oc-w-100 oc-mt-s"
|
||||
disabled={!!loading}
|
||||
onClick={(event) => this.logon(event)}
|
||||
>
|
||||
<FormattedMessage id="konnect.login.nextButton.label" defaultMessage="Log in"></FormattedMessage>
|
||||
</Button>
|
||||
{loading && <CircularProgress size={24} className={classes.buttonProgress} />}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
handleChange(name) {
|
||||
return event => {
|
||||
this.props.dispatch(updateInput(name, event.target.value));
|
||||
};
|
||||
}
|
||||
|
||||
logon(event) {
|
||||
event.preventDefault();
|
||||
|
||||
const { username, password, dispatch, history } = this.props;
|
||||
dispatch(executeLogonIfFormValid(username, password, false)).then((response) => {
|
||||
if (response.success) {
|
||||
dispatch(advanceLogonFlow(response.success, history));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Login.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
|
||||
loading: PropTypes.string.isRequired,
|
||||
username: PropTypes.string.isRequired,
|
||||
password: PropTypes.string.isRequired,
|
||||
errors: PropTypes.object.isRequired,
|
||||
hello: PropTypes.object,
|
||||
query: PropTypes.object.isRequired,
|
||||
|
||||
dispatch: PropTypes.func.isRequired,
|
||||
history: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const { loading, username, password, errors} = state.login;
|
||||
const { hello, query } = state.common;
|
||||
|
||||
return {
|
||||
loading,
|
||||
username,
|
||||
password,
|
||||
errors,
|
||||
hello,
|
||||
query
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(withStyles(styles)(Login));
|
||||
@@ -0,0 +1,58 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { Route, Switch } from 'react-router-dom';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
|
||||
import ResponsiveScreen from '../../components/ResponsiveScreen';
|
||||
import RedirectWithQuery from '../../components/RedirectWithQuery';
|
||||
import { executeHello } from '../../actions/common';
|
||||
|
||||
import Login from './Login';
|
||||
import Chooseaccount from './Chooseaccount';
|
||||
import Consent from './Consent';
|
||||
|
||||
const styles = () => ({
|
||||
});
|
||||
|
||||
class Loginscreen extends React.PureComponent {
|
||||
componentDidMount() {
|
||||
this.props.dispatch(executeHello());
|
||||
}
|
||||
|
||||
render() {
|
||||
const { hello } = this.props;
|
||||
|
||||
const loading = hello === null;
|
||||
return (
|
||||
<ResponsiveScreen loading={loading} withoutPadding={true} >
|
||||
<Switch>
|
||||
<Route path="/identifier" exact component={Login}></Route>
|
||||
<Route path="/chooseaccount" exact component={Chooseaccount}></Route>
|
||||
<Route path="/consent" exact component={Consent}></Route>
|
||||
<RedirectWithQuery target="/identifier"/>
|
||||
</Switch>
|
||||
</ResponsiveScreen>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Loginscreen.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
|
||||
hello: PropTypes.object,
|
||||
|
||||
dispatch: PropTypes.func.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const { hello } = state.common;
|
||||
|
||||
return {
|
||||
hello
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(withStyles(styles)(Loginscreen));
|
||||
@@ -0,0 +1 @@
|
||||
export { default } from './Loginscreen';
|
||||
@@ -0,0 +1,92 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
import Button from '@material-ui/core/Button';
|
||||
import Typography from '@material-ui/core/Typography';
|
||||
import DialogActions from '@material-ui/core/DialogActions';
|
||||
|
||||
import ResponsiveScreen from '../../components/ResponsiveScreen';
|
||||
import { executeLogoff } from '../../actions/common';
|
||||
|
||||
const styles = theme => ({
|
||||
button: {
|
||||
margin: theme.spacing(1),
|
||||
minWidth: 100
|
||||
},
|
||||
subHeader: {
|
||||
marginBottom: theme.spacing(5)
|
||||
}
|
||||
});
|
||||
|
||||
class Welcomescreen extends React.PureComponent {
|
||||
render() {
|
||||
const { classes, hello } = this.props;
|
||||
|
||||
const loading = hello === null;
|
||||
return (
|
||||
<ResponsiveScreen loading={loading}>
|
||||
<Typography variant="h5" component="h3">
|
||||
<FormattedMessage
|
||||
id="konnect.welcome.headline"
|
||||
defaultMessage="Welcome {displayName}"
|
||||
values={{displayName: hello.displayName}}>
|
||||
</FormattedMessage>
|
||||
</Typography>
|
||||
<Typography variant="subtitle1" className={classes.subHeader}>
|
||||
{hello.username}
|
||||
</Typography>
|
||||
|
||||
<Typography gutterBottom>
|
||||
<FormattedMessage id="konnect.welcome.message"
|
||||
defaultMessage="You are signed in - awesome!"></FormattedMessage>
|
||||
</Typography>
|
||||
|
||||
<DialogActions>
|
||||
<Button
|
||||
color="secondary"
|
||||
className={classes.button}
|
||||
variant="contained"
|
||||
onClick={(event) => this.logoff(event)}
|
||||
>
|
||||
<FormattedMessage id="konnect.welcome.signoutButton.label" defaultMessage="Sign out"></FormattedMessage>
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</ResponsiveScreen>
|
||||
);
|
||||
}
|
||||
|
||||
logoff(event) {
|
||||
event.preventDefault();
|
||||
|
||||
this.props.dispatch(executeLogoff()).then((response) => {
|
||||
const { history } = this.props;
|
||||
|
||||
if (response.success) {
|
||||
history.push('/identifier');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Welcomescreen.propTypes = {
|
||||
classes: PropTypes.object.isRequired,
|
||||
|
||||
hello: PropTypes.object,
|
||||
|
||||
dispatch: PropTypes.func.isRequired,
|
||||
history: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const { hello } = state.common;
|
||||
|
||||
return {
|
||||
hello
|
||||
};
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps)(withStyles(styles)(Welcomescreen));
|
||||
@@ -0,0 +1 @@
|
||||
export { default } from './Welcomescreen';
|
||||
@@ -0,0 +1,68 @@
|
||||
import { injectIntl, defineMessages } from 'react-intl';
|
||||
|
||||
export const ERROR_LOGIN_VALIDATE_MISSINGUSERNAME = 'konnect.error.login.validate.missingUsername';
|
||||
export const ERROR_LOGIN_VALIDATE_MISSINGPASSWORD = 'konnect.error.login.validate.missingPassword';
|
||||
export const ERROR_LOGIN_FAILED = 'konnect.error.login.failed';
|
||||
export const ERROR_HTTP_NETWORK_ERROR = 'konnet.error.http.networkError';
|
||||
export const ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS = 'konnect.error.http.unexpectedResponseStatus';
|
||||
export const ERROR_HTTP_UNEXPECTED_RESPONSE_STATE = 'konnect.error.http.unexpectedResponseState';
|
||||
|
||||
// Translatable error messages.
|
||||
const translations = defineMessages({
|
||||
[ERROR_LOGIN_VALIDATE_MISSINGUSERNAME]: {
|
||||
id: ERROR_LOGIN_VALIDATE_MISSINGUSERNAME,
|
||||
defaultMessage: 'Enter an username'
|
||||
},
|
||||
[ERROR_LOGIN_VALIDATE_MISSINGPASSWORD]: {
|
||||
id: ERROR_LOGIN_VALIDATE_MISSINGPASSWORD,
|
||||
defaultMessage: 'Enter a password'
|
||||
},
|
||||
[ERROR_LOGIN_FAILED]: {
|
||||
id: ERROR_LOGIN_FAILED,
|
||||
defaultMessage: 'Logon failed. Please verify your credentials and try again.'
|
||||
},
|
||||
[ERROR_HTTP_NETWORK_ERROR]: {
|
||||
id: ERROR_HTTP_NETWORK_ERROR,
|
||||
defaultMessage: 'Network error. Please check your connection and try again.'
|
||||
},
|
||||
[ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS]: {
|
||||
id: ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS,
|
||||
defaultMessage: 'Unexpected HTTP response: {status}. Please check your connection and try again.'
|
||||
},
|
||||
[ERROR_HTTP_UNEXPECTED_RESPONSE_STATE]: {
|
||||
id: ERROR_HTTP_UNEXPECTED_RESPONSE_STATE,
|
||||
defaultMessage: 'Unexpected response state: {state}'
|
||||
}
|
||||
});
|
||||
|
||||
// Error with values.
|
||||
export class ExtendedError extends Error {
|
||||
values = undefined;
|
||||
|
||||
constructor(message, values) {
|
||||
super(message);
|
||||
if (Error.captureStackTrace !== undefined) {
|
||||
Error.captureStackTrace(this, ExtendedError);
|
||||
}
|
||||
this.values = values;
|
||||
}
|
||||
}
|
||||
|
||||
// Component to translate error text with values.
|
||||
function ErrorMessageComponent(props) {
|
||||
const { error, intl } = props;
|
||||
|
||||
if (!error) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const id = error.id ? error.id : error.message;
|
||||
const messageDescriptor = Object.assign({}, {
|
||||
id,
|
||||
defaultMessage: error.id ? error.message : undefined
|
||||
}, translations[id]);
|
||||
|
||||
return intl.formatMessage(messageDescriptor, error.values);
|
||||
}
|
||||
|
||||
export const ErrorMessage = injectIntl(ErrorMessageComponent);
|
||||
@@ -0,0 +1,36 @@
|
||||
/* fancy background with two components and fade */
|
||||
|
||||
#bg {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
#bg > div {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
#loader {
|
||||
/* NOTE(longsleep): White here needed because of the background image */
|
||||
color: white;
|
||||
text-shadow: #000 0px 0px 1px;
|
||||
}
|
||||
|
||||
/* NOTE(longsleep): This imports the inline image CSS as generated by make. */
|
||||
/* @import url(./images/loginscreen-bg.css); */
|
||||
|
||||
#bg-enhanced {
|
||||
opacity: 0;
|
||||
transition: opacity 1s;
|
||||
}
|
||||
|
||||
#bg-enhanced.enhanced {
|
||||
background-image: url(./images/background.jpg);
|
||||
opacity: 1;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/loginscreen-bg-thumb.jpg
|
||||
/loginscreen-bg-thumb.svg
|
||||
/loginscreen-bg.css
|
||||
/loginscreen-bg.jpg
|
||||
/loginscreen-bg-overlay.svg
|
||||
app-icon.svg
|
||||
app-icon-*.png
|
||||
@@ -0,0 +1,74 @@
|
||||
# Tools
|
||||
|
||||
CONVERT ?= convert
|
||||
IDENTIFY ?= identify
|
||||
BASE64 ?= base64
|
||||
ENVSUBST ?= envsubst
|
||||
SCOUR ?= scour
|
||||
INKSCAPE ?= inkscape
|
||||
|
||||
# Variables
|
||||
|
||||
LOGINSCREEN_BG_SRC ?= kopano-augmenting-teamwork-bg-7680.jpg
|
||||
LOGINSCREEN_BG_OVERLAY_SRC ?= kopano-augmenting-teamwork-overlay.svg
|
||||
|
||||
LOGINSCREEN_BG_WIDTH = $(shell $(IDENTIFY) -format '%w' loginscreen-bg.jpg)
|
||||
LOGINSCREEN_BG_HEIGHT = $(shell $(IDENTIFY) -format '%h' loginscreen-bg.jpg)
|
||||
LOGINSCREEN_BG_THUMB_BASE64 = $(shell $(BASE64) -w0 loginscreen-bg-thumb.jpg)
|
||||
LOGINSCREEN_BG_THUMB_BASE64_SVG = $(shell $(BASE64) -w0 loginscreen-bg-thumb.svg)
|
||||
|
||||
STATIC ?= ../../public/static
|
||||
ICON ?= kopano-konnect-icon.svg
|
||||
|
||||
# Build
|
||||
|
||||
all: loginscreen-bg.css
|
||||
|
||||
loginscreen-bg.jpg: $(LOGINSCREEN_BG_SRC)
|
||||
$(CONVERT) -geometry x1080 -strip -interlace Plane -gaussian-blur 0.05 -define jpeg:dct-method=float -quality 75% $< $@
|
||||
|
||||
loginscreen-bg-thumb.jpg: loginscreen-bg.jpg
|
||||
$(CONVERT) -geometry x40 -strip -define jpeg:dct-method=float -quality 50% $< $@
|
||||
|
||||
loginscreen-bg-thumb.svg: loginscreen-bg-thumb.svg.in | loginscreen-bg-thumb.jpg loginscreen-bg.jpg
|
||||
WIDTH=$(LOGINSCREEN_BG_WIDTH) HEIGHT=$(LOGINSCREEN_BG_HEIGHT) \
|
||||
IMAGE_DATA=$(LOGINSCREEN_BG_THUMB_BASE64) \
|
||||
$(ENVSUBST) < $< > $@
|
||||
|
||||
loginscreen-bg-overlay.svg: $(LOGINSCREEN_BG_OVERLAY_SRC)
|
||||
$(SCOUR) --enable-viewboxing --create-groups --shorten-ids --enable-id-stripping \
|
||||
--enable-comment-stripping --disable-embed-rasters --remove-metadata --strip-xml-prolog -p 9 \
|
||||
-i $< -o $@
|
||||
|
||||
loginscreen-bg.css: loginscreen-bg.css.in | loginscreen-bg.jpg loginscreen-bg-thumb.svg loginscreen-bg-overlay.svg
|
||||
IMAGE_DATA=$(LOGINSCREEN_BG_THUMB_BASE64_SVG) \
|
||||
$(ENVSUBST) < $< > $@
|
||||
|
||||
.PHONY: icons
|
||||
icons: $(STATIC)/favicon.ico
|
||||
|
||||
$(STATIC)/favicon.ico: app-icon-rounded-256x256.png
|
||||
$(CONVERT) -background transparent $< -define icon:auto-resize=16,32,48,64,128,256 $@
|
||||
|
||||
app-icon.svg: $(ICON)
|
||||
cp -vaf $< $@
|
||||
|
||||
app-icon-whitebox-256x256.png: app-icon.svg
|
||||
$(INKSCAPE) -z -e $@.tmp -w 204.8 -h 204.8 -b white -y 1.0 $<
|
||||
$(CONVERT) $@.tmp -background white -gravity center -extent 256x256 $@
|
||||
@$(RM) $@.tmp
|
||||
|
||||
app-icon-rounded-256x256.png: app-icon-whitebox-256x256.png
|
||||
$(CONVERT) -size 256x256 xc:none -draw "roundrectangle 2,2,252,252,126,126" $@.tmp.png
|
||||
$(CONVERT) $< -matte $@.tmp.png -compose DstIn -composite $@
|
||||
@$(RM) $@.tmp.png
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(RM) loginscreen-bg.jpg
|
||||
$(RM) loginscreen-bg-thumb.jpg
|
||||
$(RM) loginscreen-bg-thumb.svg
|
||||
$(RM) loginscreen-bg.css
|
||||
$(RM) loginscreen-bg-overlay.svg
|
||||
$(RM) app-icon-*.png || true
|
||||
$(RM) app-icon.svg || true
|
||||
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 8.6 MiB |
@@ -0,0 +1,514 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 7680 4320" style="enable-background:new 0 0 7680 4320;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#00B3F0;}
|
||||
</style>
|
||||
<g>
|
||||
<g id="Layer_2_4_">
|
||||
<g id="Layer_1-2_3_">
|
||||
<path class="st0" d="M2294.4,2255.6c12.4-21.7,7.4-36.7-11.4-54.5c-33.2-31.4-45-74.5-52.3-118.8c-0.6-5-1.3-10-1.9-15
|
||||
c0-9.1-0.2-18.3-0.3-27.5l2.3-15c5-33.7,14.4-65.9,35.8-93.3c18.1-23.3,43.2-40.1,71.6-48.1c5.7-1.7,13.7,0,16-8.4h47.1
|
||||
c26,7.8,52.6,13.7,76,28.4c120.8,75.7,124.5,218.4,7.8,301c-19.6,13.9-19.6,13.9-3.9,30.7c3.9,4.3,7.6,9,11.8,13
|
||||
c20.3,18.8,37.5,37.9,69.4,43.4c53.1,9.2,104.4,28.3,156.6,43.2c13.3,3.7,24.7,12.5,31.7,24.4c49.4,76.9,83.6,161.1,119.4,244.6
|
||||
c5.4,12.5-1,18.5-9.7,23.9c-6.4,3.9-9.6,6.8-5.5,15.1c15,30.1,22.4,62.8,27.7,95.7c1.2,7.8,2.6,11.6,12.5,12.7
|
||||
c33.2,3.6,54.6,31.8,50.5,64.8c-4.5,35.8-20.1,64.7-53.4,81.8c-10.9,6.4-24.3,7.2-35.9,2.2c-3.6-1.7-7.1-3.9-6.6-8.7
|
||||
s4.8-5.3,8.7-6c45.6-7.3,77.3-56.4,64.3-99.5c-1.9-6.4-27.7-20.2-33-17.3c-6.3,3.5-3.7,9.1-1.6,13.7c5.6,11.9,8.2,25,7.4,38.1
|
||||
c-0.3,6.5-2,12.3-9.7,12.1c-7.6-0.2-9.7-6.2-9.3-12.6c3.3-55.4-19.6-105.4-31.9-157.7c-3.1-13.7-7.8-19.6-21.7-7.8
|
||||
c-16.6,14.8-36.5,25.4-58,30.8c57.6,86.9,71.3,207,28.5,255c-5.1-14.1-3.1-27.5-1.6-40.8c4.5-41.9,5.3-83.6-6-124.6
|
||||
c-3.2-12-7.4-23.7-12.6-35c-16.7-35.5-26.4-41.6-65.7-37.1c-209.3,23.9-419.2,15.3-629,12.8c-49.2-0.5-98.4-2-146.5,10.9
|
||||
c-13.3,3.4-26.2,8-38.6,13.8c-44.6,21.2-57.7,46.9-52.5,96c4.5,41,14.7,81.1,30.4,119.2c2.4,5.9,8.6,14.4-1.3,18.6
|
||||
c-8.5,3.6-12.7-4.7-16.4-10.7c-16.6-27.2-24.1-57.7-31-88.3c-3.7-33.6-11.8-67.2,0-100.7c27.5-48.3,73.5-65.5,124.1-74.5
|
||||
c17.8-3.2,36.1-3.5,54.3-5.2c2.6,0.3,4.8,0,4.7-3.4c-0.6-10.4-1.3-20.8-2-31.4l-0.8-8.6l-2.1-46.2l0.9-51c3-18.1,4-36.6,3-54.9
|
||||
l0.5-7.8c9.2-13.6,10.9-29.9,15.7-45c2.5-7.8-0.4-6,3.5-13.8c3.3-5.7,7.2-10.9,11.8-15.7c55.9-30.6,90.7-52.8,146.7-83.1
|
||||
c23.5-12.7,47.1-24.8,73.1-31.9c3.9,2.4,10-1.1,13.9,3.9c-6,5.1-12.4,9.8-19,14c-63.8,34.3-125.2,73.2-190.5,104.9
|
||||
c-4.8,2.3-9.7,4.3-11.8,9.8c-10.2,28.2-22.1,56-25.2,86.3c-5.3,50.8-3.7,101.8-4.8,152.7c-0.5,24.1,0.7,25,25,24.5
|
||||
c39.9-0.9,79.7-2.1,119.5-2.2c157.4-0.5,314.9,3.9,472.1-7.5c64.1-4.6,125.2-18,180.5-52.3c32-19.9,32.1-20.8,16.8-55.2
|
||||
c-32-72.2-59.8-146.4-102.4-213.5c-6-10.1-15.8-17.5-27.2-20.5c-43.2-12.4-86.3-25.5-129.5-38.6c-15.5-4.8-32.2-4-47.1,2.4
|
||||
c-72.5,27.5-145.7,35.8-218.1-0.9c-8.1-3.9-21-0.5-23.8-13.7C2293.8,2283.7,2289.2,2268.4,2294.4,2255.6z M2463.9,2217.8
|
||||
c-44.9,19.6-90.2,35.3-139.3,14.4c-6.5-2.7-9.3,0.4-9.7,7.3c-1.2,18.3-7.8,35.3-14.4,50.5c71.4,32.8,142.9,28.9,218.3,4.2
|
||||
c-19.6-14.7-35.6-28.6-48.1-46.1c-5.3-7.3-12.1-14.3-6.9-24.6c2.1-0.6,4.9-0.9,3.9-3.9
|
||||
C2467.8,2218.7,2465.4,2218.4,2463.9,2217.8z M2251.3,2050.3c-0.5,29.3,4.9,58.3,15.7,85.5c23.9,62.2,73.5,95.7,128.5,86.3
|
||||
c37-6.1,71.5-22.4,99.7-47.1c76.1-66.2,72.7-176.6-7-238.3c-29-3-47.7-27.5-74.8-35.3c-64.1-18.4-123.7,9.9-148.3,71.9
|
||||
C2255.3,1997.7,2250.5,2024,2251.3,2050.3z"/>
|
||||
<path class="st0" d="M2005.1,2490.1l-0.4,7.8"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g id="Layer_2_1_">
|
||||
<g id="Layer_1-2_4_">
|
||||
<path class="st0" d="M5923.4,3168.7c0.5,2.6,1.1,5.3,1.6,7.8c-2.1,20.9-2,41.9,0.4,62.8c-3.9,39.7-1.6,79.6-2.7,119.4
|
||||
c-0.4,16.9,12.4,10.2,19.6,9.2c42.6-5.9,85.3-12.6,127.8-19.4c194.7-31.4,388.9-65.5,581.2-109.4
|
||||
c148.4-33.9,296.2-70.2,439.8-121.6c39.2-14.1,78.2-29.7,114.4-51c12-6.8,23.1-14.9,33.2-24.2c25.4-24.3,26.2-45.4,1.8-71
|
||||
c-34.3-35.9-78.5-56.4-123.2-74.5c-110.6-45-226.4-71.9-342.6-97.5c-33.1-7.3-66.3-13.9-99.4-21.2c-6-1.3-13.2-0.7-18.4-7.5
|
||||
c10.9-5.7,21,0,30.4,2c130.6,26.7,261.4,52.9,387.8,96.3c58.9,20.2,116.4,43.2,164.3,85.1c41.2,36.1,41.6,71.4-1.1,106.2
|
||||
c-31.8,25.9-68.9,42.7-106.5,57.8c-153,60.9-312.2,100.1-472.1,136.7c-237.6,54.3-477.7,95.4-718.8,130.2
|
||||
c-14.5,2.1-19.6,7.8-19.2,22.7c0.7,24.2-0.9,48.4-1.5,72.5c0.3,12.4-2.4,24.8-7.8,36c-3.9,7.8-6.6,17.2-1.2,26.1
|
||||
c2.7,4.4,7.8,9.3,2,13.6c-4.8,3.7-9.9-1.3-14.3-3.6c-31.4-16.3-62.6-32.8-93.7-49.4c-40.9-21.9-82.1-43.4-122.4-66.3
|
||||
c-13.5-8-29.4-10.9-44.9-8.2c-26.4,4.1-52.9,8.2-79.5,11c-11,1.1-14.6,5.2-14.4,15.7c0.5,22.9,0.3,45.8,0.2,68.7
|
||||
c0,16.3-0.3,32.2-7.3,47.9c-3.9,9.4-6.7,21.3,2,31.4c2.7,3.2,5.6,8.4,0.6,12c-3.7,2.7-7.5-0.5-10.7-2.6
|
||||
c-24.7-16-49.4-32-73.9-48.3c-41.9-27.8-83.9-55.6-125.6-83.8c-7.9-5.7-17.8-8.1-27.5-6.5c-134.1,17.1-268.2,34.4-402.4,50.4
|
||||
c-121.3,14.5-242.7,27.8-364.1,41c-88.3,9.6-176.6,18.3-265.1,26.9c-10.6,1-13.5,3.4-10.1,14.1c10.4,33,20.4,66.2,29.7,99.5
|
||||
c5.7,20.7,25.5,16.6,38.8,23.1c18.2,9,40.5,6.7,60.5,20.5c-31.9,0-60.4-9.5-90.9-11.5c5.2,18.8,11.8,35.3,13.6,54.4
|
||||
c-18.5-11.3-20.7-29.9-26.4-46.2c-2.3-8.9-10-15.4-19.1-16.3c-150.3-27.9-299.4-61.2-449-92.4c-13.4-3.1-27.3-2.7-40.5,1.1
|
||||
c-20.4,5.7-41.2,10.3-62.1,13.9c32.8-13.7,64.3-30.3,98.1-42.4c59.6-21.5,117.7-46.5,176.8-70c64.9-25.9,128.5-55.4,194.8-77.7
|
||||
c8.6-3.2,17.4-5.7,26.4-7.4c9.1-1.4,20.2-2,8.5,12.2c-4.9,5.9,0,11.2,1.6,16.5c8.3,25.5,17.6,50.7,25.1,76.4
|
||||
c3.2,11.1,8.3,14.6,19.3,13.4c70.2-7.3,140.4-13.9,210.6-21.3c101.3-10.8,202.6-22,303.9-33.5c114.8-13.2,229.6-27,344.4-40.8
|
||||
c48-5.8,95.9-11.8,143.9-18c6.3-0.8,13.2,0.4,20-6.4c-27.5-19-54.5-38.3-82.4-56.1c-10-6.4-14.3-12.8-14.6-24.8
|
||||
c-3.5-163.4,1.2-326.9-5.3-490.5c-1-24.3,0.6-25.3,23.8-17.8c63.4,20.6,126.1,43.2,189.2,64.9c21.9,7.5,32.8,20.4,42.8,37.7
|
||||
c33.4,57.8,62.5,117.7,90.6,178.2c9.3,20,7.4,40.8,7.8,61.3c2,66.7,2.9,133.4,3.5,200.1c0,13.2,1.9,18.7,17.3,15.4
|
||||
c21.6-4.5,43.9-6.1,67.8-13.7c-17.1-9.5-33.8-20-51.6-28.1c-11.5-5.2-14.4-11.8-14.6-24.1c-3.1-159.5,1.1-319.1-6.1-478.5
|
||||
c-0.7-15.3,3.6-20.3,19.1-15.7c68.1,21,135.4,44.7,203.5,65.3c30.6,9.3,44.6,28.3,58.1,51.9c32.4,56.7,63.4,114.3,88.4,174.7
|
||||
c-13.1-0.6-16.2-12.2-20.9-20.7c-28.8-52.4-56.7-105.3-85.4-157.7c-3.9-6.8-4.4-16.8-14.8-18.5c0-2.8-0.9-3.2-3.1-1.6l2.9,1.7
|
||||
c6.8,46.9,2.9,93.7-2.7,140.2c-1.3,11.1,0.5,16.3,11.4,20.2c25.2,8.9,50.1,18.6,74.5,29.1
|
||||
C5900.7,3151.8,5915.5,3155,5923.4,3168.7z M5427.2,2970.5c-0.5-3.9-2.4-9.5-5.3-8.6c-5.7,1.6-1.6,6.9-1.2,10.7
|
||||
c-1.7,46.1,2.9,92.6-4.6,138.5c-1.5,9.5,5.6,10.4,11.3,12.9c26.2,11.8,52.4,23.5,78.5,34.7c7.8,3.4,13.9,12.1,26.1,8.4
|
||||
c-23-38.7-42.5-78.5-62.4-117.7C5456.3,3022.7,5444.5,2995.1,5427.2,2970.5L5427.2,2970.5z M5516.2,3571.9
|
||||
c0.8-2.1,1.4-4.4,1.8-6.6c-2.4-120.1,6.6-240.2,4.4-360.3c0-11.1-4.3-15.7-14-20c-30-12.9-59.4-27.1-89.1-40.6
|
||||
c-14.7-6.7-22.9-18.8-22.6-33.9c0.9-49.6,2.6-99.2,5.8-148.7c0.6-9.4,0-11.5-8.6-14.4c-56.8-19.6-113.4-39.8-169.9-60
|
||||
c-20.8-7.5-20.5-7.8-20.4,14.4c0.7,150.2,3.9,300.5,0.7,450.7c-0.3,13.1,3.9,19.6,14.6,26.4c60.2,37.9,120.1,76.2,179.7,115
|
||||
C5438,3519.2,5476.6,3545.4,5516.2,3571.9z M5576.4,3120.1h0.5c0,73.8,0.3,147.7-0.3,221.6c0,10.8,3.3,16.3,12.8,21.1
|
||||
c97.4,49.2,194.7,98.6,289.6,152.4c11.2,6.3,15.4,6.6,15.7-8.4c0.4-51.4,1.7-102.6,6.8-154c5.3-53.2,3.5-107,5.4-160.6
|
||||
c0.4-10.4-3.4-14.7-12.8-18.3c-30-11.3-59.4-23.8-89.2-35.7c-14.9-5.9-24.5-16.7-23.9-32.5c2-47.6,4.8-95.3,9-142.7
|
||||
c0.8-8.6,0.6-10.4-7.3-12.9c-62.8-20.3-125.6-40.8-187.9-62.2c-13.9-4.7-18.8-5.1-18.6,12.6c1,73.2,0.4,146.4,0.4,219.6H5576.4z
|
||||
M3829.2,3622.1c30.2,5.7,55.2,9.9,80.2,15.1c114.4,23.9,228.7,47.9,343.1,72.1c11.8,2.5,22.8,5.9,16.6-14.2
|
||||
c-21.1-68.7-41.6-137.5-61.6-206.5c-3.6-12.6-7.8-14.8-20-9.4c-45.4,20.1-91.3,39.2-137.1,58.4
|
||||
C3979.3,3567.6,3907.5,3595,3829.2,3622.1z M5417.2,2955.1c-1-0.3-2.2-1.1-3-0.9c-1.8,0.6-1.6,1.7,0,2.5c0.5,0.2,1.5,0.8,1.6,0.7
|
||||
c0.6-0.8,1.1-1.6,1.5-2.5V2955.1z"/>
|
||||
<path class="st0" d="M6045.9,2501.3c8.9-7.5,12.8-15.9,10.2-27.8c-1.5-7.7-1.3-15.7,0.6-23.3c1.9-8.7,9.7-12.8,15.9-5.7
|
||||
c16.9,19.2,15.7-3.5,17.6-8.5c2.8-8.2,0.5-18.1,1.6-27.2c0.8-6.2,5.6-16.8,11.4-8.4c11.5,16.8,13.3,1.3,17.7-3.5
|
||||
c7.4-7.8,4.4-18.6,5.5-28.2c0.7-6.5,2-15.3,11.1-10.7c6,3.1,9,6.4,13.1-1.2c5.3-10-3.6-13.9-7.8-19.6c-3.9-5.1-8.8-5.1-13.2-0.2
|
||||
c-4.4,4.9-9.6,10.7-14,16.4c-17.5,22.8-34.6,45.9-52.5,68.5c-4.8,6-9,18.9-18.1,13.4c-11.3-6.9-1-16.2,3.9-23.2
|
||||
c19.3-28.7,39.2-56.9,61.2-84c3.9-4.7,0.8,0.9,4.7-6.9c2.1-4.2,4.8-8.2,7.8-11.8c2.4-2.8,5-5.5,7.8-7.8c3.5-3.2-0.8,0,3.9-3
|
||||
c33.7-21,49.6-59.9,40.6-100.8c-8.6-39.2-45.7-51.7-76.6-25.9c-52.3,43.5-106.4,84.5-162.4,123.2c-4.8,3.4-9.8,6.6-14.9,9.5
|
||||
c-3.9,2.1-8.4,6-12.3,1.5c-4.6-5.3,0-9.8,3.5-13.5c4.3-4.9,9.2-9.3,14.5-13.1c54.3-36.4,102.6-81.2,158.9-114.7
|
||||
c7.8-4.7,10.9-8.9,3-16c-0.9-0.9-1.7-2-2.6-2.9c-20.7-21.7-28.5-60.5-54.1-69c-29.5-9.7-51.5-29-78.5-41c-6.8-3-20.4-7-15.7-15.7
|
||||
c4.7-8.7,15.1,0.5,22.2,3.9c23.9,11.8,46.3,26.3,67,43.2c6.9-5.6-3.7-16.9,6.4-18.6c7.8-1.3,11,7.8,14.9,13.8
|
||||
c14,20.7,27.7,41.6,44.1,66.3c7.8-26.8-2.8-46.1-6.9-65.6c-1.2-6-14.5,0-21.1-7.8c-11.8-14-26-25.8-38.6-39
|
||||
c-14.9-15.7-12.6-32.8,6.1-44.1c18.7-11.3,39.2-12.9,62-13.2c-6.4-10.5-18.4-12.2-23.5-21.3c-2.6-4.6-6.5-3.1-10-0.6
|
||||
c-24.6,17.4-52.8,24.6-83.7,27.1c3.1,9.7,11.1,12.6,15.9,18.2c3.1,3.7,8.8,6.4,3.9,13c-4.1,5.7-9,4.8-13.9,2.7
|
||||
c-16.1-7.1-31.4-16.1-48.6-20.8c-2.3-1.1-4.2-3-5.2-5.4c-4.4-8.9,2.6-44.3,9.8-51.3c28.6-27.5,96.5-33.8,125.9-7.8
|
||||
c21,18.8,44.3,35,63.4,55.9c8.6,9.4,15.7,14,27.5,4.2c10.9-9.1,20.4-5.7,26.6,7.3c5.4,11.3,11.3,22.3,26,23.9
|
||||
c4.2,0.1,7.6,3.6,7.6,7.8c0,6.1-5.5,6.5-9.9,7.3c-7.8,1.5-15.7,2.5-23.1,4.2c-33.5,7.1-55.2,26.6-59.9,61.3
|
||||
c-1.8,13.3-14.2,25.9-2.9,41c3.9,5.3-3.4,7.8-7.8,7c-5.6-1.3-11-3.1-16.2-5.5c0,21.6,2.2,23.3,22.2,17.9
|
||||
c37-10,65.4,5.8,74.5,43.2c9.1,37.4,9.7,72.5-22.8,100.5c-4.9,4.2-8.3,10.2-13,14.6c-14.4,13.4-7.6,21.7,5.9,29.3
|
||||
c4.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.6c15.7,13.5,16.4,13.4,3.5,32.8c-5.3,8.1-6.6,14,0.4,22.4
|
||||
c86.1,103.8,159.6,216.9,237.8,326.4c15.2,22,32.3,42.8,51,62c11.8,11.8,21.1,10.6,29.8-3.6c18.7-30.8,31.8-64.4,48-96.5
|
||||
c10-19.9,20.6-39.4,29.9-59.6c5.1-10.9,12.4-13.3,23.5-12.1c7.8,0.9,11.3,2.1,6.5,10.3c-30.9,53.2-54.9,109.9-83.9,164.1
|
||||
c-8.4,15.7-19.9,28.5-43.2,31c12.2,7.5,21.1,5.7,29.8,3.6c18.4-4.3,36.8-9,55.2-13.7c11.8-3,24.1-3.9,26.8-20.5
|
||||
c1.2-7,11.3-11.8,17.5-9.3c9.1,3.5,15.9,11.4,17.9,21c1.2,7.8-5.6,11.1-12.1,13.3c-35.8,12.3-71.4,25.3-109.2,31.1
|
||||
c-9.9,1.5-21.5,3.3-28.8-2.2c-16.7-12.6-31.7-5.5-47.6-0.6c-19,5.8-38.3,9.7-57.6,1.9c-16.2-6.5-20.9-19.6-14.4-37
|
||||
c6.7-18.1,20.7-25.9,36.6-20.5c4.4,1.5,9.5,3.1,8.9,8.7c-0.4,4.6-5.1,5.7-9.1,5.8c-11.3,0-18.1,5.9-16.4,16.9
|
||||
c1.6,11,12.2,7.8,19.3,7.8c17.3,0.4,33.4-5.2,49.5-10.8c8.4-2.9,12.3-6.7,4.9-15.3c-87.1-102.3-153-220-234.7-326.1
|
||||
c-15.2-19.6-30.4-39.2-44.7-59.6c-7.6-10.8-12.1-10.5-19.6,0.3c-31.4,45.9-63.1,91.5-95.3,136.8c-6.9,9.8-13.9,26-27,21.2
|
||||
c-9.5-3.5-12.9-19.8-13-32c0-10.3-7.5-26.6,5.5-29.7C6045.3,2474.1,6035.1,2495.4,6045.9,2501.3z M6153.2,2009.7
|
||||
c-16.9-8.1-31.7-20-43.2-34.8c-3.9-5-7-8.5-14.4-5.6c-15.7,6.2-31.9,11.3-47.8,17.1c-11.4,4.2-13.3,10.9-5.1,20.6
|
||||
c12.2,14.4,25.7,27.7,35.3,44.1c1.6,1.9,3.5,3.5,5.5,4.8c13.2-17.4,15.7,4.6,25.2,7.8c6.1-24.2,21.6-40.3,44.3-54H6153.2z
|
||||
M5980,1947c24.2-0.9,47.8-8.2,68.3-21.1c3.1-2,7.8-3.7,6.8-8.4c-1-4.7-5.4-5.3-9.1-5.6c-24.1-2.3-48.3-4.2-71.4,4.8
|
||||
c-11.2,4.3-29.5,7.8-27.2,20.4s20.7,8.1,32.5,9.8H5980z"/>
|
||||
<path class="st0" d="M6698.2,2409.1c22.4-31.4,42.9-61.6,65.3-90.2c9.7-12.3,12.9-28.9,27-38.1c2.9-1.4,4.1-4.8,2.7-7.6
|
||||
c-0.8-1.6-2.2-2.7-3.9-3.1c-12-4.9-23.9-14.2-36.5-12.4c-12.6,1.8-17.1-3.6-22.8-12.5c-17.2-27-24.1-58.6-40.3-86
|
||||
c-6.6-11-9.6-23.9-20.8-32.2c-7.2-5.4-10.4-15.7,0.6-18c25.3-5.8,30.6-28.2,41.9-45.6c8.9-13.8,10.8-30.5,17.8-45.4
|
||||
c8.7-19,22.8-35.1,40.5-46.1c12.2-7.8,26.2-14.5,26.8-32.6c0.1-5.6,4.8-10,10.4-9.9c0,0,0,0,0,0c5.8,0.3,6.8,5.3,7.3,10
|
||||
c-0.1,5.5,4.2,10.1,9.7,10.4c36.4,5.2,71.8,17.7,109.9,7.8c15.1-3.9,31.9-1.9,47.8-5.6c6.1-1.4,16.3,0.9,20,5.5
|
||||
c16.3,19.8,36.1,11.5,55.2,8.9c25.4-3.5,32.5,3.9,27.8,28.9c-3.2,15.4-8.6,30.2-16.2,43.9c-13.6,25-16.6,54.3-8.4,81.6
|
||||
c4.2,15.1,7,30.5,8.4,46.1c2.2,22.6,7,43,22.6,61c12,13.9,6,31.1-11.1,40.6c-8.8,4.3-18.5,6.8-28.3,7.3
|
||||
c-29.2,3-54.3,15-77.5,32.8c-11.8,9-27.5,2.7-41.2,3.3c-34.6,2-69.3-3-102-14.6c-12.3-4.6-20.6-1.6-28.2,9.5
|
||||
c-19.9,29.1-41.9,56.8-60.9,86.3C6731.1,2409.4,6719.6,2415.9,6698.2,2409.1z M6773.5,2227.1c7-0.6,13.1-5.2,15.7-11.8
|
||||
c1.2-0.3,3.9,0.4,1.3-2.2c-0.3,0.8-0.6,1.6-1,2.5C6779.6,2213.1,6776.2,2219.5,6773.5,2227.1l-3.2,0.7c0.5,0.7,0.9,1.4,1.4,2.1
|
||||
L6773.5,2227.1z M7014.1,2243.7c5.4-1.7,11.3-4.2,11.5-10.2c0.1-5.9-5.6-1.4-8.5-2.4c0.9-12.3,10.8-15.7,19.6-19.9
|
||||
c2.4,8.6-11.3,10.3-8.8,19.9c11,1,16.5-13.1,29.4-9.5c-18.3,19.9-41.9,31.4-60.4,49.2c5.5,3.9,9.1,1.2,12.8,1.1
|
||||
c18.7-0.6,29.1-18.9,46.7-21.4c0,4.6-7.2,5.5-5.8,11.3c7.8,1.4,11.5-3.9,14.6-9.7l3.9-3.9c13.4-4.6,18-11.2,6.2-23.1
|
||||
c-4.6-4.5-8.2-9.8-10.6-15.7c-3.9-9.6-9.8-8.1-16.8-5.3c-0.6-5.3-3.1-7.8-8.8-7.3c-10.3,1.5-20.7,2.2-31.1,2.1
|
||||
c-15.7-0.9-15.7,11.1-10.6,16.8c7.2,7.8,3.6,13.9,0.5,21.1c8.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
|
||||
C7011.1,2247.4,7012.7,2245.6,7014.1,2243.7L7014.1,2243.7z M7018,1999.3c1.2,9.9-18.7,11.8-8.7,26c7.8-8.4,18.2-13.6,22.5-26.5
|
||||
l-14.1,0.9c3.9-4.5,10.2-13.5,13.7-7.4c6.7,11.8,10.7,2.7,14.2,0c5.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
|
||||
c-10.9,0.9-9.5,8.7-8.5,15.7C7008.3,2006.9,7014.1,1998.6,7018,1999.3L7018,1999.3z M6732,2079.5c16.2-11.8,32.4-23.6,48.7-35.3
|
||||
c5.5-3.8,8.3-10.5,6.9-17.1c-0.7-4.4-3.7-8.1-7.8-4.2c-17.8,17.1-42.5,27.8-50.4,54.1l-1.5,4.4L6732,2079.5z M7065.1,2018.8
|
||||
c-20.6,7.4-31.7,27.5-50.3,37.6c-7.8,4.2-14.2,10.6-11.8,21.7c1.2,6.1,4.4,7.8,9.2,6.9c11.3-2.4,28.1,4.3,32.5-9.9
|
||||
c5.9-19.2,15.3-36.9,20.8-56.1c1.8-0.2,3.1-1.8,2.9-3.6c0-0.2-0.1-0.5-0.2-0.7c0-0.4-1.1-0.6-1.6-0.9
|
||||
C7066.1,2015.5,7065.6,2017.2,7065.1,2018.8L7065.1,2018.8z M6850,1977.5l-2.4-2.2c-4.3-3.9-10-1.9-14.5-3.3
|
||||
c-5.4-1.8-15.3,22.1-15.9-2.6c-2.4,0.5-5.3,0.3-6.9,1.6c-2.2,1.9-7.8,5-1.1,7.8c5.6,2.4,5.5,4.8,1.4,7.8c-2.8,2.1-7.8,5.8-9.2,0
|
||||
c-1.8-8.2-5-5.6-8.9-2.7c-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
|
||||
C6880.5,1978.9,6865,1976,6850,1977.5z M6939.7,2103c-4.8-0.7-7.1-1.3-9.5-1.4c-7-0.3-16,1.5-18-7.5c-1.7-7.7,4.7-12.9,11.1-16.9
|
||||
c8.3-5.2,16.5-10.6,25-15.4c7.1-3.9,14.9-12.3,22.9-6.2c6.7,5.1,1.5,14.7,1.7,22.3c0.4,13-4.3,21-18.2,22.2
|
||||
c-4.4,0.4-10,0.7-12.2,5.3c-15.1,31.2-41.2,54.9-56.7,86c-1.4,2.7-3.9,7.3,0.6,7.6c18.1,1.1,11.4,14.8,11.8,23.5
|
||||
c0.5,14.3-1.7,28.6-2.4,43c-0.3,5.4-2.8,12.6,6.7,13.1c21.5,1.1,43.2,2.8,64.5,2.9c11.5,0,17.5-6.7,16.2-19.3
|
||||
c-1.1-11-0.9-22.1-1.1-33.2c-0.7-39.2-0.6-39.2,39.2-40.8c1.3-0.1,2.6-0.1,3.9,0c10.8,1,13.8-3.6,11.8-14
|
||||
c-3.9-18-3.2-36.4-2.8-54.7c0.6-27.5,0.4-28.4-25.9-24.6c-13.6,2-15.3-2.6-15-14.3c0.5-20.2-1.5-40.5-0.5-60.6
|
||||
c0.6-12.6-3.9-14.5-14.6-12.9c-23.2,3.6-46.6,6.3-69.8,10c-39.2,6.2-39.2,6.4-39.2,45.8c-0.4,40.6-0.3,41.2-39.2,49.8
|
||||
c-9.8,2.2-12.9,5.2-12.5,15.1c0.9,20.2,0.5,40.5,0.7,60.7c0,4.5-1.2,10.2,5.6,10.2c15.7,0,31.4,5.2,44.5-11.5
|
||||
C6889.4,2158.6,6914.1,2132.4,6939.7,2103L6939.7,2103z M6747.3,2162.8c0.5,8.4,0.5,16.9,0,25.3c-1.3,11.8,2.6,15.7,15,15.4
|
||||
c44.4-1.7,44.4-1.3,44.5-45.8c0-9.1-0.5-18.3,0.3-27.5c1.1-11.3-3.3-14.2-14.4-13.9C6747.4,2117.8,6747.4,2117.4,6747.3,2162.8
|
||||
L6747.3,2162.8z M6861.1,2098.1c-6.4-14.2-5.2-26-5.2-37.6c0-39.9,0-39.6-40.3-41.4c-11.5-0.5-16.6,1.5-15.3,14.6
|
||||
c1.6,17.5,2.2,35.1,1.7,52.7c0,9.9,3.7,12.2,12.6,11.8C6828.8,2097.6,6843.2,2098,6861.1,2098.1L6861.1,2098.1z M6884.6,2220.6
|
||||
c1.2-4.2,5.9-9.5,0.4-12.5c-4.2-2.2-9.4-0.6-11.8,3.6c-13.4,18.4-27.2,36.7-39.6,55.8c-3.9,6.4-6.9,15.7,8.4,12.8
|
||||
c9.7-1.6,19.5-2.1,29.2-1.4c10,0.4,14.1-3,13.7-13.3C6884.2,2250.5,6884.6,2235.5,6884.6,2220.6L6884.6,2220.6z M6773,2241.2
|
||||
c12.8,5.8,25.3,16.8,35.3,14.8c16-3.4,6.8-22,10-33.7s-4.4-13-11.8-7.8C6794.8,2222.2,6784.4,2231.8,6773,2241.2L6773,2241.2z
|
||||
M6712.9,2108.1c29.2,0.5,73.9-36.1,71.7-56.6L6712.9,2108.1z M7074.7,1977.5c-23.5,20.4-42.5,39.9-65,55.6
|
||||
c-5.1,3.6-5.6,9.4-2.4,15.2C7053,2013.4,7072.6,1993.9,7074.7,1977.5z M6728.6,2166.4c3.4-52.5-1.4-57.7-34.1-44.1
|
||||
C6711.6,2131.4,6724.1,2147.4,6728.6,2166.4z M6880.5,2295.9c29.6,1.7,59.9,13,91.9-4.7c-33.1-3.7-62.4,2.8-92,4.6L6880.5,2295.9
|
||||
z M7003,1974.1c-26.6-16.6-39.9-14.5-51.6,5.7c16.5,1.6,31.8-3.6,51.5-5.7L7003,1974.1z M7049.4,2124.6c0,21,0,37.1,0,53.2
|
||||
c0,3.9-0.6,8.6,4.7,8.8c5.4,0.3,6.5-3.9,5.5-8c-4-16.1,0.2-33.5-10.4-54L7049.4,2124.6z M6784.2,2079.9l-26.2,22.3
|
||||
c11.2-3.6,36.2,8.9,26.1-22.4L6784.2,2079.9z M6844.7,2209.7c-19.6,0-20.4,1.3-12.4,19.1c5.3-5.6,11.7-10.5,12.3-19.1
|
||||
L6844.7,2209.7z M6761.4,2239l4.8-5.3c-1.3-0.8-3-2.6-3.9-2.2c-2,1.2-3.9,2.7-5.6,4.4L6761.4,2239z M7005.8,2249.1
|
||||
c-0.9-0.5-2.1-1.5-2.4-1.3c-0.8,0.7-1.4,1.6-1.6,2.7c0,0.4,1.4,1,2.1,1.5L7005.8,2249.1z"/>
|
||||
<path class="st0" d="M3988.7,1677.5c-104.4,4.9-213.1,0.9-321.7-4.2c-17.6-0.9-30.3,0.5-27.1,19.2c1.2-15.4-7.8-21.3-26.3-21.8
|
||||
c-86.3-1.8-172.5-4.4-258.7-7.8c-19.3-0.8-31.4,2.6-32.8,24.2c-0.3,4.7-0.5,10.7-6.3,13.7c-6.9-1.5-6.3-7.5-6.8-12.2
|
||||
c-2-19.1-7.4-36.3-5.4-57.7c6-64.8,2-130.5,2.6-195.9c0.6-78.5,1.9-157.3,2.9-236c0-3.3,0.5-6.6,0.4-9.8
|
||||
c-1.2-24.1-1.3-23.8,23.9-17.9c139.8,33.2,279.8,65.1,419.2,99.8c56.9,14.2,114.8,24.1,171.4,39.2c9.5,2.5,19,7.3,29.6-0.4
|
||||
c6.3-4.6,10.6,1.6,10.7,8.6c0.2,8.5-0.2,16.9,0,25.4c0.4,100.4,0.8,200.9,1.2,301.4C3965.2,1674.1,3965.2,1674.1,3988.7,1677.5z
|
||||
M3330.7,1535h-1.9c0,31.4,0.8,62.8-0.4,94.2c-0.5,15.1,3.2,19.6,19.1,20c91.4,1.8,182.8,2.8,274,9.1c11.8,0.8,14.9-3,14-14.1
|
||||
c-4.6-56.7-5.7-113.5-4.9-170.3c0-9.5-2.7-13.9-12.8-15.2c-88.7-11.8-177.3-23.5-265.9-36.1c-18.4-2.7-22.3,3.5-21.7,20.5
|
||||
C3331.4,1473.6,3330.7,1504.3,3330.7,1535z M3428,1398.8c-1.5-15-0.5-18.5,15-29.3c6.5-4.5,6.9-6,2.6-12.9
|
||||
c-14.9-23.8-9.7-63.7,9.3-83.8c4.3-4.5,8.4-8.6,15-6.3c17.9,6.2,33.6,15.7,41.1,33.7c7.1,17,0,32-10.4,45.4
|
||||
c-3.8,4.5-8.1,8.4-12.8,11.8c-5.3,3.9-6.7,6.5-1.1,11.8c14.1,13.9,22.7,32.5,24.3,52.2c0.8,8.1,3.6,11.4,11.5,12.4
|
||||
c30.4,3.9,60.9,7.6,91.2,12.2c12.9,2,17.5-1.8,16.7-15.2c-2.7-52.2-2.5-104.5,0.5-156.7c0.7-12.9-3.6-17.9-16.4-20.9
|
||||
c-84.5-19.6-168.7-40.3-253.2-60.9c-35.5-8.7-34.8-9-33.9,27.5c1.3,56.2,2,112.4,2,168.7c0,14.9,2.5,22.1,19.6,22.9
|
||||
c26,1.3,51.8,6.4,77.6,9.7c24.7,3.2,49.4,6.1,75.5,9.3c-21.7-63.4-29.6-66.5-74.4-31.6L3428,1398.8z M3643.4,1558.5h-1
|
||||
c0,26.1,1.1,52.3-0.4,78.5c-1,16.6,4.5,20.4,20.5,21.1c91.4,3.7,182.7,8.3,274,13.9c13.1,0.8,13.9-4.2,13.7-14.2
|
||||
c-0.6-47.7-1.2-95.4-0.9-143.1c0-12.2-3.5-17.6-16.1-18.7c-91.7-8.3-182.9-20.7-274-33.2c-15.1-2.1-16.1,3.9-15.7,15.7
|
||||
c0.2,26.6-0.2,53.4-0.2,80.2L3643.4,1558.5z M3949.1,1405.5h0.4c0-22.2-0.7-44.4,0.3-66.7c0.5-12.9-3.9-18.6-16.6-20.8
|
||||
c-92.6-16-184.4-35.7-276.1-56.6c-14.3-3.3-16.6,1.3-16.2,14.2c1.3,51.6,2.3,103.2,1.9,154.7c0,14.9,6,19.1,18.9,20.7
|
||||
c90.9,11.8,181.8,23.8,272.7,36c11,1.5,15.4-1.3,15-13.1c-0.9-22.6-0.4-45.5-0.4-68.4L3949.1,1405.5z M3502.1,1315.2
|
||||
c0.3-14.4-20.6-38.8-34.8-37.3c-15.7,1.6-14.8,17.2-17.9,28.6c-1.8,5.6-2.7,11.5-2.6,17.3c0.6,11.2-3,26.1,10.8,30.6
|
||||
c13.8,4.5,25.2-3.9,34.1-14.4c6.1-6.9,9.7-15.6,10.3-24.8L3502.1,1315.2z"/>
|
||||
<path class="st0" d="M4899.7,2372.2c-12.1,15.7-3.3,25.2,8.9,35.7c29,25,56.9,51.3,87.9,76.4c-18.4-37.5-32.9-74.5-3.6-113.8
|
||||
c8.4,8.2,2.9,14.4,1.7,20c-6.1,25.2-0.4,51.8,15.7,72.2c38.7,51.6,125.1,90.2,194.3,29c10.7-9.5,15.5-18.2,13.3-33.4
|
||||
c-5.8-42.2-12-84.1-30.6-123c-10-20.9-23.1-39.2-43.5-51.6c-10-6.4-22.2-8.7-33.9-6.3c-18.4,3.6-20.6,10.1-8.6,24.4
|
||||
c16.4,19.6,16.2,40.7,5.3,62.2c-10.6,20.7-26.6,33.5-51.4,32.3c-13.9-0.6-26.8-7.6-35.1-18.8c-14.7-18.5-13.7-47.8,1.8-71.8
|
||||
c12.3-19,29.2-25.4,54.3-19.6c7.1,1.6,8.8,0,13.9-6.5c12-16,26.3-31.7,48.3-35.3c52.2-8.6,103.9-19.6,155.3-32.4
|
||||
c2.5-0.6,5.1-1,7.8-1.6c47.4-12.4,62.8-6.8,87.9,35.5c7.8,12.9,14.9,18.6,31.4,17.9c70.2-3,70.2-2.1,124.3,43.6
|
||||
c4.8,3.6,8.1,8.7,9.5,14.4c4.7,26.3,9.1,52.7,13,79.1c0.9,6.2-3.1,11.4-7.5,15.4c-7.8,7.1-15,15.3-24,20
|
||||
c-38,20-43.2,51.3-33.6,89c1.3,4.8,2.6,8.2,7.5,10.1c22.8,9,39.9,27,61,38.5c15.4,8.5,13.1,20.8,13.2,33.5c0,4.9-1.6,9.5-7.3,9.9
|
||||
c-4.1,0.4-7.8-2.6-8.2-6.8c-0.1-0.7,0-1.5,0.1-2.2c2.1-17.9-10.4-23.5-23.1-29.3c-18.1-8.4-30.8-25.6-51-30.7
|
||||
c-4.9-1.2-5.8-8.6-6.5-13.6c-2.6-20.7-6.3-41.4-5.6-62.4c0.2-5.8,2.1-11.4,5.7-16c6.9-9.5,15-18.1,24.2-25.5
|
||||
c12.5-10.4,34.7-16.4,36.3-30.6c2.7-23.3-4.6-47.7-7.8-71.6c-1.2-4.5-4.2-8.3-8.3-10.5c-5.3-3.9-11.8-6.8-15.7-11.8
|
||||
c-26.5-33-63.3-27-98.7-27.2c-9.8,0-8.8,5.2-6.6,11.3c10.4,27.4,17.8,55.8,21.8,84.8c9.8,76.5,18.3,153,24.7,229.8
|
||||
c1.1,13.3,3.9,27.5-5.4,41c-11.8-11.8-10.7-27-12.2-40.3c-10-89.5-17-179.5-29.4-268.7c-6-43.5-31.8-80.1-61.8-112.3
|
||||
c-5.1-6.4-13.6-9.1-21.5-6.7c-60.1,22.2-122.8,33.2-185.8,42.7c-1.6,0.2-2.9,1.9-6.6,4.5c74.5,36.1,88.8,105.2,99.3,175.8
|
||||
c7.1,50.5,9.9,101.4,8.4,152.4c-0.3,14.2-1.3,28.3-14.5,45.3c-1.7-18.9-3.4-32.6-3.9-46.4c-1.3-26.8-1.8-53.6-2.9-80.3
|
||||
c-0.4-11.3-4.6-12.2-12.6-4.7c-66.7,62.5-147.7,34.7-195.8-10c-3-2.9-9-26-18.3-2c-1.6,4.2-10.8-1.2-15.7-3.9
|
||||
c-28.8-14.8-53-35.9-76.9-57.2c-72.1-64.5-140.2-133.2-209.9-200.1c-4.3-4.2-12.7-9.2-7.8-15.7s11.8,0.4,16.7,3.9
|
||||
c12.8,9,25.1,18.8,36.6,29.5c13.7,13.4,27.3,23,46.5,11.2l0,0c-4.4,36.6,19.6,60.7,51,51c4.5,3.9,5.6,10.5,2.7,15.7
|
||||
c-1.2,2.8-3.4,7.5-2.3,8.7c11,12.4,22.8,24.1,35.3,35.1c7.7,6.4,10.9-6.6,17.7-7.3l9.5-1.1l-0.4-0.3L4899.7,2372.2z
|
||||
M5058.8,2300.4c-18.9-0.7-31.8,16.1-32.8,42.5c-0.8,21,12.5,36.6,31.8,37.2c19.9,0.5,39.2-20.6,39.8-43.4
|
||||
C5098,2317.5,5080.6,2301.3,5058.8,2300.4z"/>
|
||||
<path class="st0" d="M6038.9,992.7c-79-12-152.3-23.9-225.8-34.1c-89.4-12.4-179.5-17.6-269.5-22.2
|
||||
c-162.7-8.3-325.7-8.2-488.3-3.6c-228.7,6.4-457.1,18.5-682.7,58.9c-202.2,36.1-399.1,89.6-588.3,169.9
|
||||
c-19.6,8.3-39.7,14.9-57.5,26.8c-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
|
||||
c167.7-68,341-116.6,518.8-149.7c168.7-31.4,338.5-49.6,509.6-59.5c201.8-11.7,403.6-17.5,605.5-10.7
|
||||
c139.2,4.7,278.3,12.3,415.2,39.2C5924.2,959.4,5981,968.5,6038.9,992.7z"/>
|
||||
<path class="st0" d="M2093.6,2167c-26.2-43.8-43.4-89-64.4-132.4c-47.1-97.1-103.8-187.7-181.9-263.2
|
||||
c-54.3-52.5-115.5-94.2-190.9-110.6c-97.6-21.2-188.8,19.2-238.6,105.7c-23.8,41.3-37.5,86.1-46.2,132.5c-0.7,3.9-1,7.8-1.9,11.8
|
||||
c-0.9,3.9-1.4,8.7-6.1,8.8c-6.4,0-6.7-6.1-6.4-10.2c1-15.6,2.9-31.2,5.7-46.6c7.9-41.2,23.3-80.5,45.5-116.1
|
||||
c56-89.1,159.8-128.8,264.6-101.5c70.3,18.3,129.8,55.7,181.1,105.3c114.1,110.1,187.3,245.1,234.8,395.1
|
||||
C2090.9,2151.6,2091.6,2158,2093.6,2167z"/>
|
||||
<path class="st0" d="M4504.1,1611.7c41.6,15.3,87.7-7.8,133.8,0.8c9.3,1.8,14.1,4.6,16.7,12.8c10.5,33.5,17.9,68.2,36.1,99
|
||||
c6,10.1-5.2,12.9-9.7,18.4c-8.2,10.1-27.5,11.1-28.6,23.9c-1.1,11.8,9.3,23.9,12.4,36.5c2,11,10.1,19.9,20.8,23
|
||||
c3.9,1.5,8.8,5,7.1,10.3c-1.7,5.3-7.3,5-11.8,4.4c-12.9-1.6-25.4-5.8-38.6-5.7c-30.4,0.4-43.8,11.5-49,41.6
|
||||
c-0.9,5.1,0,11.8-7.3,11.8c-7.3,0-7.4-6.5-8.1-11.8c-2.2-16,2.4-31,14.4-40.8c17.5-14.3,2-26.6-1.6-38c-3.1-10-13.3-0.5-19.6,1.3
|
||||
c-24.8,7.1-33.4,3.6-41.5-21c-15.7-47.7-31-95.5-46.1-143.5C4477.8,1617.1,4482.6,1611.2,4504.1,1611.7z M4675.1,1735.2
|
||||
c-19.2-32.3-32.6-67.7-39.7-104.6c-1.7-8.1-4.6-8.9-11.8-7c-12.2,3.2-22,6.3-11.2,21.5c3.4,5.6,6,11.6,7.8,17.9
|
||||
c2,5.1,2.9,10.8-3.2,13.6c-6.1,2.8-9.9-2.1-12.3-6.7c-4.8-9.3-8.6-19-13.3-28.3c-6.4-12.7-17.4-6.9-25.8-4.5
|
||||
c-11.1,3.2-2.3,10.6-0.6,15.7c3.5,10.5,8.1,20.6,12.1,31c2.2,5.6,4.8,12.2-2.8,15c-6.2,2.3-9.3-3.9-11.5-8.3
|
||||
c-6.3-12.9-11.8-26.1-16.7-39.6c-6.2-18.8-20.6-10.6-31.1-9c-13.9,2-4.4,12.7-2.8,18.4c10.9,38.3,22.9,76.2,34.4,114.3
|
||||
c2.5,8.3,3.9,13.2,15.7,7.8C4598.6,1765.4,4634.8,1747.2,4675.1,1735.2L4675.1,1735.2z M4632.5,1817.6c3.9-4.3,19,5.8,15-7.8
|
||||
c-3.9-12.6-1.3-31.8-18.4-35.7c-5-1.1-21.9,1.8-21.9,16.5C4607.1,1806.6,4618,1818.4,4632.5,1817.6L4632.5,1817.6z"/>
|
||||
<path class="st0" d="M5636.5,2643.6c-13.8-41.7-13.1-81.2-15.9-120c-5.6-77.5-10.5-154.9-20.2-232c-1.2-9.6-5.6-9.9-12.7-9.8
|
||||
c-15,0-30.1,0-45.1-0.4c-5,0-11.8,0-12-7c-0.2-7,5.7-7.8,11.1-8.2c3.9-0.6,7.8-0.9,11.8-0.8c30.7,2.9,57,0.2,73.6-32.7
|
||||
c8.9-17.5,27.8-18.8,46.1-7.1c38.6,24.5,78.5,46.4,118.8,68.3c36.3,19.8,50.4,54.7,54.9,93.7c6.5,57.8,8,116.1,4.4,174.1
|
||||
c-0.6,10-2,20.3-12.7,30c-3.9-15.8-5.8-32.1-5.8-48.3c-0.9-47.1-0.9-94.2-3.1-141c-1.5-31.4-14.6-58.4-24.6-86.8
|
||||
c-1.9-5.4-8.8-4.5-13.7-5.7c-47.3-11.2-90.6-35.2-125-69.4c-9.1-9.1-15.7-6.4-23.5,0c-20.8,16.9-32.7,57.3-25.6,83.5
|
||||
c10.9,39.9,13.3,81.1,16.6,122.1c4.3,54,6.7,108.2,9.6,162.3C5644,2618.9,5644.4,2630.1,5636.5,2643.6z"/>
|
||||
<path class="st0" d="M6309.2,1252.1c0.4,27.5,1.6,54.9-5.7,81.8c-1.4,5.3-1.6,13-8.8,13.8c-6.1,0.7-5.4-6.3-7.1-10.2
|
||||
c-2.4-5.5-7.3-4.9-11.8-5.3c-15.2-1.2-29.6-7.1-41.2-16.8c-14.7-12.8-29.4-13.2-46.8-9.1c-41.9,9.6-85.4,10.5-126.6,24.6
|
||||
c-22,7.5-35.1-3.6-36.1-26.7c-0.9-20.9-1.8-41.8-2.4-62.8c-0.7-22.2,19.1-41.8,45.4-45.7c67.2-9.9,132.8-28.7,200.1-37.7
|
||||
c3.2-0.5,6.3-1.7,8.9-3.5c14.9-10,21.9-2.1,25.2,11.8C6309.1,1194.5,6308.7,1223.4,6309.2,1252.1z M6288.2,1323.5
|
||||
c-0.9-51,0.5-96.7-3.9-142.3c-0.9-9.8-4.2-11.8-13.6-9.5c-27.8,7.1-55.7,14-83.8,19.6c-43.9,8.9-86.7,23.1-131.8,26
|
||||
c-10.8,0.7-16.6,9.8-16,21.2c1.1,21.5,2.2,43.2,3.9,64.5c0.9,12.1,7.6,16.6,18.5,10c6.6-4.1,14.1-6.8,21.8-7.8
|
||||
c46.5-6.4,93.1-13.2,139.6-19.6c6.3-0.9,14.2-3.9,18.4,2.4C6252.2,1304.1,6271.3,1307.7,6288.2,1323.5z"/>
|
||||
<path class="st0" d="M6708.1,2436.2c26.8,1.4,53.5,2.7,80.3,4.2c5.7,0.4,14.9,1.3,7,9.5c-30.6,31.4-52.9,69.6-80.5,103.4
|
||||
c-15.7,19.6-34.1,28.7-58.1,20.4c-33.3-11.5-67.9-12.6-102.4-14.7c-30.2-1.9-36.4-13.5-19-38.5c15.1-21.3,31.3-41.8,48.5-61.4
|
||||
c13.7-16.3,34.3-25.1,55.5-23.9c22.8,0.7,45.7,0,68.6,0V2436.2z M6749.5,2477.7c-10.2,0.7-16.8,9.1-25.8,12.4
|
||||
c-19.6,7.2-18.9,19.2-7.8,35.3c13.2-15.4,25.8-29.7,34-47.3c1.6-0.6,4.3-0.9,1.3-3.3L6749.5,2477.7z M6768.3,2455.3
|
||||
c-45.4-5.7-87.8-2.4-130-5c-3.9-0.2-8.9-0.8-9.7,3.9c-2.4,14.9,2.8,28.8,9.9,41c6.2,10.8,17.5,6.7,26.5,3.1
|
||||
C6698.6,2484.8,6732,2470.6,6768.3,2455.3L6768.3,2455.3z M6559.8,2535.9c41.3,2.3,77.4,3.9,113,10.8c8,1.5,18.1,9.2,23.5,3.1
|
||||
c6.6-7.1-6.6-13.6-7.1-21.9c-1.3-17.3-9.2-17.8-23.9-11.8c-17.2,6.9-36.6,14.1-50.3-7.8c-2.1-3.3-5.5-2.7-8.6-0.9L6559.8,2535.9z
|
||||
M6617.6,2448.4c-16,0.9-51.7,46.5-54.3,69.4c3.9-1.8,7.4-3.2,10.8-5.1c18.7-10.8,44.9-16,35.1-48c-1.9-6.7,7.9-9.6,8.6-16.3
|
||||
L6617.6,2448.4z"/>
|
||||
<path class="st0" d="M2774,2211.3c45.5-58.1,97.6-110.1,149.4-162.4c96.1-96.9,192.9-193.2,293-286c6.8-6.3,16.7-19.6,23.5-12.6
|
||||
c8.9,9.3-5.9,17.6-12.2,24.4c-125.2,133.4-256.5,260.7-386,389.7c-18.3,18.3-41.2,31.4-58.3,51
|
||||
C2779.3,2216.1,2775.6,2216.2,2774,2211.3z"/>
|
||||
<path class="st0" d="M6148.4,1387.9c-3.6,13.2-15.7,12.5-25.2,13.7c-47.9,6.2-96,12.3-144.2,16c-15.7,1.2-21.5,7.5-21.7,20.7
|
||||
c-0.5,37,0,74,1.4,112.9c24.1-36.3,62.1-30.3,96-33.2c44.2-3.9,88.8-3.9,133.4-5.5c19.6-0.7,26.7-6.6,25.1-26.1
|
||||
c-2-23.5-3.1-47.1-3.5-70.6c-0.3-18.1-12-25.3-35.3-23.3c-7.8,0.7-15.7,4.4-20.5-5.4c15.4-17,34.3-13.7,52.4-7.3
|
||||
c18.1,6.4,23.5,21.4,22.8,39.2c-0.9,26.1-1.8,52.1-2.9,78.2c-0.7,18.1-11.5,29.5-30.9,31.4c-58.5,5.7-117.2,9.8-176,9.8
|
||||
c-15.7,0-28.3,3.1-37.1,16.4c-8.1,12.2-24.8,16.5-28.3,33.5c-1.5,7.3-11.8,5.4-16.7,3.3c-5.5-2.3-1.1-8.7,1.3-11.8
|
||||
c8.7-10.9,7-23.1,6.9-35.3c-0.4-37.9-0.7-75.8,0-113.8c0.4-24.8,6.8-28,31.7-29.5c31.4-2,62.2-7.8,93.3-11
|
||||
C6096.4,1387.9,6122.2,1382.9,6148.4,1387.9z"/>
|
||||
<path class="st0" d="M5935.4,1225.3c-4.9-3.9-4.6-9.3-4.6-14.3c0.3-39.2,1.6-78.5,1.1-117.5c-0.4-21.2,14.1-31.4,28.9-36.5
|
||||
c86.3-29.7,174.1-55.4,262.9-77.7c10.2-2.6,14.8,0.7,14.7,11.3c0,26.6,0.5,53.3,0.2,80c0,22.4-11.6,36.2-33.9,41.4
|
||||
c-71.2,16.6-142.3,33.6-213.8,49.3c-10.8,2.4-14.9,9-19.9,16.6C5960.2,1194.3,5954.6,1214.9,5935.4,1225.3z M6216.3,995.2
|
||||
c-46.2,13.4-91.2,26.4-136.2,39.2c-32,9.1-64.3,17.5-96,27.2c-16.9,5.2-37,12-38.8,31.6c-3.1,31.8-0.8,64.1-0.8,96.2l4.3,2.9
|
||||
c12.5-40.6,46.5-46,79.7-53.7c57.2-13.2,114.2-27.5,171.2-41.2c8.2-2,18.1-3.7,17-15.2C6213.9,1053.8,6217,1025.2,6216.3,995.2z"
|
||||
/>
|
||||
<path class="st0" d="M6337.6,1435.3c11.4,9.3,10.7,20.2,11.4,30.1c3.9,54.9-8.6,106.6-32.4,155.5
|
||||
c-43.9,90.2-103.9,167.4-188.1,223.6c-20.6,14.8-45,23.1-70.4,23.9C6215.2,1762.2,6329,1633.2,6337.6,1435.3z"/>
|
||||
<path class="st0" d="M1787.9,1563.9c5.4-5.4,12.4-1.4,17.7-2.7c21.5-5.3,37.2-6.4,37.3,23.2c0,4.9,10.7,11.3,19.2,3
|
||||
c4.6-4.5,10.7-8.7,17.5-4.4c6.8,4.3,4.6,11.5,1.6,17.5c-5.4,10.9,3.9,13.4,9.7,17.9c20.7,16.2,21.2,20.9,4.4,40.7
|
||||
c-3.9,4.5-7.8,8.9-11.4,13.5c-33.9,41.3-46.4,42.9-86.8,6.9c-14-12.8-28.8-24.6-44.3-35.3c-11.8-7.8-15.3-16.9-6.4-29.7
|
||||
c10-14.4,19.3-29.5,28.7-44.3c2.8-4.5,7.9-7.1,13.2-6.6c-8.9,22,3.2,33.4,20.3,44.5c19.1,12.4,36.6,27.5,54.6,41.5
|
||||
c5,3.9,9.6,8.3,14.5,1.3c3.9-5.5,17.1-9,8.6-17.9c-5.8-6-12.4-17.8-26.1-8.1c-11.8,8.3-18.1,3.1-17-11.4c1.2-15.7-5.4-20-20-12.9
|
||||
c-11.8,5.8-19.6,1.4-17.7-10.4C1807.9,1574.5,1797.8,1569.9,1787.9,1563.9z M1837.7,1650.8c-6.6,4.4-11.8,11.4-11.5,17.1
|
||||
c0.5,10,10.9,15.1,19,16.5c7,1.2,13.7-8.6,13.4-14.1C1858,1659.7,1844.8,1658.8,1837.7,1650.8z M1819.2,1642.2
|
||||
c-2-7.7-8.4-13.5-16.3-14.8c-8.3-0.9-11,9.1-11.4,15c-0.5,8.9,9,13.3,15.7,14.3C1815.7,1658.2,1815.1,1647.4,1819.2,1642.2z
|
||||
M1787.2,1616.5c-1.6-6.4-6.6-12.6-10-11.8c-8.8,2.3-11.8,11.8-13.6,19.6c-1.1,5.5,5.9,9.9,10.5,9
|
||||
C1782.5,1631.4,1783.7,1622.3,1787.2,1616.5z"/>
|
||||
<path class="st0" d="M5985.4,2425.3c-9.2,16.2-15.4,35.5-34.9,32.3c-16.1-2.6-21.1-21.1-28-34.4c-8.1-15.9-10.6-34.1-7.3-51.6
|
||||
c2.3-12.8-1.1-20.5-11.8-27.8c-14.3-9.8-29-17.5-46.5-19c-3.7-0.3-9.1,0.4-9.4-4.6c-0.4-6,5.3-6.7,9.8-7.1
|
||||
c23.9-1.8,43.6,7.8,59.5,24.6c7.8,8.2,14.8,12.6,26.6,11.5c13.6-1.2,31.4,17.7,37.2,37.2c2.9,9.8,5.8,17.5,16,24.5
|
||||
c17.2,11.8,17.4,32.7,15.2,51.9c-5.6,49.7-66.9,102.5-117.2,101.5c-2.6,0.1-5.3,0-7.8-0.5c-7.2-1.7-18.5-0.6-18-10.7
|
||||
c0.5-8.9,11.1-6.8,17.9-7.1c46.3-2.2,78-26.6,99-66.2C5995.5,2462.9,5995.4,2442,5985.4,2425.3z M5967.9,2407.2
|
||||
c-2.6-18.5-5.3-36.8-22.8-47.6c-8.2-5.1-15.7-5.1-14.2,7.8c1.6,15.7,2.3,31.4,9.1,45.9c3.9,8.4,7.1,22.2,18.2,19.4
|
||||
C5967.9,2430.4,5966,2416.4,5967.9,2407.2L5967.9,2407.2z"/>
|
||||
<path class="st0" d="M6181.1,2085.7c-8.7-19.3,7.6-44.3,30.5-46.8c55.2-6,102.8,42.3,96,97c-4.6,37.1-20,72-44.3,100.4
|
||||
c-5.2,5.8-11.1,10.9-17.5,15.3c-7.4,5.5-13.9-1.5-19.9-3.7c-7.1-2.5-1.5-8.7,0.4-13.1c15.7-37.2,8.6-69.6-21.5-99.2
|
||||
c-6.2-6.1-21.3-12-0.4-20.5c6.4-2.6,3.9-13.1,1.1-19.6c-4.9-10.5-14-12.4-24.6-10.1L6181.1,2085.7z M6255.6,2215.2
|
||||
c15.4-15.3,21.3-35.3,26.6-55.4c15.1-56.3-8.4-91.3-66.3-100.5c-4.6-0.7-9.5-2.2-11.8,3.3c-2.3,5.5,2.4,6.6,5.5,8.7
|
||||
c13.9,9.6,15.7,22.6,12.2,38.1c-1.8,7.8-5.4,16.7,2,24.1c22.5,22.7,28.8,51.8,32.1,82c-2.6-0.6-2.9,1.1-2.9,3
|
||||
c0,0.5,0.7,0.9,1,1.4c0.2-1.7,0.7-3.1,1.3-4.8L6255.6,2215.2z"/>
|
||||
<path class="st0" d="M4453.9,1706.8c-103.7-28.6-204.3-65.5-305.1-102c-35.7-12.9-71.1-26.4-106.4-40.1
|
||||
c-6.8-2.6-17.5-4.9-13.5-15.3c3.6-9.2,12.5-3.9,19-1.9c129,40.7,258.1,81.7,379.1,143.6C4436.2,1695.9,4445,1701.7,4453.9,1706.8
|
||||
z"/>
|
||||
<path class="st0" d="M4210.7,1445c26.8,9.4,63.5,13,82.8,37c12.8,15.7,19.1,21.6,38,19.2c10.4-1.3,10.4,11,7.1,17.9
|
||||
c-10,21.2-20.8,42.1-32.5,62.3c-6.8,11.8-17.1,9.8-23.5-0.2c-7.8-12.7-15.7-16.8-31.2-11.4c-16.6,5.8-72.2-21.5-80.7-36.8
|
||||
c-3.5-6.3-2.5-12.6-0.9-19c5.8-23,21.1-41.9,27.8-64.5C4199,1445.2,4202.8,1443.9,4210.7,1445z M4314.2,1525.9
|
||||
c-5.9-3.4-11-0.7-16.1-0.4c-22.2,1.1-26.1-3.3-18-23.9c3.3-8.4,0.3-10.3-6.4-12.1c-7.5-2-15-4.4-22.4-6.9
|
||||
c-43.6-14.3-43.6-14.4-60.9,28.3c-0.3,0.6-0.6,1.2-0.9,1.8c-4.4,7.3-2.4,11.6,5.7,14.6c15.7,6.4,30.6,14.8,44.3,24.8
|
||||
c6.3,4.4,9.8,6.2,15.1-2.3c9-14.8,17.3-14.5,28-1.3c3.9,4.9,5.5,11.8,13.4,14.8C4301.7,1550.6,4311.6,1540,4314.2,1525.9z"/>
|
||||
<path class="st0" d="M1590.3,1509c21.2,4.1,43,4.3,64.3,0.6c16.1-2.6,23.5,4.9,24.8,19.6c2,23.5-1.8,46.8-4.5,70
|
||||
c-0.6,8.1-7,14.6-15.1,15.3c-36.8,7-73.8,5.7-110.9,3.9c-11,0.3-20.4-7.8-21.8-18.7c-5-25.2-3.6-50.6-2.8-76
|
||||
c0.4-10.9,8.5-15.1,19.2-14.9C1559.1,1509.2,1574.7,1509,1590.3,1509z M1536.8,1524.4c1.4,20.5,2.6,40.1,3.9,59.6
|
||||
c0.8,10.4,4.9,16.3,17.3,15.7c29.4-1.1,58.9-0.9,88.2-1.1c5.4,0,10.5,0.4,10.9-7.4c0.8-15.4,2-30.7,3.2-47.4
|
||||
c-24.2,6.8-41.4,28.3-66.7,24.8C1567.5,1564.9,1555.8,1540.8,1536.8,1524.4L1536.8,1524.4z M1558.9,1527.1
|
||||
c32.4,35.9,38.1,35.7,92.2,0H1558.9z"/>
|
||||
<path class="st0" d="M2965.8,1823.3c5.1-7.8,4.6-15.7,6.1-23.5c2.7-14.1,11.1-18.4,21.8-8.9c17.9,16.2,33.7,34.5,47.4,54.4
|
||||
c8.1,11.5,0.6,19.9-10.2,21.2c-16.6,2-19.8,11-21.1,25.6c-1.5,17.4-48.1,59.5-64.6,60.7c-9.2,0.7-16.2-4.7-22.3-10.6
|
||||
c-14.9-14.6-29.1-29.7-43.9-44.3c-6-5.9-3-10.6,0.6-15.3c17.5-21.9,36.6-42.4,57.1-61.5
|
||||
C2946.9,1811.5,2956.6,1816.3,2965.8,1823.3z M2990.7,1811.8c-3,11.3-4.4,18.9-7.1,25.9c-4.8,12.6-14.2,17.7-23.2,5.8
|
||||
c-10.2-13.2-14.8-6.9-21,2.3c-3.3,4.8-7.1,9.3-10.9,13.9c-28.9,34.3-29,34.3,3,66c1,0.9,1.9,1.8,2.7,2.8c5.3,6.9,9.7,6.3,15.4,0
|
||||
c11-12.1,23.7-22.6,37.7-31.2c7.8-4.9,12-8.7,3.5-17.6c-10.7-11.1-3.3-19,7.5-24.1c6.3-3,14.2-1.8,21.6-7.8L2990.7,1811.8z"/>
|
||||
<path class="st0" d="M4987.4,2233.2c-19.6,1.2-34.4-6.9-49.1-13.3c-66.5-29.5-130-64-185.8-111.3c-5-5.2-12.8-6.6-19.3-3.4
|
||||
c-30.6,11.8-46.3,34.6-50,66.7c-0.7,5.6,1.5,13.3-7.2,13.3c-8.7,0.1-10.1-7.1-11.2-13.8c-6.4-39.2,37.5-88.8,77.5-87.8
|
||||
c4.6-0.2,9,1.2,12.7,3.9c60.1,47.9,130.3,79.4,195.7,118.6C4962.9,2213.3,4976.2,2219,4987.4,2233.2z"/>
|
||||
<path class="st0" d="M4705,1843.8c11.8,7.3,15.3,17.9,19,28c20.5,57,40.7,114.3,61.3,171.3c2.2,6.2,2.6,11.8-1.7,16.4
|
||||
c-5.2,5.5-9.1-1.2-13.7-2.4c-25.7-6.8-51.2-8.6-75.8,4.8c-4.6,2.5-9.8,9.7-14.8,1.8c-3.7-5.9,0.9-11.2,5.5-15.1
|
||||
c15.7-13.8,35.3-17.1,54.9-15.9c19.6,1.2,18.3-5.3,12.4-19.6c-18.8-45.8-34-93-45.3-141.2
|
||||
C4704.9,1863.7,4701.7,1855.4,4705,1843.8z"/>
|
||||
<path class="st0" d="M4784.3,2262.5c7.1-10.8-4.4-13.7-8.5-19.6c-6.4-9.2-22.5-19.9-13.7-28.4s17,9.3,24.5,16
|
||||
c54.9,49.1,109.6,98.6,163.9,148.5c7.8,7.1,23.5,16,16.8,24.6c-6.7,8.6-19.6-3.9-28.5-9.5c-10.4-6.6-20-14.6-30-21.9
|
||||
c-2-4.5-6.2-7.5-11.1-8l0.4,0.3c-18.6-22.4-40.9-40.9-62.8-59.7c-13-13.4-25.7-27-39.2-40c-2.9-2.9-6.6-9-12.1-2.5L4784.3,2262.5
|
||||
z"/>
|
||||
<path class="st0" d="M4713.2,2001c10.1,6.1,27.5,1.6,25.1,13.5c-2.6,13-17.5,3.9-27,4.2c-19.6,0.9-26.5-10.6-31.2-27.5
|
||||
c-6.8-25-9.1-51-17.6-75.6c-3.9-11.2,6.6-14.9,15.1-15.1c11,0,24.7-2.3,26.8,14.8c2.3,22.6,9.7,44.5,21.4,64
|
||||
C4735.4,1994.1,4722.9,1996.1,4713.2,2001z M4704,2001.3c1.3-0.7,3.9-1.1,4.3-2.4c1.6-3.6-2.2-3.9-3.9-4.3
|
||||
c-1.7-0.3-3.4,0.3-4.6,1.5C4698.1,1999.6,4701.5,1999.9,4704,2001.3z"/>
|
||||
<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
|
||||
c-23.8-73.4-41.7-148.3-58-223.6c-1.4-6.2-6.2-16.5,3.1-18.5c7.8-1.7,10.4,8.7,12,15.5c14.7,58.2,29,116.6,43.7,174.8
|
||||
C4634.8,2107.5,4641.2,2129.5,4646.3,2147.6z"/>
|
||||
<path class="st0" d="M6180.8,2085.5c11.2,20.8,7.3,36-11.8,45.7c-9.5,4.8-19.3,5.2-26.8-3.1c-10.5-11.8-5.3-24.3,0.8-36
|
||||
c4.7-9,10.8-13.8,21.9-7.4c3.9,2.4,10.6,5.2,16.3,1.1L6180.8,2085.5z"/>
|
||||
<path class="st0" d="M5497,2387.1c-19.3-0.7-30-14.8-24.8-30.7c3.4-10.5,9.7-15.7,20.7-9.1c3.3,1.9,5.6,5.3,10,5.4
|
||||
c11.5,0,17.1,6.7,15.3,17.7C5516.2,2382.8,5506.5,2386.4,5497,2387.1z M5495.6,2372c3.9-0.6,7.8-1.8,5.8-7.1
|
||||
c-1.5-4.1-3.5-8.5-9.1-8c-3.6,0.2-6.3,3.2-6.2,6.8c0,0.4,0.1,0.7,0.1,1.1C5486.8,2370.4,5490.7,2371.9,5495.6,2372L5495.6,2372z"
|
||||
/>
|
||||
<path class="st0" d="M5804.4,2956.9l-2.9-1.7c2.2-1.6,3.3-1.2,3.1,1.6L5804.4,2956.9z"/>
|
||||
<path class="st0" d="M6790.8,1997.1c2-1,4.2-2,6.1-3.2c0,0-0.4-2.5-1-2.7c-3.6-1-5.7,0.9-7.1,3.9c-1.8,0.5-3.5,1.3-2.1,3.5
|
||||
C6788.1,1998.3,6789.5,1997.8,6790.8,1997.1z M6858.4,1987.1l1.4-1.3c-0.8-0.5-1.7-0.9-2.6-1.1c-0.3,0-0.9,0.7-1.3,1.1
|
||||
L6858.4,1987.1z"/>
|
||||
<path class="st0" d="M6094.4,1442c12.5,1.3,28.7-2.6,29.3,10.7c0.5,10.1-15.7,7.5-25,8.4c-30.4,2.9-60.8,5.1-91.3,7.2
|
||||
c-6.7,0.5-16.7,3.4-17.9-6c-1.3-10.2,9.6-8.7,15.7-9.6C6035.8,1448.7,6066.1,1445.4,6094.4,1442z"/>
|
||||
<path class="st0" d="M5250.9,3085.2c2.1-11.2-1.9-28.5,11.8-32.1c14.5-3.9,26.3,8.3,34.7,20.7c3,3.5,5,7.7,6,12.2
|
||||
c2.7,36.8,30.2,59.4,49.4,86.7c6.4,9.1,13.3,17.8,19.6,26.9c6.3,9.1,12.6,17.7,26.5,19.6c17.4,2.6,39.2,34.1,39.2,52.2
|
||||
c0.5,13.5-7.6,25.9-20.2,30.8c-12.2,5.3-21.3-1.1-29.4-9.6c-1.5-1.2-2.8-2.8-3.6-4.6c-11.3-38.8-41.8-24.1-66.9-24.1
|
||||
c-9.1,0-12.2,4.5-11.1,13.9c0.6,6.5-0.3,13-2.4,19.2c-4.2,12.3-12.7,16-24.6,9.8c-20.7-10.5-36.5-44.7-31-67.2
|
||||
c3.9-16.1,12.4-20.9,24.5-10.3c28.8,25.4,61.1,5.3,91.5,8.5c8.7,0.9,11.8-11,5.1-19.6c-19.9-25.9-40-51.6-60.1-77.4
|
||||
c-2.6-3.3-4.4-8.8-10.3-3.5c-14.9,13.5-25.1,3.1-34.3-7.8C5254.3,3117.2,5251,3102,5250.9,3085.2z M5294.1,3104.4
|
||||
c-0.6-3.1-1.1-6.2-2-9.4c-3.2-11.8-11-21.9-23-20c-12,1.9-4.9,15-6.5,23c-0.5,3.9,0.1,7.9,1.8,11.5c3.7,8.1,6.6,19.3,18,17.5
|
||||
S5291.7,3113.1,5294.1,3104.4L5294.1,3104.4z M5385.8,3257.5c-0.4,12.9,9.3,26.4,18,25.7c8.9-0.2,16.1-7.4,16.3-16.3
|
||||
c1-9.3-17.1-30.3-25.5-28.4C5384,3241,5391.6,3253.3,5385.8,3257.5L5385.8,3257.5z M5259.6,3256.6c0.4,14.4,14,34.1,22.9,33
|
||||
c8.9-1.1,8.7-8.6,8.9-14.8c0.4-12.2-15.4-31.4-25.3-31C5257.2,3244.2,5260.7,3252,5259.6,3256.6z"/>
|
||||
<path class="st0" d="M5798.7,3338.1c-0.7,8.7,6.1,23.5-2.2,27.9c-10.4,5.6-17.3-10.8-27.1-14.6c-26.5-10.3-36.7-33.3-48.6-56.4
|
||||
c-28.9-56.3-56.5-113.3-81.4-171.5c-4.2-9.8-14.8-20.3,2.3-29.7c19.9-10.9,35.1-11.1,45.9,2.3c4,5.2,7.5,10.7,10.4,16.5
|
||||
c32.9,63,65.7,126.1,98.3,189.2C5802.1,3313,5797.8,3325.1,5798.7,3338.1z M5697.2,3141.9c-9.9,4.4-21.6,7-29.5,13.9
|
||||
c-5.2,4.6,3,12.8,6,19c19.4,39.9,39.2,79.5,58.9,119.4c13.9,28.8,13.4,28.6,42.9,16.3c8.6-3.6,11.1-5.9,6.2-15.1
|
||||
c-25.5-47.7-50.3-95.9-75.5-143.8c-2-4-2.7-9.2-8.8-9.9L5697.2,3141.9z"/>
|
||||
<path class="st0" d="M6788.8,1995.2c1.4-3.1,3.5-5,7.1-3.9c0.5,0,1.2,2.6,1,2.7c-1.9,1.2-3.9,2.2-6.1,3.2L6788.8,1995.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
|
||||
C6829.8,1989,6828.9,1988.1,6827.9,1987.2z"/>
|
||||
<path class="st0" d="M6835,1982.4l7.7-3.9l2.8,2.9l-7.1,4.9L6835,1982.4z"/>
|
||||
<path class="st0" d="M6826.3,1993.5l-4.8,2.8l-2.2-2.2l4.4-3.4L6826.3,1993.5z"/>
|
||||
<path class="st0" d="M6823.6,1990.7l4.3-3.5c0.9,0.8,1.8,1.7,2.7,2.6l-4.4,3.7L6823.6,1990.7z"/>
|
||||
<path class="st0" d="M6858.4,1987.1l-2.5-1.3c0.4-0.4,1-1.2,1.3-1.1c0.9,0.3,1.8,0.7,2.6,1.1L6858.4,1987.1z"/>
|
||||
<path class="st0" d="M6842.7,1978.5l4.8-3.1l2.4,2.2l-4.4,3.9L6842.7,1978.5z"/>
|
||||
<path class="st0" d="M6821.4,1996.4c-1.2,1-3.2,3.1-3.5,2.8c-3.2-2.4-0.3-3.6,1.3-5.1L6821.4,1996.4z"/>
|
||||
<path class="st0" d="M6790.8,1997.1c-1.3,0.7-2.6,1.2-3.9,1.6c-1.4-2.2,0.4-2.9,2.1-3.5L6790.8,1997.1z"/>
|
||||
<path class="st0" d="M7067.3,2246.3l-4.3,3.4l-7.2,1.1c-1-6.5,3.7-9,8.5-10C7067.3,2240.1,7066.9,2244,7067.3,2246.3z"/>
|
||||
<path class="st0" d="M7036.2,2211.5c0.8-3.2,4-5.3,7.3-4.5c0.3,0.1,0.7,0.2,1,0.3C7042.9,2211.1,7040.4,2212.9,7036.2,2211.5z"/>
|
||||
<path class="st0" d="M7044.1,2207.6c-0.3-3.1,1.3-4.4,4.2-4.3C7048.3,2205.6,7046.4,2207.5,7044.1,2207.6z"/>
|
||||
<path class="st0" d="M7011.1,2078.7c7.1-12.6,19.1-21.7,33.1-25.1C7035.9,2067,7026.5,2072.9,7011.1,2078.7z"/>
|
||||
<path class="st0" d="M7016.9,2211.5c-1.1,2.2-2.6,3.9-5.4,3.3c-0.3,0-0.7-1.3-0.5-1.6c1.3-2.1,4.1-2.7,6.2-1.5L7016.9,2211.5z"/>
|
||||
<path class="st0" d="M7017.3,2211.7c0.3-0.7,0.5-1.5,0.7-2.2c0,0.3,0,0.7,0,0.9c-0.3,0.4-0.7,0.7-1.1,1.1L7017.3,2211.7z"/>
|
||||
<path class="st0" d="M3478.6,1593.8c23.8,7.3,42.3,20,49.4,47.1c-12.1,0-16-7.8-21.3-12.9c-22.2-21.6-39.2-24.1-66.7-8.6
|
||||
c-5.1,2.9-9.8,6.5-15.1,9.1c-2.2,1-4.8,1-7.1,0c-3.7-2.4-1.4-5.7,0.4-8.4c6.7-10.1,18.5-14.1,27.5-21.5
|
||||
c-25.5-25.1-30.5-57.4-13.2-83.8c13-19.9,31.4-21.1,46.5-3C3500.9,1537.8,3500.8,1556.7,3478.6,1593.8z M3484.6,1556.6
|
||||
c0.4-19.1-15.7-45.1-27.7-45.3c-13-0.2-24,21-23,44.4c0,1.3,0,2.6,0.3,3.9c2.4,14.5,7.8,26.8,25,27.5
|
||||
C3470.7,1587.7,3484.3,1570.5,3484.6,1556.6z"/>
|
||||
<path class="st0" d="M3772,1530.5c-12,10.2-18.4,25.5-17,41.2c0.1,10.8,7.2,20.3,17.5,23.5c8.8,3.6,18.9,1.3,25.2-5.7
|
||||
c8.2-8.7,7.5-18.9,3.9-29.3c-4.6-12.5-17.6-18.6-24.4-30.4c19.5,1.9,35,17,37.5,36.4c1.8,17.5-1.6,33-22.5,37.2
|
||||
c-10.5,2.2-7.8,6.9-2,11.4c8.7,6.5,18.3,12,21.7,31.7c-31.4-31.4-56.8-27.5-78.8,5.5c-1.5-22.4,8.6-33.2,36.8-42.1
|
||||
c-9-8.2-20.8-13.1-25-25.5c-3.9-11.2-3.5-23.5,1.2-34.5C3750.3,1539.8,3753.7,1526.9,3772,1530.5z"/>
|
||||
<path class="st0" d="M3747,1376.9c-0.2-24,13.5-47.8,28-48.4c19.6-0.8,40.2,21.3,40.3,43.2c0.1,21.9-15.9,39.2-35.3,39.2
|
||||
C3760.6,1410.9,3747.2,1396.8,3747,1376.9z M3801.4,1374.1c0-15.3-17.1-37.2-27.7-33.8c-17,5.4-14.9,22.7-16.2,36.1
|
||||
c-1.3,13.3,6.3,22.7,20.7,22.6c16.4-0.2,21.3-12,23.3-24.8H3801.4z"/>
|
||||
<path class="st0" d="M3738.8,1454.6c4.9-20,18.6-30,36.2-30c24.8,0,40.4,16.4,52.1,38.1
|
||||
C3798.7,1446.9,3772.4,1415.9,3738.8,1454.6z"/>
|
||||
<path class="st0" d="M6232.2,1214.9c-12.1,9.2-26.5,12.5-40.7,15.7c-28.7,6.3-57.6,12-86.3,17.7c-4.5,0.9-9.7,1.3-12.2-3.6
|
||||
c-2.4-5,1.6-7.8,5.2-8.8C6142.3,1225.5,6185.8,1211.7,6232.2,1214.9z"/>
|
||||
<path class="st0" d="M6122.1,1082.1l-135.3,36.1c-3.1,0.8-7.5,1.7-8.2-2.3c-1.3-6.8,4.9-8.6,9.5-10.2
|
||||
c28.9-10.4,58.5-18.6,88.6-24.8C6091.4,1078.1,6106.3,1076.2,6122.1,1082.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g id="Layer_2_2_">
|
||||
<g id="Layer_1-2_1_">
|
||||
<path class="st0" d="M882.9,2707c-11.3-30.4-1.1-63.4-10.6-93.5c-92,37.3-188.3,44.3-286.2,39.9c-9.1-0.4-24,0.9-23.8-10.8
|
||||
c0.2-11.6,15.5-9.8,24.2-10.3c52.2-2.9,104.5-4.6,156.2-13.1c38.1-5.9,75.8-14.6,112.6-26.1c12.8-4.2,16.7-10.6,15.9-24.2
|
||||
c-14.1-250.4-44-498.6-103.3-742.7c-5.2-22.9-12.1-45.5-20.6-67.4c-3.5-8.6-6.9-10.8-15.4-4.4c-48.1,36.3-112.8,4.5-136.7-39.7
|
||||
c-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.6c28.4,12.9,54.5,10.1,78.5-10.7
|
||||
c4.3-3.9,7.6-9,14.4-10.4c46.3,71.3,59.9,153.7,78.1,234.2c31.9,141.2,50.7,284.3,63.5,428.3c0.9,9.5,2.3,18.9,3.9,31.4
|
||||
c35.7-32.5,68.8-62.8,102-93c47.8-43.6,98.9-83.6,143.7-130.5c6.1-6.4,12.9-14.2,21.1,0c3.9,6.7,13.3,2.2,20.1,1.2
|
||||
c49.9-7.5,88.6-33.3,117.9-73.9c1.4-2.2,3.1-4.2,4.9-6.1c6.4-6.1,10.4-21.7,21.4-13.4c11,8.4,2.7,20.5-4.4,29.3
|
||||
c-43.6,54.1-96.2,90.2-169.7,83c-4.6-0.6-9.1,1.4-11.8,5.1c-63.1,71.2-137.6,130.3-207.3,194.4c-28.8,26.4-38.3,51.9-34.2,89.7
|
||||
c6.3,58.6,6.5,117.6,0.9,176.2C892.7,2686.6,883.9,2695.3,882.9,2707z"/>
|
||||
<path class="st0" d="M372.7,2809c-36.7-76.6-58.4-153.6-71.3-232.9c-29.3-179-48-358.8-39.1-540.6c3.6-73.8,9.1-147.4,27.5-219.4
|
||||
c11.1-44.1,27.9-85.9,60.7-119c28.2-28.5,61.7-47.5,102.5-46.6c66.7,1.5,105-35.1,130.5-91.1c2.2-4.7,3.4-9.9,5.6-14.6
|
||||
c3.9-8.7,2.7-25.9,16.5-21.4c11.4,3.6,4.3,18.3,2.3,27.9c-16,77.4-70.3,123.6-147.8,125.6c-54.9,1.3-91.8,30.3-117.6,75.8
|
||||
c-26.6,47.1-35.3,99.4-42.1,152c-21,164.6-13.1,328.6,5.1,492.8c12.1,109.2,26.4,217.8,53,324.6c3.9,16.4,6,33.2,12.7,49.1
|
||||
C376.5,2783.1,377,2796.7,372.7,2809z"/>
|
||||
<path class="st0" d="M1008.3,1400.2c-4.3,91.3-32.2,171.3-115,220.8c-37.8,22.6-78.7,39.2-125.6,29.9
|
||||
c-48.8-9.6-84.2-37.4-108.8-78.9c-42.1-70.6-47.1-145.2-17.5-222.1c25.6-66.7,68.8-118.1,133-150.2
|
||||
c38.3-19.1,78.7-16.8,115.5,1.8c74.9,37.9,112.9,101.3,117.2,184.9C1007.4,1391.1,1007.9,1395.7,1008.3,1400.2z M988.7,1419.6
|
||||
c0.9-36.7-6.4-73.2-21.3-106.8c-17.4-39.3-44.2-69.4-87.4-81.3c-58.1-16.2-151.5,15.5-188,63.4c-57.7,76-65.4,186.1-15.8,267.7
|
||||
c39.9,65.7,82.6,80.1,146.3,73.9c35.3-3.4,65.7-25.4,93.1-47.8C968.6,1545.2,987.3,1485.9,988.7,1419.6z"/>
|
||||
<path class="st0" d="M441.9,2465.3c-2.6-21.1,2.7-38.6,7.4-55.9c31.3-113.3,55.7-228.4,73.3-344.6c4.2-28.4,8.4-56.8,12.9-85.2
|
||||
c1-6.3,1.6-14.9,10-14.4c10.1,0.6,6.2,10,5.9,15.7c-7.8,147.5-34.2,293.4-78.5,434.4C465.1,2439.6,457.2,2450.9,441.9,2465.3z"/>
|
||||
<path class="st0" d="M1298.7,2011.1c-14.8,22.4-37.4,31.6-60.3,36.8c-27.2,6.3-47.1,20.5-69,37.7
|
||||
c-69.8,54.9-145.8,100.9-230.4,130.8c-13.6,4.8-27.5,8.4-42.1,6.7c-5.3-0.6-10.9-1.8-10.8-8.7c0-5.7,5-6.7,9.6-7.8
|
||||
c103.1-29.2,190.6-88,274.1-151.5C1209.9,2024.6,1255.6,2025.1,1298.7,2011.1z"/>
|
||||
<path class="st0" d="M544.3,3002.1c-13-1.9-28.2-2.5-41.9-9.7c-6.8-3.6-11.8-9.3-9.3-17.5c2.4-8.2,9.4-5.8,15-5.5
|
||||
c9.8,0.4,19.5,1.3,29.2,2.8c16,2.6,21-2.6,17.3-19c-8.2-35.8-20.3-70.3-31.9-105c-5.4-16-6.3-39.2-17.5-46.3
|
||||
c-11.8-7.6-31,7.8-47.1,12.3c-6.4,1.7-15.4,7.4-18.3-2.8c-2.3-7.8,7.1-9.8,12.8-12.1c18-7.6,36.3-14.7,54.5-21.9
|
||||
c9.8-3.9,17.1-0.5,20,9.3c17.4,57.5,42.6,112.6,54.9,171.7C587.9,2988.4,575.5,3003.1,544.3,3002.1z"/>
|
||||
<path class="st0" d="M853.8,3144.6c11.8-65.2,20.7-130.8,28.6-196.6c7.6-63.5,13.8-127.1,18.6-190.8c0.4-5.5-1.6-12,5.3-15.7
|
||||
c6.9,5.3,4.8,13.1,5.1,19.6c4.2,83.9-8.4,166.5-20.6,249.1c-6.5,43.8-16.1,87.1-28.8,129.5c-0.5,1.6,0.8,3.9,1.3,5.7
|
||||
L853.8,3144.6z"/>
|
||||
<path class="st0" d="M1439.5,1985.4c-0.7,7.8-6.2,12.8-12.2,16.8c-39.6,27.8-81.2,52.7-124.4,74.5c-7.4,3.6-16.6,9.4-22.3-1.2
|
||||
c-5.5-9.9,3.3-15.7,10.2-20.4c40.5-26.4,81.1-52.8,122-78.5C1426.5,1968,1439.7,1973.1,1439.5,1985.4z"/>
|
||||
<path class="st0" d="M443.9,3004.4c17.1,36.8,77.1,294.5,76.5,321.1C483.7,3221.1,454.6,3114.7,443.9,3004.4z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Layer_2_3_">
|
||||
<g id="Layer_1-2">
|
||||
<path class="st0" d="M1161.9,1139.1c16.7-13.9,38.1-15.3,57.7-19.9c122.5-28.4,247.2-41.6,372.4-50.5
|
||||
c150.7-10.8,301.6-15.6,452.7-14.4c236.2,1.5,471.7,15.7,706.5,40.5c110.5,11.8,221,23.5,329.6,47.9c12.8,2.9,25.4,6,37.9,10
|
||||
c5.3,1.7,15.9,0.4,13.1,10.1c-1.8,6.5-10.4,3.5-15.7,2.7c-24.5-3.9-48.8-8.7-73.2-12.6c-177.7-28-356.5-45.8-535.8-59.2
|
||||
c-227.8-17.1-455.8-22.8-684-17.4c-160.9,3.9-321.3,11.8-480.8,34.4c-56.1,8-111.8,18.1-167.1,30.3c-4.6,1-8.7,2.8-12.6-1.3
|
||||
L1161.9,1139.1z"/>
|
||||
<path class="st0" d="M1241,1055.3c4.9-39.2,14.7-77.8,37.3-111.8c16.4-24.6,36-23,48,4.2c11.7,27.1,20,55.5,24.8,84.6
|
||||
c1.9,11.5,6.6,22.5,9.9,33.8c1.5,4.9,4.4,10.8-1.8,13.9c-6.9,3.4-10.8-2.5-13.9-7.4c-7.4-13.2-12.2-27.6-14.3-42.5
|
||||
c-2.2-11.5-7.6-15.7-18.9-12.6c-4.5,1.1-9,1.8-13.5,2.3c-35.3,4.4-35.1,4.4-41.7,37.7c-1.2,6.1-0.5,15.9-8.3,15.7
|
||||
C1238.2,1072.8,1242.6,1062.3,1241,1055.3z M1280.5,1005c40.9,1,48.1-10,30.7-47.1c-0.5-1.2-1.1-2.4-1.7-3.5
|
||||
c-5.3-10.5-10.8-9.7-16.8-0.5c-8.1,12.6-14.6,26.2-19.4,40.4C1271.2,1000.9,1271.3,1006.3,1280.5,1005z"/>
|
||||
<path class="st0" d="M2625.3,1018.6c-1.2,7.8-2.2,17.7-3.9,27.5c-1,5.1-3,10.9-9.8,9.8s-7.2-7.2-6.9-12.4
|
||||
c0.8-10.4,2.8-20.7,3.3-31.2c0.4-6.7,2.3-16.7-7.2-17.6c-9.5-0.9-15.1,6.7-16.9,15.7c-1.8,8.9-2.9,19.3-4.7,28.9
|
||||
c-0.3,4.7-4.3,8.2-9,7.9c-0.2,0-0.4,0-0.6-0.1c-6.1-0.9-6.6-6.2-6.1-10.8c1.1-12.4,2.9-24.6,3.9-37c0.4-5.1,0.4-11.8-5.2-13.7
|
||||
c-5.6-1.9-9.3,3.6-13.1,6.9c-7.8,6.7-8.2,15.7-8.6,25.1c0.1,3.9-0.2,7.9-0.9,11.8c-1.8,6.9,0.4,18.8-10.7,17.3
|
||||
c-10.4-1.4-7.3-12.3-6.4-19.6c1.7-15.7,3.9-31,6.7-46.5c1.1-6.4,2.7-14.7,11.8-5.7c5.3,5.2,7.8-0.9,11.5-2.7
|
||||
c10.3-5.1,18.8-3.9,25.5,5.9c2.3,3.4,2.6,7.8,9.8,5.8C2613.4,976.6,2626.5,988.5,2625.3,1018.6z"/>
|
||||
<path class="st0" d="M2657,1014.5c1.7,9.4-5.9,27.2,6,29.7c10.5,2.2,10.5-16.6,14.4-26.4c2.3-5.9,2.5-14.9,10.5-14.4
|
||||
c9.5,0.6,8.4,10,9.1,17c0.2,2.6,0,5.3,0.2,7.8c0.9,8.8-1,21.9,10.2,22.3c11.2,0.4,15.3-12.2,16.9-22.8c0.9-5.8,0-11.8,0.5-17.6
|
||||
c0.3-4.8,2-9.3,7.8-8.9c4.1,0.1,7.5,3.3,7.8,7.5c0.7,18,4.3,36.7-13.1,50.1c-12,9.3-23.3,15-34.6-0.7c-4.5-6.2-8.2-7.1-15.3-1.1
|
||||
c-14.6,12.2-29,7.2-33.7-11.2c-3.5-16-3.3-32.6,0.6-48.6c1-4.9,2.4-12,8.9-11.1c7.1,1,4.2,8.3,4.4,13.1
|
||||
C2657.8,1003.9,2657.3,1008.2,2657,1014.5z"/>
|
||||
<path class="st0" d="M1546.7,968.8c-21.2,4.5-45.9,4.3-50.5,33.4c-1.5,7.3,2.4,14.7,9.3,17.6c14.4,6.9,28.9,9,47.9-1.8
|
||||
c-12.7-1-20.4-1.3-28-2.4c-4.7-0.7-8.9-3.3-8.6-8.9c0.3-4.7,4.3-6.2,8.3-6.7c11.6-1.7,23.5-0.6,34.6,3.3
|
||||
c9.5,3.2,9.6,11.5,6.2,19.6c-7.6,18.6-39.2,25-64.4,13.1c-22.4-10.7-27.5-30.3-14-53.8c13.5-23.5,36.9-31.4,57-18
|
||||
C1545.6,964.7,1545.7,966.5,1546.7,968.8z"/>
|
||||
<path class="st0" d="M2113.2,977.9c9.4-2.9,19.5-2.8,28.8,0.4c8.6,2.6,15.7,7.8,16.2,17.3c0.3,8.1-4.5,15.6-12,18.8
|
||||
c-15.4,7.3-31.4,9.7-46.1-1.5c-13.1-9.9-16.8-29.1-8.9-48.2c6.9-16.5,18.2-28.4,37.3-30.1c6-0.5,13.1,0.8,14,7.6
|
||||
c1.5,10.4-7.6,5.3-12.2,6.5c-14.8,3.9-22.8,13.9-25,28.8c-1.2,23,10.1,33.5,29.6,27.5c3.9-1.1,7.8-2.3,7.5-7.3
|
||||
c-0.3-3.9-4.3-4.4-7.4-4.9c-5.1-0.8-10.4-1.3-15.7-2C2111,989.6,2107.3,986.1,2113.2,977.9z"/>
|
||||
<path class="st0" d="M1610.4,954c8.7-7.4,18.5-5.8,24.4,1.6c8.9,11.4,13.1,5.6,20.4-1.3c15.7-14.6,30.6-10.8,37.7,9.2
|
||||
c5.3,15.5,7.5,31.9,6.5,48.3c-0.2,5.1-0.8,11.8-7.4,12.2c-7.2,0.6-7.5-6.2-8.1-11.1c-1.3-9.1-1.4-18.2-2.6-27.3
|
||||
c-1.3-9,1.6-23.9-11.1-22.4c-11.8,1.4-20.5,13-19.1,27.7c0.8,8.4,1.7,16.9,2.2,25.3c0.3,4.6,0,10.3-5.3,11.3
|
||||
c-6.7,1.2-8.8-4.5-9.7-9.8c-2.4-14.1-4.2-28.4-6.9-42.4c-2.5-12.4-9.2-16.9-20.8-8.8C1610.5,962.2,1610.4,958.1,1610.4,954z"/>
|
||||
<path class="st0" d="M1805.5,977.3c0-8.4-0.2-12.6,0-21.1c0-4.4-0.3-10,4.4-12.2c6.3-3.1,7.1,3,9.1,6.8c3,5.5,6.2,1.4,9.5,0
|
||||
c22.6-9.1,37.4-2.6,45.4,20.6c4,11.7,5.8,24.1,5.2,36.5c-0.2,5.3-1.7,11.4-8,11.8c-6.3,0.4-8.2-5.6-9-10.9
|
||||
c-1.4-9.7-2.3-19.4-3.6-29.1c-1.3-9.7-3.2-19.9-15.3-18.7c-11.8,0.5-20.9,10.4-20.4,22.1c0,0,0,0.1,0,0.1
|
||||
c-0.2,9.1,1.1,18.2,1.1,27.5c0,5.8,0,13.3-7.8,13.3c-7,0-9.1-6.8-9.3-12.9c-0.4-9.7,0-19.6,0-29.3
|
||||
C1806.2,981.6,1805.8,977.3,1805.5,977.3z"/>
|
||||
<path class="st0" d="M2318.1,918.4c-18.8-6.4-38.6-4.4-57.8-7.4c-5-0.8-12.4,0.4-12.8-6c-0.6-7.8,7.4-7.8,12.9-8.6
|
||||
c17.7-2.3,35,2.1,52.5,3.2c31.2,2,62.3,4.8,93.5,7.3c5.7,0.5,13.6-0.5,13.9,7.2c0.4,9.5-8.4,8.4-14.6,8.2c-26-1.1-52-2.5-78-3.9
|
||||
L2318.1,918.4z"/>
|
||||
<path class="st0" d="M1998.5,978.2c0.8-7.3,1.5-17.8,3.2-28.1c1.4-8.8,3.9-16.8,13.2-4.6c5,6.4,7.3-1,10.2-3
|
||||
c20.3-14.3,33.2-10.1,41.1,13.7c4.7,14,3.9,28.4,3.1,42.8c-0.4,5.5,0,13.3-8.2,12.8c-6.1-0.5-6.9-7.2-7.1-12.4
|
||||
c0.1-13.1-1-26.1-3.2-39c-2.7-12.8-8.6-12.9-17.7-6.2c-11.9,8.5-18.8,22.4-18.4,37.1c0,7.5,3.3,20.3-9.3,19.6
|
||||
c-10.3-0.6-6.1-12.4-6.8-19.6C1998.5,987.8,1998.5,984.5,1998.5,978.2z"/>
|
||||
<path class="st0" d="M2928.4,1043.4c1.6,0.1,3.3,0.1,4.9,0c8.6-2,18-14.8,23.7-8.2c7.8,8.9-8,11.3-12.1,17.7
|
||||
c-5.5,8.6,3.6,11,6.3,16c4.3,7.8,19.6,16,12,22.9c-7.6,6.9-17.8-5.7-24.4-13.2c-10.1-11.8-17.5-16-20.9,4.2
|
||||
c-0.7,4.3-3.1,9.3-9,8.2c-4.7-0.9-7.8-5.4-6.9-10.1c0-0.2,0.1-0.4,0.1-0.5c2.9-21.2,6.4-42.4,9.9-63.5c0.7-3.9,2.7-7.8,7.8-6.9
|
||||
c5.1,0.9,6,4.9,6.5,8.7C2927.2,1026.8,2927.6,1035.1,2928.4,1043.4z"/>
|
||||
<path class="st0" d="M2820.1,1040c0,22.2-19.6,43.2-40.1,42.7c-16.1,0.4-29.4-12.4-29.8-28.5c0-0.4,0-0.8,0-1.2
|
||||
c0-21.8,22.2-46.8,42-47.6C2806,1004.8,2820.1,1022.2,2820.1,1040z M2805.5,1039.4c-2.6-7.8-3.3-19.1-16.2-19.6
|
||||
c-9.5-0.4-24.8,20.2-24.6,32.1c0,10.2,5.8,15.5,15.7,16C2793.2,1068.5,2805.7,1054.7,2805.5,1039.4z"/>
|
||||
<path class="st0" d="M2867.8,1053.7c3.9,9.9,21.7,16.7,11.8,26c-8.4,7.8-16.6-7.2-24.2-13.1c-2.5-1.9-4.7-4.2-6.8-6.2
|
||||
c-5.1,2.4-4.9,6.6-5.7,10.2c-1.1,4.8-3,9.1-8.8,8.2c-6.7-1.1-7.8-6.7-6.8-12c2.4-13.4,3.9-27.2,8.7-39.8s15.7-17.8,29.2-18.8
|
||||
c11.8-0.9,15.3,7.8,18.9,15.7C2891.6,1040.2,2879.1,1046.4,2867.8,1053.7z M2864.5,1020.8c-5.9,0.8-13.1,1.5-12.9,8.9
|
||||
c0,6.3,6.9,6.2,12.1,6.7c6.2,0.6,10.2-1.5,9.9-8.4C2873.4,1021.9,2869.5,1020.5,2864.5,1020.8z"/>
|
||||
<path class="st0" d="M2375.1,1013.5c11.5,15.7,29.7,9.3,51,14.4c-18.4,10.8-32.5,14.4-48.6,8.7c-16.9-5.1-27.5-21.8-25-39.2
|
||||
c1.5-16.3,9-28.7,25.7-32.9c12.4-3.1,23.5,0,30.3,11.8c6.2,10.6-1.4,16.4-9.3,21.6c-8.7,1.8-36.6,15-7.1-7.1
|
||||
c3-4.6,4.4-8.2-0.9-11.2c-4.1-2.4-9.3-1.8-12.7,1.5C2367.3,990.4,2368.9,1001.8,2375.1,1013.5z"/>
|
||||
<path class="st0" d="M2496.3,1022c-1.2,7.3,1.1,17.1-8.1,18.2c-9.1,1.1-7.8-8.6-8.5-14.5c-0.7-7.5-4.1-10.6-11.3-9.6
|
||||
c-8.2,1.1-19.2-4.6-22.2,9.3c-0.9,3.9-0.7,10.6-7.1,9.2c-5.6-1.2-4.7-7.4-4.2-11.8c2.1-18.4,6.9-36,20.8-49.4
|
||||
c11.8-11.5,24.1-9.5,31.7,5.2C2494.6,992.4,2494.5,1007.7,2496.3,1022z M2477.2,993c-1.2-3.9-1.3-10.9-7.8-10.3
|
||||
c-6.7,1.1-11.6,6.7-11.8,13.5c-0.7,7.3,6.1,4.6,9.9,5.1C2472.9,1001.8,2478.4,1001.8,2477.2,993z"/>
|
||||
<path class="st0" d="M1745.3,997.1c6.8,8.5,18.3,11.5,28.3,7.4c3.9-1.4,9.1-4.8,11.8,1.6c2,5-2,8.5-5.3,11.8
|
||||
c-17.2,16.2-52.2,2.3-59.2-23.5c-5.7-18.6,4.7-38.4,23.4-44.1c4.8-1.5,9.8-1.9,14.8-1.3c8.2,0.9,15.5,3.3,18.7,11.8
|
||||
c3.2,8.5-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.3c-0.7-4.6-7.6-3.7-11.8-2.4
|
||||
c-9.8,3.1-17,9-16.4,20.6c0,2.2,2.1,4.4,3.3,6.5C1740,993.3,1740.7,996.6,1745.3,997.1z"/>
|
||||
<path class="st0" d="M1375.4,992.4c5.7,6.8,2.9,14.1,3.7,20.6c1.6,14,7.2,26.3,22.7,26.7c19.6,0.5,34.5-12.7,35.8-27.8
|
||||
c0.8-9.3-7.3-24.8,8.2-25.3c13.1-0.5,10.7,15.2,11.3,25.1c0.7,8.5,4,16.6,9.5,23.1c3,3.9,8.5,7.8,3.2,13.3
|
||||
c-3.4,3.8-9.3,4.1-13,0.6c-0.4-0.3-0.7-0.7-1.1-1.1c-11-14-20.2-9.1-32.5-1c-12.6,9.2-29.9,8.5-41.7-1.7
|
||||
C1369.1,1034.8,1366.8,1015.3,1375.4,992.4z"/>
|
||||
<path class="st0" d="M1946.8,948.4c-26.1,5.4-24.2,20.7-23,35.7c0.4,4.6,0.4,9.2,0.1,13.8c-0.5,6,1.9,14.9-7.8,14.9
|
||||
c-7.8,0-7.3-7.8-7.8-13.5c-0.5-5.6-0.6-10.4-0.9-15.7c-0.3-4.6,1.2-10.8-1.2-13.4c-17.1-17.9,0.8-33.9,1.8-50.7
|
||||
c0.2-3.6-0.6-8.7,4.6-9.5s6.9,3.9,6.9,7.5C1919.5,932.7,1925.9,942.9,1946.8,948.4z"/>
|
||||
<path class="st0" d="M2318.1,918.4h9.7c7,32.6,0.5,64.6-4.4,96.6c-0.8,5.5-2.3,13.1-9.6,12.7c-8.6-0.5-8.9-8.7-8.1-15.1
|
||||
C2309.6,981.3,2314,949.9,2318.1,918.4z"/>
|
||||
<path class="st0" d="M1610.4,954c0,3.9,0,8.2,0,12.4c-8.6,9.6-9.3,20.3-7,32.8c1.8,9.6,10.5,26-3.9,28.1
|
||||
c-13.7,1.8-10.4-16.3-12.6-26.4c-1.8-9-2.8-18.1-3.3-27.2c-0.8-14.6-0.5-14.5,13.8-12.3C1603.6,962.3,1604.9,954.7,1610.4,954z"/>
|
||||
<path class="st0" d="M1972.1,980.9c-1,7.8-1.9,17.7-3.6,27.5c-0.3,4-3.7,7-7.7,6.8c-0.1,0-0.3,0-0.4,0c-4.1-0.5-7.1-4.1-6.8-8.2
|
||||
c1-17.5,1.3-35.1,5.6-52.2c0.8-3.4,2.7-7,6.2-6c2.8,1.5,4.7,4.2,5.2,7.4C1971.6,963.5,1971.6,971.4,1972.1,980.9z"/>
|
||||
<path class="st0" d="M1966.3,906.9c7.5,0.4,13.1,3.2,13.1,11.4c0,6.5-4.4,8.9-10.4,8.9c-7.2-0.2-13-3.1-13.1-11.3
|
||||
C1955.8,909.3,1960.6,907.1,1966.3,906.9z"/>
|
||||
<path class="st0" d="M1751.8,984.2l9.2,2.4l-15.7,10.5c-4.6-0.5-5.2-3.9-5.5-7.5L1751.8,984.2z"/>
|
||||
<path class="st0" d="M1161.9,1139.1l0.7,0.7l-3.7,2.9L1161.9,1139.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 53 KiB |
@@ -0,0 +1 @@
|
||||
../../node_modules/kpop/static/icons/kopano-konnect-icon.svg
|
||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="${WIDTH}" height="${HEIGHT}"
|
||||
viewBox="0 0 ${WIDTH} ${HEIGHT}">
|
||||
<filter id="blur" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feGaussianBlur stdDeviation="20 20" edgeMode="duplicate" />
|
||||
<feComponentTransfer>
|
||||
<feFuncA type="discrete" tableValues="1 1" />
|
||||
</feComponentTransfer>
|
||||
</filter>
|
||||
<image filter="url(#blur)"
|
||||
href="data:image/jpeg;base64,${IMAGE_DATA}"
|
||||
x="0" y="0"
|
||||
height="100%" width="100%"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 535 B |
@@ -0,0 +1,6 @@
|
||||
#bg-thumb {
|
||||
/* NOTE(longsleep): This is the base64 encoded svg, inlined directly to show
|
||||
this image as early as possible.
|
||||
*/
|
||||
background-image: url("data:image/svg+xml;base64,${IMAGE_DATA}");
|
||||
}
|
||||
|
After Width: | Height: | Size: 9.7 KiB |
@@ -0,0 +1,15 @@
|
||||
import 'kpop/static/css/base.css';
|
||||
import 'kpop/static/css/scrollbar.css';
|
||||
import 'typeface-roboto';
|
||||
import './app.css';
|
||||
import './fancy-background.css';
|
||||
|
||||
import * as kpop from 'kpop/es/version';
|
||||
|
||||
import * as version from './version';
|
||||
|
||||
console.info(`Kopano Identifier build version: ${version.build}`); // eslint-disable-line no-console
|
||||
console.info(`Kopano Kpop build version: ${kpop.build}`); // eslint-disable-line no-console
|
||||
|
||||
// NOTE(longsleep): Load async, this enables code splitting via Webpack.
|
||||
import(/* webpackChunkName: "identifier-app" */ './app');
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"konnect.loading.error.headline": "Verbindung zum Server fehlgeschlagen",
|
||||
"konnect.login.retryButton.label": "Wiederholen",
|
||||
"konnect.scopeDescription.aliasBasic": "Zugriff auf Ihre grundlegenden Benutzerinformationen",
|
||||
"konnect.scopeDescription.offlineAccess": "Dauerhaften Zugriff (läuft nicht ab)",
|
||||
"konnect.scopeDescription.scope": "Geltungsbereich: {scope}",
|
||||
"konnect.goodbye.headline": "Bis bald",
|
||||
"konnect.goodbye.subHeader": "sie sind jetzt von Ihrem Kopano Konto abgemeldet",
|
||||
"konnect.goodbye.message.close": "Sie können dieses Fenster jetzt schließen.",
|
||||
"konnect.goodbye.confirm.headline": "Hallo {displayName}",
|
||||
"konnect.goodbye.confirm.subHeader": "Bitte bestätigen Sie, dass Sie sich abmelden möchten",
|
||||
"konnect.goodbye.message.confirm": "Klicken Sie auf die Schaltfläche unten um sich aus Ihrem Kopano Konto abzumelden.",
|
||||
"konnect.goodbye.signoutButton.label": "Abmelden",
|
||||
"konnect.welcome.signoutButton.label": "Abmelden",
|
||||
"konnect.chooseaccount.headline": "Konto auswählen",
|
||||
"konnect.chooseaccount.subHeader": "um sich bei Kopano anzumelden",
|
||||
"konnect.chooseaccount.useOther.persona.label": "?",
|
||||
"konnect.chooseaccount.useOther.label": "Anderes Konto",
|
||||
"konnect.consent.headline": "Hi {displayName}",
|
||||
"konnect.consent.message": "{clientDisplayName} möchte",
|
||||
"konnect.consent.tooltip.client": "Wenn Sie \"Einverstanden\" klicken werden Sie zu {redirectURI} weitergeleitet",
|
||||
"konnect.consent.question": "{clientDisplayName} den Zugriff gestatten?",
|
||||
"konnect.consent.consequence": "Wenn Sie Einverstanden klicken, erhält die App Zugriff auf Ihre Informationen.",
|
||||
"konnect.consent.cancelButton.label": "Abbrechen",
|
||||
"konnect.consent.allowButton.label": "Einverstanden",
|
||||
"konnect.login.headline": "Anmelden",
|
||||
"konnect.login.subHeader": "mit Ihrem Kopano Konto",
|
||||
"konnect.login.usernameField.label": "Benutzername",
|
||||
"konnect.login.passwordField.label": "Passwort",
|
||||
"konnect.login.nextButton.label": "Weiter",
|
||||
"konnect.welcome.headline": "Willkommen {displayName}",
|
||||
"konnect.welcome.message": "Sie sind angemeldet - super!",
|
||||
"konnect.error.login.validate.missingUsername": "Geben Sie einen Benutzername ein",
|
||||
"konnect.error.login.validate.missingPassword": "Geben Sie ein Passwort ein",
|
||||
"konnect.error.login.failed": "Anmeldung fehlgeschlagen. Bitte überprüfen Sie Ihre Eingabe und versuchen Sie es noch einmal.",
|
||||
"konnet.error.http.networkError": "Netzwerkfehler. Bitte prüfen Sie Ihre Verbindung und versuchen Sie es noch einmal.",
|
||||
"konnect.error.http.unexpectedResponseStatus": "Unerwartete HTTP-Antwort: {status}. Bitte prüfen Sie Ihre Verbindung und versuchen Sie es noch einmal.",
|
||||
"konnect.error.http.unexpectedResponseState": "Unerwarteter Antwort-Status: {state}"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"konnect.loading.error.headline": "",
|
||||
"konnect.login.retryButton.label": "",
|
||||
"konnect.scopeDescription.aliasBasic": "",
|
||||
"konnect.scopeDescription.offlineAccess": "",
|
||||
"konnect.scopeDescription.scope": "",
|
||||
"konnect.goodbye.headline": "",
|
||||
"konnect.goodbye.subHeader": "",
|
||||
"konnect.goodbye.message.close": "",
|
||||
"konnect.goodbye.confirm.headline": "",
|
||||
"konnect.goodbye.confirm.subHeader": "",
|
||||
"konnect.goodbye.message.confirm": "",
|
||||
"konnect.goodbye.signoutButton.label": "",
|
||||
"konnect.welcome.signoutButton.label": "",
|
||||
"konnect.chooseaccount.headline": "",
|
||||
"konnect.chooseaccount.subHeader": "",
|
||||
"konnect.chooseaccount.useOther.persona.label": "",
|
||||
"konnect.chooseaccount.useOther.label": "",
|
||||
"konnect.consent.headline": "",
|
||||
"konnect.consent.message": "",
|
||||
"konnect.consent.tooltip.client": "",
|
||||
"konnect.consent.question": "",
|
||||
"konnect.consent.consequence": "",
|
||||
"konnect.consent.cancelButton.label": "",
|
||||
"konnect.consent.allowButton.label": "",
|
||||
"konnect.login.headline": "",
|
||||
"konnect.login.subHeader": "",
|
||||
"konnect.login.usernameField.label": "",
|
||||
"konnect.login.passwordField.label": "",
|
||||
"konnect.login.nextButton.label": "",
|
||||
"konnect.welcome.headline": "",
|
||||
"konnect.welcome.message": "",
|
||||
"konnect.error.login.validate.missingUsername": "",
|
||||
"konnect.error.login.validate.missingPassword": "",
|
||||
"konnect.error.login.failed": "",
|
||||
"konnet.error.http.networkError": "",
|
||||
"konnect.error.http.unexpectedResponseStatus": "",
|
||||
"konnect.error.http.unexpectedResponseState": ""
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"konnect.loading.error.headline": "La connexion au serveur a échoué",
|
||||
"konnect.login.retryButton.label": "Réessayer",
|
||||
"konnect.scopeDescription.aliasBasic": "Consulter les informations de base de votre compte",
|
||||
"konnect.scopeDescription.offlineAccess": "Conserver les autorisations d'accès à l'avenir",
|
||||
"konnect.scopeDescription.scope": "Portée : {scope}",
|
||||
"konnect.goodbye.headline": "Au revoir",
|
||||
"konnect.goodbye.subHeader": "vous avez été déconnecté de Kopano",
|
||||
"konnect.goodbye.message.close": "Vous pouvez fermer cette fenêtre à présent.",
|
||||
"konnect.goodbye.confirm.headline": "Bonjour {displayName}",
|
||||
"konnect.goodbye.confirm.subHeader": "Confirmer votre déconnexion",
|
||||
"konnect.goodbye.message.confirm": "Cliquer le bouton ci-dessous, pour quitter Kopano.",
|
||||
"konnect.goodbye.signoutButton.label": "Quitter",
|
||||
"konnect.welcome.signoutButton.label": "Quitter",
|
||||
"konnect.chooseaccount.headline": "Choisir un compte",
|
||||
"konnect.chooseaccount.subHeader": "pour vous authentifier dans Kopano",
|
||||
"konnect.chooseaccount.useOther.persona.label": "?",
|
||||
"konnect.chooseaccount.useOther.label": "Utiliser un autre compte",
|
||||
"konnect.consent.headline": "Bonjour {displayName}",
|
||||
"konnect.consent.message": "{clientDisplayName} souhaite",
|
||||
"konnect.consent.tooltip.client": "En cliquant \"Autoriser\" vous serez redirigé vers : {redirectURI}",
|
||||
"konnect.consent.question": "Autoriser {clientDisplayName} à faire cela ?",
|
||||
"konnect.consent.consequence": "En cliquant, vous autoriser l'app à accéder à vos informations.",
|
||||
"konnect.consent.cancelButton.label": "Annuler",
|
||||
"konnect.consent.allowButton.label": "Autoriser",
|
||||
"konnect.login.headline": "Identification",
|
||||
"konnect.login.subHeader": "avec vos identifiants Kopano",
|
||||
"konnect.login.usernameField.label": "Utilisateur",
|
||||
"konnect.login.passwordField.label": "Mot de passe",
|
||||
"konnect.login.nextButton.label": "Suivant",
|
||||
"konnect.welcome.headline": "Bienvenue {displayName}",
|
||||
"konnect.welcome.message": "Magnifique - Vous êtes connecté !",
|
||||
"konnect.error.login.validate.missingUsername": "Saisir un identifiant",
|
||||
"konnect.error.login.validate.missingPassword": "Saisir un mot de passe",
|
||||
"konnect.error.login.failed": "Echec de connexion. Vérifier vos identifiants et essayer à nouveau.",
|
||||
"konnet.error.http.networkError": "Erreur réseau. Vérifier votre connexion, et réessayer.",
|
||||
"konnect.error.http.unexpectedResponseStatus": "Erreur HTTP inattendue : {status}. Vérifier votre connexion et réessayer.",
|
||||
"konnect.error.http.unexpectedResponseState": "Erreur d'état inattendue : {state}"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"konnect.loading.error.headline": "सर्वर से कनेक्ट करने में विफल",
|
||||
"konnect.login.retryButton.label": "पुन: प्रयास करें",
|
||||
"konnect.scopeDescription.aliasBasic": "अपनी मूल खाता जानकारी देखे",
|
||||
"konnect.scopeDescription.offlineAccess": "अनुमत पहुंच को लगातार और हमेशा बनाए रखें",
|
||||
"konnect.scopeDescription.scope": "क्षेत्र: {scope}",
|
||||
"konnect.goodbye.headline": "अलविदा",
|
||||
"konnect.goodbye.subHeader": "आपको अपने Kopano खाते से साइन आउट कर दिया गया है",
|
||||
"konnect.goodbye.message.close": "अब आप इस विंडो को बंद कर सकते हैं.",
|
||||
"konnect.goodbye.confirm.headline": "नमस्ते {displayName}",
|
||||
"konnect.goodbye.confirm.subHeader": "कृपया साइन आउट की पुष्टि करें",
|
||||
"konnect.goodbye.message.confirm": "अपने Kopano खाते से साइन आउट करने के लिए नीचे दिए गए बटन को दबाएं.",
|
||||
"konnect.goodbye.signoutButton.label": "साइन आउट",
|
||||
"konnect.welcome.signoutButton.label": "साइन आउट",
|
||||
"konnect.chooseaccount.headline": "खाता चुनें",
|
||||
"konnect.chooseaccount.subHeader": "Kopano में साइन इन करने के लिए",
|
||||
"konnect.chooseaccount.useOther.persona.label": "?",
|
||||
"konnect.chooseaccount.useOther.label": "दूसरे खाते का उपयोग करें",
|
||||
"konnect.consent.headline": "नमस्ते {displayName}",
|
||||
"konnect.consent.message": "{clientDisplayName} चाहते है की",
|
||||
"konnect.consent.tooltip.client": "\"अनुमति\" पर क्लिक करने से आपको {redirecturI} पे पुनर्निर्देशित किया जायेगा",
|
||||
"konnect.consent.question": "क्या {clientDisplayName} को ये करने की अनुमति देना चाहते है?",
|
||||
"konnect.consent.consequence": "अनुमति पर क्लिक करके, आप इस एप्लिकेशन को आपकी जानकारी का उपयोग करने की अनुमति देते हैं.",
|
||||
"konnect.consent.cancelButton.label": "रद्द करें",
|
||||
"konnect.consent.allowButton.label": "अनुमति दीजिये",
|
||||
"konnect.login.headline": "साइन इन",
|
||||
"konnect.login.subHeader": "अपने Kopano खाते के साथ",
|
||||
"konnect.login.usernameField.label": "उपयोगकर्ता नाम",
|
||||
"konnect.login.passwordField.label": "पासवर्ड",
|
||||
"konnect.login.nextButton.label": "अगला",
|
||||
"konnect.welcome.headline": "स्वागत हे {displayName}",
|
||||
"konnect.welcome.message": "आप साइंड इन हैं - अद्भुत!",
|
||||
"konnect.error.login.validate.missingUsername": "उपयोगकर्ता नाम डालिये",
|
||||
"konnect.error.login.validate.missingPassword": "पासवर्ड डालिए",
|
||||
"konnect.error.login.failed": "लोगऑन नाकाम रहा. कृपया अपने क्रेडेंशियल्स जांचे और पुनः प्रयास करें.",
|
||||
"konnet.error.http.networkError": "नेटवर्क त्रुटि। कृपया अपने संपर्क की जांच करे और फिर से प्रयास करें.",
|
||||
"konnect.error.http.unexpectedResponseStatus": "अनपेक्षित HTTP प्रतिक्रिया: {status}. कृपया अपने संपर्क की जांच करे और फिर से प्रयास करें.",
|
||||
"konnect.error.http.unexpectedResponseState": "अनपेक्षित प्रतिक्रिया अवस्था: {state}"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"konnect.loading.error.headline": "",
|
||||
"konnect.login.retryButton.label": "",
|
||||
"konnect.scopeDescription.aliasBasic": "",
|
||||
"konnect.scopeDescription.offlineAccess": "",
|
||||
"konnect.scopeDescription.scope": "",
|
||||
"konnect.goodbye.headline": "",
|
||||
"konnect.goodbye.subHeader": "",
|
||||
"konnect.goodbye.message.close": "",
|
||||
"konnect.goodbye.confirm.headline": "",
|
||||
"konnect.goodbye.confirm.subHeader": "",
|
||||
"konnect.goodbye.message.confirm": "",
|
||||
"konnect.goodbye.signoutButton.label": "",
|
||||
"konnect.welcome.signoutButton.label": "",
|
||||
"konnect.chooseaccount.headline": "",
|
||||
"konnect.chooseaccount.subHeader": "",
|
||||
"konnect.chooseaccount.useOther.persona.label": "",
|
||||
"konnect.chooseaccount.useOther.label": "",
|
||||
"konnect.consent.headline": "",
|
||||
"konnect.consent.message": "",
|
||||
"konnect.consent.tooltip.client": "",
|
||||
"konnect.consent.question": "",
|
||||
"konnect.consent.consequence": "",
|
||||
"konnect.consent.cancelButton.label": "",
|
||||
"konnect.consent.allowButton.label": "",
|
||||
"konnect.login.headline": "",
|
||||
"konnect.login.subHeader": "",
|
||||
"konnect.login.usernameField.label": "",
|
||||
"konnect.login.passwordField.label": "",
|
||||
"konnect.login.nextButton.label": "",
|
||||
"konnect.welcome.headline": "",
|
||||
"konnect.welcome.message": "",
|
||||
"konnect.error.login.validate.missingUsername": "",
|
||||
"konnect.error.login.validate.missingPassword": "",
|
||||
"konnect.error.login.failed": "",
|
||||
"konnet.error.http.networkError": "",
|
||||
"konnect.error.http.unexpectedResponseStatus": "",
|
||||
"konnect.error.http.unexpectedResponseState": ""
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"konnect.loading.error.headline": "",
|
||||
"konnect.login.retryButton.label": "",
|
||||
"konnect.scopeDescription.aliasBasic": "",
|
||||
"konnect.scopeDescription.offlineAccess": "",
|
||||
"konnect.scopeDescription.scope": "",
|
||||
"konnect.goodbye.headline": "",
|
||||
"konnect.goodbye.subHeader": "",
|
||||
"konnect.goodbye.message.close": "",
|
||||
"konnect.goodbye.confirm.headline": "",
|
||||
"konnect.goodbye.confirm.subHeader": "",
|
||||
"konnect.goodbye.message.confirm": "",
|
||||
"konnect.goodbye.signoutButton.label": "",
|
||||
"konnect.welcome.signoutButton.label": "",
|
||||
"konnect.chooseaccount.headline": "",
|
||||
"konnect.chooseaccount.subHeader": "",
|
||||
"konnect.chooseaccount.useOther.persona.label": "",
|
||||
"konnect.chooseaccount.useOther.label": "",
|
||||
"konnect.consent.headline": "",
|
||||
"konnect.consent.message": "",
|
||||
"konnect.consent.tooltip.client": "",
|
||||
"konnect.consent.question": "",
|
||||
"konnect.consent.consequence": "",
|
||||
"konnect.consent.cancelButton.label": "",
|
||||
"konnect.consent.allowButton.label": "",
|
||||
"konnect.login.headline": "",
|
||||
"konnect.login.subHeader": "",
|
||||
"konnect.login.usernameField.label": "",
|
||||
"konnect.login.passwordField.label": "",
|
||||
"konnect.login.nextButton.label": "",
|
||||
"konnect.welcome.headline": "",
|
||||
"konnect.welcome.message": "",
|
||||
"konnect.error.login.validate.missingUsername": "",
|
||||
"konnect.error.login.validate.missingPassword": "",
|
||||
"konnect.error.login.failed": "",
|
||||
"konnet.error.http.networkError": "",
|
||||
"konnect.error.http.unexpectedResponseStatus": "",
|
||||
"konnect.error.http.unexpectedResponseState": ""
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
// NOTE(longsleep): This loads all translation files to be included in the
|
||||
// app bundle. They are not that large.
|
||||
|
||||
// Please keep imports and exports alphabetically sorted.
|
||||
import de from './de.json';
|
||||
import fr from './fr.json';
|
||||
import hi from './hi.json';
|
||||
import is from './is.json';
|
||||
import nb from './nb.json';
|
||||
import nl from './nl.json';
|
||||
import ptPT from './pt_PT.json';
|
||||
import ru from './ru.json';
|
||||
|
||||
function enableLocales(locales, enabled) {
|
||||
if (process.env.NODE_ENV !== 'production') { // eslint-disable-line no-undef
|
||||
return locales;
|
||||
}
|
||||
return enabled.reduce(function(value, locale) {
|
||||
value[locale] = locales[locale];
|
||||
return value;
|
||||
}, {});
|
||||
}
|
||||
|
||||
// Locales must follow BCP 47 format (https://tools.ietf.org/html/rfc5646).
|
||||
const locales = enableLocales({
|
||||
de,
|
||||
'en-GB': {},
|
||||
'en-US': {},
|
||||
fr,
|
||||
hi,
|
||||
is,
|
||||
nb,
|
||||
nl,
|
||||
'pt-PT': ptPT,
|
||||
ru
|
||||
}, [
|
||||
// List of enabled languages in production builds.
|
||||
'de',
|
||||
'en-GB',
|
||||
'en-US',
|
||||
'fr',
|
||||
'hi',
|
||||
'is',
|
||||
'nb',
|
||||
'nl',
|
||||
'pt-PT',
|
||||
'ru'
|
||||
]);
|
||||
|
||||
export default locales;
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"konnect.loading.error.headline": "Mistókst að tengjast netþjóni",
|
||||
"konnect.login.retryButton.label": "Reyna aftur",
|
||||
"konnect.scopeDescription.aliasBasic": "Komast í grunnupplýsingar um þig",
|
||||
"konnect.scopeDescription.offlineAccess": "Viðhalda heimildunum alltaf og að eilífu (mundu mig)",
|
||||
"konnect.scopeDescription.scope": "Gildissvið: {scope}",
|
||||
"konnect.goodbye.headline": "Bless",
|
||||
"konnect.goodbye.subHeader": "útskráning Kopano-aðgangsins þíns tókst",
|
||||
"konnect.goodbye.message.close": "Þú getur lokað þessum glugga núna.",
|
||||
"konnect.goodbye.confirm.headline": "Halló {displayName}",
|
||||
"konnect.goodbye.confirm.subHeader": "vinsamlegast staðfestu útskráningu",
|
||||
"konnect.goodbye.message.confirm": "Smelltu á takkann fyrir neðan til að skrá þig út af Kopano aðganginum núna.",
|
||||
"konnect.goodbye.signoutButton.label": "Útskrá",
|
||||
"konnect.welcome.signoutButton.label": "Útskrá",
|
||||
"konnect.chooseaccount.headline": "Veldu aðgang",
|
||||
"konnect.chooseaccount.subHeader": "til að skrá þig inn í Kopano",
|
||||
"konnect.chooseaccount.useOther.persona.label": "?",
|
||||
"konnect.chooseaccount.useOther.label": "Nota annan aðgang",
|
||||
"konnect.consent.headline": "Hæ {displayName}",
|
||||
"konnect.consent.message": "{clientDisplayName} vill",
|
||||
"konnect.consent.tooltip.client": "Þegar þú smellir á \"Leyfa\" áframsendist þú á: {redirectURI}",
|
||||
"konnect.consent.question": "Leyfa {clientDisplayName} að gera þetta?",
|
||||
"konnect.consent.consequence": "Með því að smella á \"Leyfa\", leyfir þú þessu forriti að nota upplýsingarnar um þig.",
|
||||
"konnect.consent.cancelButton.label": "Hætta við",
|
||||
"konnect.consent.allowButton.label": "Leyfa",
|
||||
"konnect.login.headline": "Innskrá",
|
||||
"konnect.login.subHeader": "með Kopano-aðganginum þínum",
|
||||
"konnect.login.usernameField.label": "Notandanafn",
|
||||
"konnect.login.passwordField.label": "Lykilorð",
|
||||
"konnect.login.nextButton.label": "Næsta",
|
||||
"konnect.welcome.headline": "Halló {displayName}",
|
||||
"konnect.welcome.message": "Innskráningin tókst - frábært!",
|
||||
"konnect.error.login.validate.missingUsername": "Sláðu inn notandanafn",
|
||||
"konnect.error.login.validate.missingPassword": "Sláðu inn lykilorð",
|
||||
"konnect.error.login.failed": "Innskráning mistókst. Vinsamlegast staðfestu notandaupplýsingarnar og reyndu aftur.",
|
||||
"konnet.error.http.networkError": "Netvilla. Vinsamlegast athugaðu tenginguna þína og reyndu aftur.",
|
||||
"konnect.error.http.unexpectedResponseStatus": "Ófyrirsjáanlegt HTTP svar: {status}. Vinsamlegast athugaðu tenginguna þína og reyndu aftur.",
|
||||
"konnect.error.http.unexpectedResponseState": "Ófyrirsjáanleg svarstaða: {state}"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"konnect.loading.error.headline": "",
|
||||
"konnect.login.retryButton.label": "",
|
||||
"konnect.scopeDescription.aliasBasic": "",
|
||||
"konnect.scopeDescription.offlineAccess": "",
|
||||
"konnect.scopeDescription.scope": "",
|
||||
"konnect.goodbye.headline": "",
|
||||
"konnect.goodbye.subHeader": "",
|
||||
"konnect.goodbye.message.close": "",
|
||||
"konnect.goodbye.confirm.headline": "",
|
||||
"konnect.goodbye.confirm.subHeader": "",
|
||||
"konnect.goodbye.message.confirm": "",
|
||||
"konnect.goodbye.signoutButton.label": "",
|
||||
"konnect.welcome.signoutButton.label": "",
|
||||
"konnect.chooseaccount.headline": "",
|
||||
"konnect.chooseaccount.subHeader": "",
|
||||
"konnect.chooseaccount.useOther.persona.label": "",
|
||||
"konnect.chooseaccount.useOther.label": "",
|
||||
"konnect.consent.headline": "",
|
||||
"konnect.consent.message": "",
|
||||
"konnect.consent.tooltip.client": "",
|
||||
"konnect.consent.question": "",
|
||||
"konnect.consent.consequence": "",
|
||||
"konnect.consent.cancelButton.label": "",
|
||||
"konnect.consent.allowButton.label": "",
|
||||
"konnect.login.headline": "",
|
||||
"konnect.login.subHeader": "",
|
||||
"konnect.login.usernameField.label": "",
|
||||
"konnect.login.passwordField.label": "",
|
||||
"konnect.login.nextButton.label": "",
|
||||
"konnect.welcome.headline": "",
|
||||
"konnect.welcome.message": "",
|
||||
"konnect.error.login.validate.missingUsername": "",
|
||||
"konnect.error.login.validate.missingPassword": "",
|
||||
"konnect.error.login.failed": "",
|
||||
"konnet.error.http.networkError": "",
|
||||
"konnect.error.http.unexpectedResponseStatus": "",
|
||||
"konnect.error.http.unexpectedResponseState": ""
|
||||
}
|
||||