👽 Vérifie que tous les éléments d'ui sont traduits
Tous les éléments à traduire (via la balise <Trans> ou la fonction 't') sont analysé statiquement. Si il manque une traduction, la PR est bloquée Ajoute un script de traduction automatique via `yarn run i18n:ui:translate` Met à jour CONTRIBUTING.md avec les infos sur la traductionpull/855/head
parent
829ac4aa6f
commit
d74b625be3
|
@ -92,3 +92,35 @@ Enfin pour les tests d'intégration :
|
|||
```sh
|
||||
$ yarn run test-cypress
|
||||
```
|
||||
|
||||
### Traduction 👽
|
||||
|
||||
Le site est disponible en français, et en anglais sur https://mycompanyinfrance.com
|
||||
|
||||
Les traductions de la base de règle se trouvent dans
|
||||
`source/règles/externalized.yaml`. Celles de l'Ui sont dans le fichier
|
||||
`source/locales/en.yaml`
|
||||
|
||||
La librairie utilisée pour la traduction de l'Ui est
|
||||
[react-i18next](https://react.i18next.com/).
|
||||
|
||||
Lorsque l'on introduit une nouvelle chaîne de caractère dans l'UI il faut
|
||||
systématiquement penser à gérer sa traduction, via un composant `<Trans>`, ou
|
||||
via la fonction `t`
|
||||
|
||||
Le circle-ci fait une analyse statique du code pour repérer les chaînes non
|
||||
traduites, dans le moteur et l'UI :
|
||||
|
||||
```sh
|
||||
$ yarn run i18n:rules:check
|
||||
$ yarn run i18n:ui:check
|
||||
```
|
||||
|
||||
Pour traduire automatiquement les chaînes manquantes via l'api deepl :
|
||||
|
||||
```sh
|
||||
$ yarn run i18n:rules:translate
|
||||
$ yarn run i18n:ui:translate
|
||||
```
|
||||
|
||||
N'oubliez pas de vérifier le diff que rien n'est choquant.
|
||||
|
|
|
@ -42,8 +42,8 @@ jobs:
|
|||
- image: node
|
||||
steps:
|
||||
- install
|
||||
- run: |
|
||||
yarn run i18n:check-rules
|
||||
- run: yarn run i18n:rules:check
|
||||
- run: yarn run i18n:ui:check
|
||||
unit-test:
|
||||
docker:
|
||||
- image: node
|
||||
|
|
|
@ -4,7 +4,7 @@ module.exports = {
|
|||
contextSeparator: '_',
|
||||
// Key separator used in your translation keys
|
||||
|
||||
createOldCatalogs: true,
|
||||
createOldCatalogs: false,
|
||||
// Save the \_old files
|
||||
|
||||
defaultNamespace: 'translation',
|
||||
|
@ -19,7 +19,7 @@ module.exports = {
|
|||
keepRemoved: false,
|
||||
// Keep keys from the catalog that are no longer in code
|
||||
|
||||
keySeparator: '.',
|
||||
keySeparator: false,
|
||||
// Key separator used in your translation keys
|
||||
// If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance.
|
||||
|
||||
|
@ -43,19 +43,19 @@ module.exports = {
|
|||
lineEnding: 'auto',
|
||||
// Control the line ending. See options at https://github.com/ryanve/eol
|
||||
|
||||
locales: ['en', 'fr'],
|
||||
locales: ['fr'],
|
||||
// An array of the locales in your applications
|
||||
|
||||
namespaceSeparator: ':',
|
||||
namespaceSeparator: false,
|
||||
// Namespace separator used in your translation keys
|
||||
// If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance.
|
||||
|
||||
output: 'locales/$LOCALE.yaml',
|
||||
output: 'source/locales/static-analysis-$LOCALE.json',
|
||||
// Supports $LOCALE and $NAMESPACE injection
|
||||
// Supports JSON (.json) and YAML (.yml) file formats
|
||||
// Where to write the locale files relative to process.cwd()
|
||||
|
||||
input: undefined,
|
||||
input: './source/**/*.{jsx,tsx,js,ts}',
|
||||
// An array of globs that describe where to look for source files
|
||||
// relative to the location of the configuration file
|
||||
|
||||
|
@ -63,7 +63,7 @@ module.exports = {
|
|||
// For react file, extract the defaultNamespace - https://react.i18next.com/components/translate-hoc.html
|
||||
// Ignored when parsing a `.jsx` file and namespace is extracted from that file.
|
||||
|
||||
sort: false,
|
||||
sort: true,
|
||||
// Whether or not to sort the catalog
|
||||
|
||||
useKeysAsDefaultValue: false,
|
||||
|
|
|
@ -89,8 +89,10 @@
|
|||
"type-check": "tsc --noEmit",
|
||||
"compile-lib": "yarn webpack --config source/webpack.lib.js",
|
||||
"compile-dev": "FR_SITE='http://localhost:5000${path}' EN_SITE='http://localhost:5001${path}' yarn run compile",
|
||||
"i18n:check-rules": "node source/scripts/check-missing-translation.js",
|
||||
"i18n:translate-rules": "node source/scripts/automatic-translate.js",
|
||||
"i18n:rules:check": "node source/scripts/i18n/check-missing-rule-translation.js",
|
||||
"i18n:rules:translate": "node source/scripts/i18n/translate-rules.js",
|
||||
"i18n:ui:check": "yarn run i18next && node source/scripts/i18n/check-missing-UI-translation",
|
||||
"i18n:ui:translate": "yarn run i18next && node source/scripts/i18n/translate-ui.js",
|
||||
"mon-entreprise:serve": "PORT=5000 serve --config serve.mon-entreprise.json --no-clipboard",
|
||||
"mon-entreprise:test": "cypress open --browser chromium",
|
||||
"mycompanyinfrance:serve": "PORT=5001 serve --config serve.infrance.json --no-clipboard",
|
||||
|
@ -151,6 +153,7 @@
|
|||
"html-loader": "^0.5.5",
|
||||
"html-webpack-plugin": "^3.2.0",
|
||||
"http-server": "^0.11.1",
|
||||
"i18next-parser": "https://github.com/i18next/i18next-parser#master",
|
||||
"intl": "^1.2.5",
|
||||
"intl-locales-supported": "^1.0.0",
|
||||
"isomorphic-fetch": "^2.2.1",
|
||||
|
|
|
@ -28,10 +28,10 @@ export default function Search() {
|
|||
return (
|
||||
<>
|
||||
<h1>
|
||||
<Trans key="trouver.titre">Retrouver mon entreprise</Trans>
|
||||
<Trans i18nKey="trouver.titre">Retrouver mon entreprise</Trans>
|
||||
</h1>
|
||||
<p>
|
||||
<Trans key="trouver.description">
|
||||
<Trans i18nKey="trouver.description">
|
||||
Grâce à la base SIREN, les données publiques sur votre entreprise
|
||||
seront automatiquement disponibles pour la suite du parcours sur le
|
||||
site.
|
||||
|
|
|
@ -24,11 +24,11 @@ export default function Newsletter() {
|
|||
<>
|
||||
{' '}
|
||||
<h2>
|
||||
<Trans key="newsletter.register.titre">Restez informé</Trans>
|
||||
<Trans i18nKey="newsletter.register.titre">Restez informé</Trans>
|
||||
</h2>
|
||||
<div className="footer__newsletterContainer">
|
||||
<p>
|
||||
<Trans key="newsletter.register.description">
|
||||
<Trans i18nKey="newsletter.register.description">
|
||||
Inscrivez-vous à notre newsletter mensuelle pour recevoir des{' '}
|
||||
<strong>conseils officiels sur la création d’entreprise</strong> et
|
||||
accéder aux nouvelles fonctionnalités en avant-première.
|
||||
|
|
|
@ -4,10 +4,7 @@ import React from 'react'
|
|||
import { Trans } from 'react-i18next'
|
||||
import { useDispatch, useSelector } from 'react-redux'
|
||||
import { RootState } from 'Reducers/rootReducer'
|
||||
import {
|
||||
currentQuestionSelector,
|
||||
nextStepsSelector
|
||||
} from 'Selectors/analyseSelectors'
|
||||
import { currentQuestionSelector, nextStepsSelector } from 'Selectors/analyseSelectors'
|
||||
import { DottedName } from 'Types/rule'
|
||||
|
||||
export default function QuickLinks() {
|
||||
|
@ -46,7 +43,7 @@ export default function QuickLinks() {
|
|||
css="margin: 0 0.4rem !important"
|
||||
onClick={() => dispatch(goToQuestion(dottedName))}
|
||||
>
|
||||
<Trans key={'quicklinks.' + label}>{label}</Trans>
|
||||
<Trans i18nKey={'quicklinks.' + label}>{label}</Trans>
|
||||
</button>
|
||||
))}{' '}
|
||||
{/* <button className="ui__ link-button">Voir la liste</button> */}
|
||||
|
|
|
@ -14,14 +14,16 @@ export default () => (
|
|||
}}
|
||||
>
|
||||
<p>
|
||||
<Trans key="404.message">Cette page n'existe pas ou n'existe plus</Trans>
|
||||
<Trans i18nKey="404.message">
|
||||
Cette page n'existe pas ou n'existe plus
|
||||
</Trans>
|
||||
{emoji(' 🙅')}
|
||||
</p>
|
||||
<Link to="/">
|
||||
{/* TODO: credits for the image to add: https://thenounproject.com/term/treasure-map/96666/ */}
|
||||
<img style={{ margin: '3%' }} width="100%" src={image} />
|
||||
<em>
|
||||
<Trans key="404.action">Revenir en lieu sûr</Trans>
|
||||
<Trans i18nKey="404.action">Revenir en lieu sûr</Trans>
|
||||
</em>
|
||||
</Link>
|
||||
</div>
|
||||
|
|
|
@ -103,7 +103,7 @@ function RevenueRepatitionSection() {
|
|||
return (
|
||||
<section>
|
||||
<h2>
|
||||
<Trans key="payslip.repartition">Répartition du total chargé</Trans>
|
||||
<Trans i18nKey="payslip.repartition">Répartition du total chargé</Trans>
|
||||
</h2>
|
||||
<StackedBarChart
|
||||
data={[
|
||||
|
@ -112,7 +112,11 @@ function RevenueRepatitionSection() {
|
|||
title: t('Revenu disponible'),
|
||||
color: palettes[0][0]
|
||||
},
|
||||
{ ...getRule('impôt'), title: t('Impôts'), color: palettes[1][0] },
|
||||
{
|
||||
...getRule('impôt'),
|
||||
title: t('quicklinks.Impôt'),
|
||||
color: palettes[1][0]
|
||||
},
|
||||
{
|
||||
...getRule('contrat salarié . cotisations'),
|
||||
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
import { setSimulationConfig, setSituationBranch } from 'Actions/actions'
|
||||
import {
|
||||
defineDirectorStatus,
|
||||
isAutoentrepreneur
|
||||
} from 'Actions/companyStatusActions'
|
||||
import { defineDirectorStatus, isAutoentrepreneur } from 'Actions/companyStatusActions'
|
||||
import classnames from 'classnames'
|
||||
import Conversation from 'Components/conversation/Conversation'
|
||||
import SeeAnswersButton from 'Components/conversation/SeeAnswersButton'
|
||||
|
@ -18,10 +15,7 @@ import { Trans } from 'react-i18next'
|
|||
import { useDispatch, useSelector } from 'react-redux'
|
||||
import { Link } from 'react-router-dom'
|
||||
import { RootState } from 'Reducers/rootReducer'
|
||||
import {
|
||||
analysisWithDefaultsSelector,
|
||||
branchAnalyseSelector
|
||||
} from 'Selectors/analyseSelectors'
|
||||
import { analysisWithDefaultsSelector, branchAnalyseSelector } from 'Selectors/analyseSelectors'
|
||||
import { DottedName } from 'Types/rule'
|
||||
import Animate from 'Ui/animate'
|
||||
import InfoBulle from 'Ui/InfoBulle'
|
||||
|
@ -77,7 +71,7 @@ export default function SchemeComparaison({
|
|||
<h2 className="AS">
|
||||
{emoji('☂')} <Trans>Assimilé salarié</Trans>
|
||||
<small>
|
||||
<Trans key="comparaisonRégimes.AS.tagline">
|
||||
<Trans i18nKey="comparaisonRégimes.AS.tagline">
|
||||
Le régime tout compris
|
||||
</Trans>
|
||||
</small>
|
||||
|
@ -90,7 +84,7 @@ export default function SchemeComparaison({
|
|||
<Trans>Indépendant</Trans>
|
||||
)}
|
||||
<small>
|
||||
<Trans key="comparaisonRégimes.indep.tagline">
|
||||
<Trans i18nKey="comparaisonRégimes.indep.tagline">
|
||||
La protection sociale à la carte
|
||||
</Trans>
|
||||
</small>
|
||||
|
@ -98,20 +92,20 @@ export default function SchemeComparaison({
|
|||
<h2 className="auto">
|
||||
{emoji('🚶♂️')} <Trans>Auto-entrepreneur</Trans>
|
||||
<small>
|
||||
<Trans key="comparaisonRégimes.auto.tagline">
|
||||
<Trans i18nKey="comparaisonRégimes.auto.tagline">
|
||||
Pour commencer sans risques
|
||||
</Trans>
|
||||
</small>
|
||||
</h2>
|
||||
|
||||
<h3 className="legend">
|
||||
<Trans key="comparaisonRégimes.status.legend">
|
||||
<Trans i18nKey="comparaisonRégimes.status.legend">
|
||||
Statuts juridiques possibles
|
||||
</Trans>
|
||||
</h3>
|
||||
<div className="AS">
|
||||
<div>
|
||||
<Trans key="comparaisonRégimes.status.AS">
|
||||
<Trans i18nKey="comparaisonRégimes.status.AS">
|
||||
SAS, SASU ou SARL avec gérant minoritaire
|
||||
</Trans>
|
||||
</div>
|
||||
|
@ -119,19 +113,19 @@ export default function SchemeComparaison({
|
|||
<div className="indep">
|
||||
<div>
|
||||
{hideAssimiléSalarié ? (
|
||||
<Trans key="comparaisonRégimes.status.indep.2">EI ou EIRL</Trans>
|
||||
<Trans i18nKey="comparaisonRégimes.status.indep.2">EI ou EIRL</Trans>
|
||||
) : (
|
||||
<Trans key="comparaisonRégimes.status.indep.1">
|
||||
<Trans i18nKey="comparaisonRégimes.status.indep.1">
|
||||
EI, EIRL, EURL ou SARL avec gérant majoritaire
|
||||
</Trans>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
<div className="auto">
|
||||
<Trans key="comparaisonRégimes.status.auto">Auto-entreprise</Trans>
|
||||
<Trans i18nKey="comparaisonRégimes.status.auto">Auto-entreprise</Trans>
|
||||
</div>
|
||||
|
||||
<Trans key="comparaisonRégimes.AT">
|
||||
<Trans i18nKey="comparaisonRégimes.AT">
|
||||
<h3 className="legend">Couverture accidents du travail</h3>
|
||||
</Trans>
|
||||
<div className="AS">
|
||||
|
@ -142,14 +136,14 @@ export default function SchemeComparaison({
|
|||
<div className="indep-et-auto">
|
||||
<Trans>Non</Trans>
|
||||
</div>
|
||||
<Trans key="comparaisonRégimes.assuranceMaladie">
|
||||
<Trans i18nKey="comparaisonRégimes.assuranceMaladie">
|
||||
<h3 className="legend">
|
||||
Assurance maladie{' '}
|
||||
<small>(médicaments, soins, hospitalisations)</small>
|
||||
</h3>
|
||||
<div className="AS-indep-et-auto">Identique pour tous</div>
|
||||
</Trans>
|
||||
<Trans key="comparaisonRégimes.mutuelle">
|
||||
<Trans i18nKey="comparaisonRégimes.mutuelle">
|
||||
<h3 className="legend">
|
||||
Mutuelle santé
|
||||
<small />
|
||||
|
@ -158,13 +152,13 @@ export default function SchemeComparaison({
|
|||
<div className="indep-et-auto">Fortement conseillée</div>
|
||||
</Trans>
|
||||
|
||||
<Trans key="comparaisonRégimes.indemnités">
|
||||
<Trans i18nKey="comparaisonRégimes.indemnités">
|
||||
<h3 className="legend">Indemnités journalières</h3>
|
||||
</Trans>
|
||||
<div className="green AS">++</div>
|
||||
<div className="green indep">++</div>
|
||||
<div className="green auto">+</div>
|
||||
<Trans key="comparaisonRégimes.retraite">
|
||||
<Trans i18nKey="comparaisonRégimes.retraite">
|
||||
<h3 className="legend">Retraite</h3>
|
||||
</Trans>
|
||||
<div className="green AS">+++</div>
|
||||
|
@ -173,13 +167,13 @@ export default function SchemeComparaison({
|
|||
|
||||
{showMore ? (
|
||||
<>
|
||||
<Trans key="comparaisonRégimes.ACRE">
|
||||
<Trans i18nKey="comparaisonRégimes.ACRE">
|
||||
<h3 className="legend">ACRE</h3>
|
||||
<div className="all">
|
||||
1 an <small>(sous conditions d'éligibilité)</small>
|
||||
</div>
|
||||
</Trans>
|
||||
<Trans key="comparaisonRégimes.déduction">
|
||||
<Trans i18nKey="comparaisonRégimes.déduction">
|
||||
<h3 className="legend">Déduction des charges</h3>
|
||||
<div className="AS-et-indep">
|
||||
Oui <small>(régime fiscal du réel)</small>
|
||||
|
@ -193,7 +187,7 @@ export default function SchemeComparaison({
|
|||
</div>
|
||||
</Trans>
|
||||
|
||||
<Trans key="comparaisonRégimes.cotisations">
|
||||
<Trans i18nKey="comparaisonRégimes.cotisations">
|
||||
<h3 className="legend">Paiement des cotisations</h3>
|
||||
<div className="AS">Mensuel</div>
|
||||
<div className="indep">
|
||||
|
@ -204,7 +198,7 @@ export default function SchemeComparaison({
|
|||
</div>
|
||||
<div className="auto">Mensuel ou trimestriel</div>
|
||||
</Trans>
|
||||
<Trans key="comparaisonRégimes.complémentaireDeductible">
|
||||
<Trans i18nKey="comparaisonRégimes.complémentaireDeductible">
|
||||
<h3 className="legend">
|
||||
Contrats prévoyance et retraite facultatives déductibles
|
||||
</h3>
|
||||
|
@ -218,7 +212,7 @@ export default function SchemeComparaison({
|
|||
<div className="auto">
|
||||
<Trans>Non</Trans>
|
||||
</div>
|
||||
<Trans key="comparaisonRégimes.cotisationMinimale">
|
||||
<Trans i18nKey="comparaisonRégimes.cotisationMinimale">
|
||||
<h3 className="legend">Paiement de cotisations minimales</h3>
|
||||
</Trans>
|
||||
<div className="AS">
|
||||
|
@ -230,7 +224,7 @@ export default function SchemeComparaison({
|
|||
<div className="auto">
|
||||
<Trans>Non</Trans>
|
||||
</div>
|
||||
<Trans key="comparaisonRégimes.seuil">
|
||||
<Trans i18nKey="comparaisonRégimes.seuil">
|
||||
<h3 className="legend">
|
||||
Revenu minimum pour l'ouverture des droits aux prestations
|
||||
</h3>
|
||||
|
@ -241,7 +235,7 @@ export default function SchemeComparaison({
|
|||
<div className="auto">Oui</div>
|
||||
</Trans>
|
||||
{!hideAutoEntrepreneur && (
|
||||
<Trans key="comparaisonRégimes.plafondCA">
|
||||
<Trans i18nKey="comparaisonRégimes.plafondCA">
|
||||
<h3 className="legend">Plafond de chiffre d'affaires</h3>
|
||||
<div className="AS-et-indep">
|
||||
<Trans>Non</Trans>
|
||||
|
@ -255,7 +249,7 @@ export default function SchemeComparaison({
|
|||
</div>
|
||||
</Trans>
|
||||
)}
|
||||
<Trans key="comparaisonRégimes.comptabilité">
|
||||
<Trans i18nKey="comparaisonRégimes.comptabilité">
|
||||
<h3 className="legend">
|
||||
Gestion comptable, sociale, juridique...
|
||||
</h3>
|
||||
|
@ -273,7 +267,7 @@ export default function SchemeComparaison({
|
|||
</Trans>
|
||||
</>
|
||||
) : (
|
||||
<Trans key="comparaisonRégimes.comparaisonDétaillée">
|
||||
<Trans i18nKey="comparaisonRégimes.comparaisonDétaillée">
|
||||
<div className="all">
|
||||
<button
|
||||
onClick={() => setShowMore(true)}
|
||||
|
@ -286,7 +280,7 @@ export default function SchemeComparaison({
|
|||
)}
|
||||
{conversationStarted && (
|
||||
<>
|
||||
<Trans key="comparaisonRégimes.période">
|
||||
<Trans i18nKey="comparaisonRégimes.période">
|
||||
<h3 className="legend">Unité</h3>
|
||||
</Trans>
|
||||
<div className="AS-indep-et-auto" style={{ alignSelf: 'start' }}>
|
||||
|
@ -297,7 +291,7 @@ export default function SchemeComparaison({
|
|||
<div className="all colored">
|
||||
{!conversationStarted ? (
|
||||
<>
|
||||
<Trans key="comparaisonRégimes.simulationText">
|
||||
<Trans i18nKey="comparaisonRégimes.simulationText">
|
||||
<h3>
|
||||
Comparer mes revenus, pension de retraite et indemnité maladie
|
||||
</h3>
|
||||
|
@ -320,7 +314,7 @@ export default function SchemeComparaison({
|
|||
{conversationStarted &&
|
||||
!!getRule('assimilé', 'revenu net après impôt')?.nodeValue && (
|
||||
<>
|
||||
<Trans key="comparaisonRégimes.revenuNetApresImpot">
|
||||
<Trans i18nKey="comparaisonRégimes.revenuNetApresImpot">
|
||||
<h3 className="legend">Revenu net après impôt</h3>
|
||||
</Trans>
|
||||
<div className="AS">
|
||||
|
@ -356,7 +350,7 @@ export default function SchemeComparaison({
|
|||
)}
|
||||
</Animate.appear>
|
||||
</div>
|
||||
<Trans key="comparaisonRégimes.revenuNetAvantImpot">
|
||||
<Trans i18nKey="comparaisonRégimes.revenuNetAvantImpot">
|
||||
<h3 className="legend">
|
||||
Revenu net de cotisations <small>(avant impôts)</small>
|
||||
</h3>
|
||||
|
@ -384,7 +378,7 @@ export default function SchemeComparaison({
|
|||
)}
|
||||
</div>
|
||||
<h3 className="legend">
|
||||
<Trans key="comparaisonRégimes.retraiteEstimation.legend">
|
||||
<Trans i18nKey="comparaisonRégimes.retraiteEstimation.legend">
|
||||
<span>Pension de retraite</span>
|
||||
<small>(avant impôts)</small>
|
||||
</Trans>
|
||||
|
@ -396,7 +390,7 @@ export default function SchemeComparaison({
|
|||
rule="protection sociale . retraite"
|
||||
/>{' '}
|
||||
<InfoBulle>
|
||||
<Trans key="comparaisonRégimes.retraiteEstimation.infobulles.AS">
|
||||
<Trans i18nKey="comparaisonRégimes.retraiteEstimation.infobulles.AS">
|
||||
Pension calculée pour 172 trimestres cotisés au régime
|
||||
général sans variations de revenus.
|
||||
</Trans>
|
||||
|
@ -412,7 +406,7 @@ export default function SchemeComparaison({
|
|||
rule="protection sociale . retraite"
|
||||
/>{' '}
|
||||
<InfoBulle>
|
||||
<Trans key="comparaisonRégimes.retraiteEstimation.infobulles.indep">
|
||||
<Trans i18nKey="comparaisonRégimes.retraiteEstimation.infobulles.indep">
|
||||
Pension calculée pour 172 trimestres cotisés au régime
|
||||
des indépendants sans variations de revenus.
|
||||
</Trans>
|
||||
|
@ -437,7 +431,7 @@ export default function SchemeComparaison({
|
|||
rule="protection sociale . retraite"
|
||||
/>{' '}
|
||||
<InfoBulle>
|
||||
<Trans key="comparaisonRégimes.retraiteEstimation.infobulles.auto">
|
||||
<Trans i18nKey="comparaisonRégimes.retraiteEstimation.infobulles.auto">
|
||||
Pension calculée pour 172 trimestres cotisés en
|
||||
auto-entrepreneur sans variations de revenus.
|
||||
</Trans>
|
||||
|
@ -449,7 +443,7 @@ export default function SchemeComparaison({
|
|||
</span>
|
||||
)}
|
||||
</div>
|
||||
<Trans key="comparaisonRégimes.trimestreValidés">
|
||||
<Trans i18nKey="comparaisonRégimes.trimestreValidés">
|
||||
<h3 className="legend">
|
||||
Nombre de trimestres validés <small>(pour la retraite)</small>
|
||||
</h3>
|
||||
|
@ -482,7 +476,7 @@ export default function SchemeComparaison({
|
|||
/>
|
||||
)}
|
||||
</div>
|
||||
<Trans key="comparaisonRégimes.indemnités">
|
||||
<Trans i18nKey="comparaisonRégimes.indemnités">
|
||||
<h3 className="legend">
|
||||
Indemnités journalières{' '}
|
||||
<small>(en cas d'arrêt maladie)</small>
|
||||
|
@ -559,7 +553,7 @@ export default function SchemeComparaison({
|
|||
<div className="ui__ container">
|
||||
<br />
|
||||
<h3>
|
||||
<Trans key="comparaisonRégimes.titreSelection">
|
||||
<Trans i18nKey="comparaisonRégimes.titreSelection">
|
||||
Créer mon entreprise en tant que :
|
||||
</Trans>
|
||||
</h3>
|
||||
|
@ -572,7 +566,7 @@ export default function SchemeComparaison({
|
|||
!hideAutoEntrepreneur && dispatch(isAutoentrepreneur(false))
|
||||
}}
|
||||
>
|
||||
<Trans key="comparaisonRégimes.choix.AS">
|
||||
<Trans i18nKey="comparaisonRégimes.choix.AS">
|
||||
Assimilé salarié
|
||||
</Trans>
|
||||
</button>
|
||||
|
@ -586,11 +580,11 @@ export default function SchemeComparaison({
|
|||
}}
|
||||
>
|
||||
{hideAssimiléSalarié ? (
|
||||
<Trans key="comparaisonRégimes.choix.EI">
|
||||
<Trans i18nKey="comparaisonRégimes.choix.EI">
|
||||
Entreprise individuelle
|
||||
</Trans>
|
||||
) : (
|
||||
<Trans key="comparaisonRégimes.choix.indep">Indépendant</Trans>
|
||||
<Trans i18nKey="comparaisonRégimes.choix.indep">Indépendant</Trans>
|
||||
)}
|
||||
</button>
|
||||
{!hideAutoEntrepreneur && (
|
||||
|
@ -602,7 +596,7 @@ export default function SchemeComparaison({
|
|||
dispatch(isAutoentrepreneur(true))
|
||||
}}
|
||||
>
|
||||
<Trans key="comparaisonRégimes.choix.auto">
|
||||
<Trans i18nKey="comparaisonRégimes.choix.auto">
|
||||
Auto-entrepreneur
|
||||
</Trans>
|
||||
</button>
|
||||
|
|
|
@ -25,14 +25,14 @@ export default function SimulateurWarning({
|
|||
<p>
|
||||
{emoji('🚩 ')}
|
||||
<strong>
|
||||
<Trans key="simulateurs.warning.titre">Avant de commencer...</Trans>
|
||||
<Trans i18nKey="simulateurs.warning.titre">Avant de commencer...</Trans>
|
||||
</strong>{' '}
|
||||
{folded && (
|
||||
<button
|
||||
className="ui__ button simple small"
|
||||
onClick={() => fold(false)}
|
||||
>
|
||||
<Trans key="simulateurs.warning.plus">Lire les précisions</Trans>
|
||||
<Trans i18nKey="simulateurs.warning.plus">Lire les précisions</Trans>
|
||||
</button>
|
||||
)}
|
||||
</p>
|
||||
|
@ -45,7 +45,7 @@ export default function SimulateurWarning({
|
|||
{simulateur == 'auto-entrepreneur' && (
|
||||
<>
|
||||
<li>
|
||||
<Trans key="simulateurs.warning.auto-entrepreneur">
|
||||
<Trans i18nKey="simulateurs.warning.auto-entrepreneur">
|
||||
{' '}
|
||||
Les auto-entrepreneurs ne peuvent pas déduire leurs charges
|
||||
de leur chiffre d'affaires. Il faut donc{' '}
|
||||
|
@ -56,7 +56,7 @@ export default function SimulateurWarning({
|
|||
</Trans>
|
||||
</li>
|
||||
<li>
|
||||
<Trans key="simulateurs.warning.cfe">
|
||||
<Trans i18nKey="simulateurs.warning.cfe">
|
||||
Le simulateur n'intègre pas la cotisation foncière des
|
||||
entreprise (CFE) qui est dûe dès la deuxième année
|
||||
d'exercice. Son montant varie fortement en fonction du
|
||||
|
@ -70,7 +70,7 @@ export default function SimulateurWarning({
|
|||
)}
|
||||
{simulateur !== 'artiste-auteur' && (
|
||||
<li>
|
||||
<Trans key="simulateurs.warning.urssaf">
|
||||
<Trans i18nKey="simulateurs.warning.urssaf">
|
||||
Les calculs sont indicatifs et ne se substituent pas aux
|
||||
décomptes réels des Urssaf, impots.gouv.fr, ou autres.
|
||||
</Trans>
|
||||
|
@ -80,7 +80,7 @@ export default function SimulateurWarning({
|
|||
{simulateur === 'artiste-auteur' && (
|
||||
<>
|
||||
<li>
|
||||
<Trans key="simulateurs.warning.artiste-auteur">
|
||||
<Trans i18nKey="simulateurs.warning.artiste-auteur">
|
||||
Cette estimation est proposée à titre indicatif. Elle est
|
||||
faite à partir des éléments réglementaires applicables et
|
||||
des éléments que vous avez saisis, mais elle ne tient pas
|
||||
|
@ -89,7 +89,7 @@ export default function SimulateurWarning({
|
|||
</Trans>
|
||||
</li>
|
||||
<li>
|
||||
<Trans key="simlateurs.warning.artiste-auteur">
|
||||
<Trans i18nKey="simlateurs.warning.artiste-auteur">
|
||||
Ce simulateur permet d'estimer le montant de vos cotisations
|
||||
pour l'année 2020 à partir de votre revenu projeté
|
||||
</Trans>
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
import Controls from 'Components/Controls'
|
||||
import Conversation, {
|
||||
ConversationProps
|
||||
} from 'Components/conversation/Conversation'
|
||||
import Conversation, { ConversationProps } from 'Components/conversation/Conversation'
|
||||
import SeeAnswersButton from 'Components/conversation/SeeAnswersButton'
|
||||
import PageFeedback from 'Components/Feedback/PageFeedback'
|
||||
import SearchButton from 'Components/SearchButton'
|
||||
|
@ -43,7 +41,7 @@ export default function Simulation({
|
|||
>
|
||||
{progress < 1 ? (
|
||||
<small css="padding: 0.4rem 0">
|
||||
<Trans key="simulateurs.précision.défaut">
|
||||
<Trans i18nKey="simulateurs.précision.défaut">
|
||||
Affinez la simulation en répondant aux questions :
|
||||
</Trans>
|
||||
</small>
|
||||
|
@ -64,7 +62,7 @@ export default function Simulation({
|
|||
<br />
|
||||
<PageFeedback
|
||||
customMessage={
|
||||
<Trans key="feedback.simulator">
|
||||
<Trans i18nKey="feedback.simulator">
|
||||
Êtes-vous satisfait de ce simulateur ?
|
||||
</Trans>
|
||||
}
|
||||
|
|
|
@ -1,24 +1,28 @@
|
|||
import { setActiveTarget, updateSituation } from 'Actions/actions';
|
||||
import InputSuggestions from 'Components/conversation/InputSuggestions';
|
||||
import PeriodSwitch from 'Components/PeriodSwitch';
|
||||
import RuleLink from 'Components/RuleLink';
|
||||
import { ThemeColorsContext } from 'Components/utils/colors';
|
||||
import { SitePathsContext } from 'Components/utils/withSitePaths';
|
||||
import { formatCurrency } from 'Engine/format';
|
||||
import { encodeRuleName } from 'Engine/rules';
|
||||
import { isEmpty, isNil } from 'ramda';
|
||||
import React, { useContext, useEffect, useState } from 'react';
|
||||
import emoji from 'react-easy-emoji';
|
||||
import { Trans, useTranslation } from "react-i18next";
|
||||
import { useDispatch, useSelector } from 'react-redux';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { RootState } from 'Reducers/rootReducer';
|
||||
import { analysisWithDefaultsSelector, situationSelector, useTarget } from 'Selectors/analyseSelectors';
|
||||
import { Rule } from 'Types/rule';
|
||||
import Animate from 'Ui/animate';
|
||||
import AnimatedTargetValue from 'Ui/AnimatedTargetValue';
|
||||
import CurrencyInput from './CurrencyInput/CurrencyInput';
|
||||
import './TargetSelection.css';
|
||||
import { setActiveTarget, updateSituation } from 'Actions/actions'
|
||||
import InputSuggestions from 'Components/conversation/InputSuggestions'
|
||||
import PeriodSwitch from 'Components/PeriodSwitch'
|
||||
import RuleLink from 'Components/RuleLink'
|
||||
import { ThemeColorsContext } from 'Components/utils/colors'
|
||||
import { SitePathsContext } from 'Components/utils/withSitePaths'
|
||||
import { formatCurrency } from 'Engine/format'
|
||||
import { encodeRuleName } from 'Engine/rules'
|
||||
import { isEmpty, isNil } from 'ramda'
|
||||
import React, { useContext, useEffect, useState } from 'react'
|
||||
import emoji from 'react-easy-emoji'
|
||||
import { Trans, useTranslation } from 'react-i18next'
|
||||
import { useDispatch, useSelector } from 'react-redux'
|
||||
import { Link } from 'react-router-dom'
|
||||
import { RootState } from 'Reducers/rootReducer'
|
||||
import {
|
||||
analysisWithDefaultsSelector,
|
||||
situationSelector,
|
||||
useTarget
|
||||
} from 'Selectors/analyseSelectors'
|
||||
import { Rule } from 'Types/rule'
|
||||
import Animate from 'Ui/animate'
|
||||
import AnimatedTargetValue from 'Ui/AnimatedTargetValue'
|
||||
import CurrencyInput from './CurrencyInput/CurrencyInput'
|
||||
import './TargetSelection.css'
|
||||
|
||||
export default function TargetSelection() {
|
||||
const [initialRender, setInitialRender] = useState(true)
|
||||
|
@ -297,11 +301,11 @@ function AidesGlimpse() {
|
|||
<strong>
|
||||
<AnimatedTargetValue value={aides.nodeValue}>
|
||||
<span>{formatCurrency(aides.nodeValue, language)}</span>
|
||||
<Trans>AnimatedTargetValue>
|
||||
</AnimatedTargetValue>
|
||||
</strong>{' '}
|
||||
<Trans>d'aides</Trans> {emoji(aides.explanation.icons)}
|
||||
</RuleLink>
|
||||
</div>
|
||||
</Animate.appear>
|
||||
)<Trans>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -7,11 +7,7 @@ import emoji from 'react-easy-emoji'
|
|||
import { Trans } from 'react-i18next'
|
||||
import { useDispatch, useSelector } from 'react-redux'
|
||||
import { RootState } from 'Reducers/rootReducer'
|
||||
import {
|
||||
currentQuestionSelector,
|
||||
flatRulesSelector,
|
||||
nextStepsSelector
|
||||
} from 'Selectors/analyseSelectors'
|
||||
import { currentQuestionSelector, flatRulesSelector, nextStepsSelector } from 'Selectors/analyseSelectors'
|
||||
import * as Animate from 'Ui/animate'
|
||||
import Aide from './Aide'
|
||||
import './conversation.css'
|
||||
|
@ -80,7 +76,7 @@ export default function Conversation({ customEndMessages }: ConversationProps) {
|
|||
<div style={{ textAlign: 'center' }}>
|
||||
<h3>
|
||||
{emoji('🌟')}{' '}
|
||||
<Trans key="simulation-end.title">
|
||||
<Trans i18nKey="simulation-end.title">
|
||||
Vous avez complété cette simulation
|
||||
</Trans>{' '}
|
||||
</h3>
|
||||
|
@ -88,7 +84,7 @@ export default function Conversation({ customEndMessages }: ConversationProps) {
|
|||
{customEndMessages ? (
|
||||
customEndMessages
|
||||
) : (
|
||||
<Trans key="simulation-end.text">
|
||||
<Trans i18nKey="simulation-end.text">
|
||||
Vous avez maintenant accès à l'estimation la plus précise possible.
|
||||
</Trans>
|
||||
)}
|
||||
|
|
|
@ -195,6 +195,9 @@ export let translateAll = (translations, flatRules) => {
|
|||
let translationsOf = rule => translations[rule.dottedName],
|
||||
translateProp = (lang, translation) => (rule, prop) => {
|
||||
let propTrans = translation[prop + '.' + lang]
|
||||
if (typeof propTrans === 'string') {
|
||||
propTrans.replace(/^\[automatic\] /, '')
|
||||
}
|
||||
if (prop === 'suggestions' && propTrans)
|
||||
return assoc(
|
||||
'suggestions',
|
||||
|
@ -251,7 +254,7 @@ export let findParentDependencies = (rules, rule) => {
|
|||
reject(isNil),
|
||||
filter(
|
||||
//Find the first "calculable" parent
|
||||
({ question, unit, formule, dottedName }) =>
|
||||
({ question, unit, formule }) =>
|
||||
(question && !unit && !formule) ||
|
||||
(question && formule?.['une possibilité'] !== undefined) ||
|
||||
(typeof formule === 'string' && formule.includes(' = ')) ||
|
||||
|
|
|
@ -112,7 +112,7 @@ export let inferUnit = (
|
|||
return undefined
|
||||
}
|
||||
|
||||
export let removeOnce = <Trans>(
|
||||
export let removeOnce = <T>(
|
||||
element: T,
|
||||
eqFn: (a: T, b: T) => boolean = equals
|
||||
) => (list: Array<T>): Array<T> => {
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
static-analysis-fr.json
|
File diff suppressed because it is too large
Load Diff
|
@ -4426,7 +4426,7 @@ dirigeant . auto-entrepreneur . cotisations et contributions . TFC . métiers:
|
|||
- sinon: 0.48%
|
||||
|
||||
dirigeant . auto-entrepreneur . cotisations et contributions . contribution formation professionnelle:
|
||||
titre: Contribution à la formation professionnelleyay
|
||||
titre: Contribution à la formation professionnelle
|
||||
unité par défaut: €/mois
|
||||
références:
|
||||
shine.fr: https://www.shine.fr/blog/formation-professionnelle-auto-entrepreneur/
|
||||
|
|
|
@ -3363,8 +3363,8 @@ dirigeant . auto-entrepreneur . cotisations et contributions . TFC . métiers:
|
|||
titre.en: Chamber of Crafts taxes
|
||||
titre.fr: taxe pour frais de chambre des métiers
|
||||
dirigeant . auto-entrepreneur . cotisations et contributions . contribution formation professionnelle:
|
||||
titre.fr: Contribution à la formation professionnelleyay
|
||||
titre.en: Contribution to vocational trainingyay
|
||||
titre.fr: Contribution à la formation professionnelle
|
||||
dirigeant . auto-entrepreneur . cotisations et contributions . cotisations:
|
||||
description.en: >
|
||||
Social security contributions give the self-employed entrepreneur access to
|
||||
|
@ -4444,32 +4444,32 @@ artiste-auteur . revenus:
|
|||
artiste-auteur . revenus . traitements et salaires:
|
||||
titre.en: Income in wages and salaries
|
||||
titre.fr: Revenu en traitements et salaires
|
||||
résumé.fr: Le montant hors TVA de vos droits d'auteur (recettes précomptées)
|
||||
résumé.en: The amount excluding VAT of your royalties (pre-deducted revenue)
|
||||
résumé.fr: Le montant hors TVA de vos droits d'auteur (recettes précomptées)
|
||||
artiste-auteur . revenus . BNC:
|
||||
titre.en: BNC
|
||||
titre.fr: BNC
|
||||
artiste-auteur . revenus . BNC . micro-bnc:
|
||||
titre.fr: Souhaitez-vous opter pour le régime micro-BNC ?
|
||||
résumé.fr: Abattement forfaitaire fiscal de 34 % au titre des frais professionnels
|
||||
titre.en: Would you like to opt for the micro-BNC diet?
|
||||
titre.fr: Souhaitez-vous opter pour le régime micro-BNC ?
|
||||
résumé.en: 34% flat-rate tax allowance for business expenses
|
||||
résumé.fr: Abattement forfaitaire fiscal de 34 % au titre des frais professionnels
|
||||
artiste-auteur . revenus . BNC . recettes:
|
||||
titre.en: Income in NBC
|
||||
titre.fr: Revenu en BNC
|
||||
résumé.fr: Le montant de vos recettes brutes hors TVA
|
||||
résumé.en: The amount of your gross revenue excluding VAT
|
||||
résumé.fr: Le montant de vos recettes brutes hors TVA
|
||||
artiste-auteur . revenus . BNC . frais réels:
|
||||
question.en: NBC actual cost regime
|
||||
question.fr: Régime des frais réels BNC
|
||||
résumé.en: >-
|
||||
Amount of your expenses (business expenses, depreciation, etc.) which will
|
||||
be charged to your income in order to establish your profits or deficits.
|
||||
résumé.fr: >-
|
||||
Montant de vos dépenses (frais professionnels, amortissements…) qui seront
|
||||
imputés à vos recettes afin d’établir vos bénéfices ou déficits
|
||||
titre.en: real costs
|
||||
titre.fr: frais réels
|
||||
question.en: NBC actual cost regime
|
||||
résumé.en: >-
|
||||
Amount of your expenses (business expenses, depreciation, etc.) which will
|
||||
be charged to your income in order to establish your profits or deficits.
|
||||
artiste-auteur . revenus . BNC . charges forfaitaires:
|
||||
titre.en: fixed expenses
|
||||
titre.fr: charges forfaitaires
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
require('dotenv').config()
|
||||
|
||||
var { safeDump } = require('js-yaml')
|
||||
var fs = require('fs')
|
||||
|
||||
var querystring = require('querystring')
|
||||
require('isomorphic-fetch')
|
||||
const {
|
||||
getMissingTranslations,
|
||||
externalizationPath
|
||||
} = require('./get-missing-translations')
|
||||
|
||||
const [missingTranslations, resolved] = getMissingTranslations()
|
||||
|
||||
fs.writeFileSync(externalizationPath, safeDump(resolved))
|
||||
|
||||
const translateWithDeepl = async text => {
|
||||
const response = await fetch(
|
||||
`https://api.deepl.com/v2/translate?${querystring.stringify({
|
||||
text,
|
||||
auth_key: process.env.DEEPL_API_SECRET,
|
||||
source_lang: 'FR',
|
||||
target_lang: 'EN'
|
||||
})}`
|
||||
)
|
||||
const { translations } = await response.json()
|
||||
return translations[0].text
|
||||
}
|
||||
|
||||
missingTranslations.length &&
|
||||
console.log(
|
||||
`Fetch translation for: \n${missingTranslations
|
||||
.map(([dottedName, attr]) => `\t- ${dottedName} [${attr}]\n`)
|
||||
.join('')}`
|
||||
)
|
||||
missingTranslations.forEach(async ([dottedName, attr, value]) => {
|
||||
try {
|
||||
const translation = await translateWithDeepl(value)
|
||||
resolved[dottedName][attr] = translation
|
||||
// C'est très bourrin, mais on ne veut pas perdre une traduction qu'on a payé
|
||||
fs.writeFileSync(externalizationPath, safeDump(resolved))
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
|
@ -1,75 +0,0 @@
|
|||
var fs = require('fs')
|
||||
var path = require('path')
|
||||
let R = require('ramda')
|
||||
|
||||
let { safeLoad } = require('js-yaml')
|
||||
let externalizationPath = 'source/règles/externalized.yaml'
|
||||
|
||||
let rules = safeLoad(
|
||||
fs.readFileSync(path.resolve('source/règles/base.yaml'), 'utf-8')
|
||||
)
|
||||
|
||||
let currentExternalization = safeLoad(
|
||||
fs.readFileSync(path.resolve(externalizationPath), 'utf-8')
|
||||
)
|
||||
|
||||
let attributesToExternalize = [
|
||||
'titre',
|
||||
'description',
|
||||
'question',
|
||||
'résumé',
|
||||
'suggestions',
|
||||
'contrôles'
|
||||
]
|
||||
|
||||
function getMissingTranslations() {
|
||||
let missingTranslations = []
|
||||
let resolved = Object.entries(rules)
|
||||
.map(([dottedName, rule]) => [
|
||||
dottedName,
|
||||
!rule || !rule.titre
|
||||
? { ...rule, titre: dottedName.split(' . ').slice(-1)[0] }
|
||||
: rule
|
||||
])
|
||||
.map(([dottedName, rule]) => ({
|
||||
[dottedName]: R.mergeAll(
|
||||
R.toPairs(rule)
|
||||
.filter(([, v]) => !!v)
|
||||
.map(([k, v]) => {
|
||||
let attrToTranslate = attributesToExternalize.find(R.equals(k))
|
||||
if (!attrToTranslate) return {}
|
||||
let enTrad = attrToTranslate + '.en',
|
||||
frTrad = attrToTranslate + '.fr'
|
||||
|
||||
let currentTranslation = currentExternalization[dottedName]
|
||||
// Check if a human traduction exists already for this attribute and if
|
||||
// it does need to be updated
|
||||
if (
|
||||
currentTranslation &&
|
||||
currentTranslation[enTrad] &&
|
||||
currentTranslation[frTrad] === v
|
||||
)
|
||||
return {
|
||||
[enTrad]: currentTranslation[enTrad],
|
||||
[frTrad]: v
|
||||
}
|
||||
if (['contrôles', 'suggestions'].includes(attrToTranslate)) {
|
||||
return {
|
||||
[frTrad]: v
|
||||
}
|
||||
}
|
||||
missingTranslations.push([dottedName, enTrad, v])
|
||||
return {
|
||||
[frTrad]: v
|
||||
}
|
||||
})
|
||||
)
|
||||
}))
|
||||
resolved = R.mergeAll(resolved)
|
||||
return [missingTranslations, resolved]
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getMissingTranslations,
|
||||
externalizationPath
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
const { getUiMissingTranslations } = require('./utils')
|
||||
const missingTranslationKeys = Object.keys(getUiMissingTranslations())
|
||||
if (missingTranslationKeys.length) {
|
||||
throw new Error(`Il manque des traductions UI pour les clés suivantes : ${[
|
||||
'',
|
||||
...missingTranslationKeys
|
||||
].join('\n\t- ')}
|
||||
Utilisez la commande suivante pour traduire automatiquement les clés manquantes :
|
||||
|
||||
\tyarn run i18n:ui:translate
|
||||
`)
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
const { getMissingTranslations } = require('./get-missing-translations')
|
||||
const { getRulesMissingTranslations } = require('./utils')
|
||||
|
||||
const missingTranslations = getMissingTranslations()[0]
|
||||
const missingTranslations = getRulesMissingTranslations()[0]
|
||||
|
||||
if (missingTranslations.length) {
|
||||
throw new Error(
|
||||
|
@ -8,6 +8,6 @@ if (missingTranslations.length) {
|
|||
.map(([dottedName, attr]) => `\t- ${dottedName} [${attr}]\n`)
|
||||
.join(
|
||||
''
|
||||
)}\nUtilisez la commande suivante pour traduire automatiquement les clés manquantes :\n\n\tyarn run i18n:translate-rules\n`
|
||||
)}\nUtilisez la commande suivante pour traduire automatiquement les clés manquantes :\n\n\tyarn run i18n:rules:translate\n`
|
||||
)
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
var { safeDump } = require('js-yaml')
|
||||
var fs = require('fs')
|
||||
|
||||
const {
|
||||
getRulesMissingTranslations,
|
||||
rulesTranslationPath,
|
||||
fetchTranslation
|
||||
} = require('./utils')
|
||||
|
||||
const [missingTranslations, resolved] = getRulesMissingTranslations()
|
||||
|
||||
fs.writeFileSync(rulesTranslationPath, safeDump(resolved))
|
||||
|
||||
missingTranslations.forEach(async ([dottedName, attr, value]) => {
|
||||
try {
|
||||
const translation = await fetchTranslation(value)
|
||||
resolved[dottedName][attr] = '[automatic] ' + translation
|
||||
// C'est très bourrin, mais on ne veut pas perdre une traduction qu'on a payé
|
||||
fs.writeFileSync(rulesTranslationPath, safeDump(resolved))
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
|
@ -0,0 +1,28 @@
|
|||
var { safeDump, safeLoad } = require('js-yaml')
|
||||
var R = require('ramda')
|
||||
var fs = require('fs')
|
||||
|
||||
const {
|
||||
getUiMissingTranslations,
|
||||
UiTranslationPath,
|
||||
fetchTranslation
|
||||
} = require('./utils')
|
||||
|
||||
const missingTranslations = getUiMissingTranslations()
|
||||
let translatedKeys = safeLoad(fs.readFileSync(UiTranslationPath, 'utf-8'))
|
||||
|
||||
Object.entries(missingTranslations)
|
||||
.map(([key, value]) => [key, value === 'NO_TRANSLATION' ? key : value])
|
||||
.forEach(async ([key, value]) => {
|
||||
try {
|
||||
const translation = await fetchTranslation(value)
|
||||
translatedKeys = R.assocPath(
|
||||
key.split(/(?<=[A-zÀ-ü0-9])\.(?=[A-zÀ-ü0-9])/),
|
||||
translation,
|
||||
translatedKeys
|
||||
)
|
||||
fs.writeFileSync(UiTranslationPath, safeDump(translatedKeys))
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
|
@ -0,0 +1,111 @@
|
|||
require('dotenv').config()
|
||||
require('isomorphic-fetch')
|
||||
var fs = require('fs')
|
||||
var path = require('path')
|
||||
let R = require('ramda')
|
||||
var querystring = require('querystring')
|
||||
|
||||
let { safeLoad } = require('js-yaml')
|
||||
let rulesTranslationPath = path.resolve('source/règles/externalized.yaml')
|
||||
let UiTranslationPath = path.resolve('source/locales/en.yaml')
|
||||
|
||||
function getRulesMissingTranslations() {
|
||||
let rules = safeLoad(
|
||||
fs.readFileSync(path.resolve('source/règles/base.yaml'), 'utf-8')
|
||||
)
|
||||
|
||||
let currentExternalization = safeLoad(
|
||||
fs.readFileSync(rulesTranslationPath, 'utf-8')
|
||||
)
|
||||
|
||||
let attributesToExternalize = [
|
||||
'titre',
|
||||
'description',
|
||||
'question',
|
||||
'résumé',
|
||||
'suggestions',
|
||||
'contrôles'
|
||||
]
|
||||
let missingTranslations = []
|
||||
let resolved = Object.entries(rules)
|
||||
.map(([dottedName, rule]) => [
|
||||
dottedName,
|
||||
!rule || !rule.titre
|
||||
? { ...rule, titre: dottedName.split(' . ').slice(-1)[0] }
|
||||
: rule
|
||||
])
|
||||
.map(([dottedName, rule]) => ({
|
||||
[dottedName]: R.mergeAll(
|
||||
R.toPairs(rule)
|
||||
.filter(([, v]) => !!v)
|
||||
.map(([k, v]) => {
|
||||
let attrToTranslate = attributesToExternalize.find(R.equals(k))
|
||||
if (!attrToTranslate) return {}
|
||||
let enTrad = attrToTranslate + '.en',
|
||||
frTrad = attrToTranslate + '.fr'
|
||||
|
||||
let currentTranslation = currentExternalization[dottedName]
|
||||
// Check if a human traduction exists already for this attribute and if
|
||||
// it does need to be updated
|
||||
if (
|
||||
currentTranslation &&
|
||||
currentTranslation[enTrad] &&
|
||||
currentTranslation[frTrad] === v
|
||||
)
|
||||
return {
|
||||
[enTrad]: currentTranslation[enTrad],
|
||||
[frTrad]: v
|
||||
}
|
||||
if (['contrôles', 'suggestions'].includes(attrToTranslate)) {
|
||||
return {
|
||||
[frTrad]: v
|
||||
}
|
||||
}
|
||||
missingTranslations.push([dottedName, enTrad, v])
|
||||
return {
|
||||
[frTrad]: v
|
||||
}
|
||||
})
|
||||
)
|
||||
}))
|
||||
resolved = R.mergeAll(resolved)
|
||||
return [missingTranslations, resolved]
|
||||
}
|
||||
|
||||
const getUiMissingTranslations = () => {
|
||||
const staticKeys = require(path.resolve(
|
||||
'source/locales/static-analysis-fr.json'
|
||||
))
|
||||
const translatedKeys = safeLoad(fs.readFileSync(UiTranslationPath, 'utf-8'))
|
||||
|
||||
const missingTranslations = Object.keys(staticKeys).filter(key => {
|
||||
if (key.match(/^\{.*\}$/)) {
|
||||
return false
|
||||
}
|
||||
const keys = key.split(/(?<=[A-zÀ-ü0-9])\.(?=[A-zÀ-ü0-9])/)
|
||||
return !R.path(keys, translatedKeys)
|
||||
}, staticKeys)
|
||||
return R.pick(missingTranslations, staticKeys)
|
||||
}
|
||||
|
||||
const fetchTranslation = async text => {
|
||||
console.log(`Fetch translation for:\n\t${text}`)
|
||||
const response = await fetch(
|
||||
`https://api.deepl.com/v2/translate?${querystring.stringify({
|
||||
text,
|
||||
auth_key: process.env.DEEPL_API_SECRET,
|
||||
tag_handling: 'xml',
|
||||
source_lang: 'FR',
|
||||
target_lang: 'EN'
|
||||
})}`
|
||||
)
|
||||
const { translations } = await response.json()
|
||||
return translations[0].text
|
||||
}
|
||||
module.exports = {
|
||||
fetchTranslation,
|
||||
getRulesMissingTranslations,
|
||||
getUiMissingTranslations,
|
||||
rulesTranslationPath,
|
||||
UiTranslationPath
|
||||
}
|
|
@ -31,7 +31,7 @@ export default function Privacy() {
|
|||
|
||||
export let PrivacyContent = ({ language }: { language: string }) => (
|
||||
<>
|
||||
<Trans key="privacyContent">
|
||||
<Trans i18nKey="privacyContent">
|
||||
<h1>Vie privée</h1>
|
||||
<p>
|
||||
Nous recueillons des statistiques anonymes sur l'utilisation du site,
|
||||
|
|
|
@ -30,10 +30,10 @@ export default function AfterRegistration() {
|
|||
</NavLink>
|
||||
</div>
|
||||
<h1>
|
||||
<Trans key="après.titre">Après la création</Trans>
|
||||
<Trans i18nKey="après.titre">Après la création</Trans>
|
||||
</h1>
|
||||
<p>
|
||||
<Trans key="après.intro">
|
||||
<Trans i18nKey="après.intro">
|
||||
Une fois votre{' '}
|
||||
{{
|
||||
statutChoisi: isAutoentrepreneur
|
||||
|
@ -44,10 +44,10 @@ export default function AfterRegistration() {
|
|||
</Trans>
|
||||
</p>
|
||||
<h2>
|
||||
<Trans key="après.siret.titre">Le numéro SIRET</Trans>
|
||||
<Trans i18nKey="après.siret.titre">Le numéro SIRET</Trans>
|
||||
</h2>
|
||||
<p>
|
||||
<Trans key="après.siret.description">
|
||||
<Trans i18nKey="après.siret.description">
|
||||
Le numéro SIREN <strong>est l'identifiant de votre entreprise</strong>{' '}
|
||||
tandis que le numéro SIRET identifie chaque établissement de la même
|
||||
entreprise. Le SIRET commence par le SIREN, auquel on ajoute le numéro
|
||||
|
@ -61,10 +61,10 @@ export default function AfterRegistration() {
|
|||
/>
|
||||
</p>
|
||||
<h2>
|
||||
<Trans key="après.ape.titre">Le code APE</Trans>
|
||||
<Trans i18nKey="après.ape.titre">Le code APE</Trans>
|
||||
</h2>
|
||||
<p>
|
||||
<Trans key="après.ape.description">
|
||||
<Trans i18nKey="après.ape.description">
|
||||
Le code APE correspond au <strong>secteur d'activité</strong> de votre
|
||||
entreprise. Il classifie la branche principale de votre entreprise
|
||||
dans la nomenclature nationale d'activités françaises « NAF » (
|
||||
|
@ -95,10 +95,10 @@ export default function AfterRegistration() {
|
|||
{statutChoisi && !statutChoisi.includes('auto-entrepreneur') && (
|
||||
<>
|
||||
<h2>
|
||||
<Trans key="après.kbis.titre">Le Kbis</Trans>
|
||||
<Trans i18nKey="après.kbis.titre">Le Kbis</Trans>
|
||||
</h2>
|
||||
<p>
|
||||
<Trans key="après.kbis.description.1">
|
||||
<Trans i18nKey="après.kbis.description.1">
|
||||
C'est le document officiel qui atteste de{' '}
|
||||
<strong>l'existence légale d'une entreprise commerciale</strong>.
|
||||
Le plus souvent, pour être valable par les procédures
|
||||
|
@ -109,7 +109,7 @@ export default function AfterRegistration() {
|
|||
</Trans>
|
||||
</p>
|
||||
<p>
|
||||
<Trans key="après.kbis.description.2">
|
||||
<Trans i18nKey="après.kbis.description.2">
|
||||
Ce document est généralement demandé lors de la candidature à un
|
||||
appel d'offre public, de l'ouverture d'un compte bancaire,
|
||||
d'achats d'équipement professionnel auprès de fournisseurs, etc.
|
||||
|
|
|
@ -77,7 +77,7 @@ function CreateCompany({
|
|||
onClick={onStatusChange}
|
||||
className="ui__ simple small push-left button"
|
||||
>
|
||||
<Trans key="entreprise.retour">← Choisir un autre statut</Trans>
|
||||
<Trans i18nKey="entreprise.retour">← Choisir un autre statut</Trans>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
@ -88,12 +88,12 @@ function CreateCompany({
|
|||
|
||||
<h2>
|
||||
{emoji('📋')}{' '}
|
||||
<Trans key="entreprise.tâches.titre">
|
||||
<Trans i18nKey="entreprise.tâches.titre">
|
||||
À faire pour créer votre entreprise
|
||||
</Trans>
|
||||
</h2>
|
||||
<p className="ui__ notice">
|
||||
<Trans key="entreprise.tâches.avancement">
|
||||
<Trans i18nKey="entreprise.tâches.avancement">
|
||||
Utilisez cette liste pour suivre votre avancement dans les démarches.
|
||||
Votre progression est automatiquement sauvegardée dans votre
|
||||
navigateur.
|
||||
|
@ -109,7 +109,7 @@ function CreateCompany({
|
|||
name="legalStatus"
|
||||
defaultChecked={true}
|
||||
title={
|
||||
<Trans key="entreprise.tâches.formeJuridique.titre">
|
||||
<Trans i18nKey="entreprise.tâches.formeJuridique.titre">
|
||||
Choisir la forme juridique
|
||||
</Trans>
|
||||
}
|
||||
|
@ -118,12 +118,12 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="corporateName"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.nom.titre">
|
||||
<Trans i18nKey="entreprise.tâches.nom.titre">
|
||||
Trouver un nom d'entreprise
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<Trans key="entreprise.tâches.nom.description">
|
||||
<Trans i18nKey="entreprise.tâches.nom.description">
|
||||
<p>
|
||||
<strong>La dénomination sociale</strong> est le nom de votre
|
||||
entreprise aux yeux de la loi, écrit sur tous vos documents
|
||||
|
@ -145,13 +145,13 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="corporatePurpose"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.objetSocial.titre">
|
||||
<Trans i18nKey="entreprise.tâches.objetSocial.titre">
|
||||
Déterminer l'objet social
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<p>
|
||||
<Trans key="entreprise.tâches.objetSocial.description">
|
||||
<Trans i18nKey="entreprise.tâches.objetSocial.description">
|
||||
L'
|
||||
<strong>objet social</strong> est l'activité principale de
|
||||
l'entreprise. Une activité secondaire peut être enregistrée.
|
||||
|
@ -163,12 +163,12 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="companyAddress"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.adresse.titre">
|
||||
<Trans i18nKey="entreprise.tâches.adresse.titre">
|
||||
Choisir une adresse pour le siège
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<Trans key="entreprise.tâches.adresse.description">
|
||||
<Trans i18nKey="entreprise.tâches.adresse.description">
|
||||
<p>
|
||||
<strong>L'adresse</strong> est l'espace physique où votre
|
||||
entreprise sera incorporée. Dans certains lieux et certaines
|
||||
|
@ -186,13 +186,13 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="statut"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.statuts.titre">
|
||||
<Trans i18nKey="entreprise.tâches.statuts.titre">
|
||||
Écrire les statuts
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<p>
|
||||
<Trans key="entreprise.tâches.statuts.description">
|
||||
<Trans i18nKey="entreprise.tâches.statuts.description">
|
||||
Il s'agit d'un document officiel qui intègre la forme
|
||||
juridique, nomme les associés et leurs contributions au
|
||||
capital.{' '}
|
||||
|
@ -216,29 +216,29 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="openBankAccount"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.banque.titre">
|
||||
<Trans i18nKey="entreprise.tâches.banque.titre">
|
||||
Ouvrir un compte bancaire
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<>
|
||||
<p>
|
||||
<Trans key="entreprise.tâches.banque.description.1">
|
||||
<Trans i18nKey="entreprise.tâches.banque.description.1">
|
||||
Le but d'un <strong>compte bancaire d'entreprise</strong> est
|
||||
de séparer les actifs de l'entreprise des vôtres.
|
||||
</Trans>{' '}
|
||||
{statut === 'EI' && (
|
||||
<Trans key="entreprise.tâches.banque.description.EI">
|
||||
<Trans i18nKey="entreprise.tâches.banque.description.EI">
|
||||
Si son ouverture n'est pas obligatoire pour un IE, elle
|
||||
reste fortement recommandée.{' '}
|
||||
</Trans>
|
||||
)}
|
||||
<Trans key="entreprise.tâches.banque.description.2">
|
||||
<Trans i18nKey="entreprise.tâches.banque.description.2">
|
||||
Le compte d'entreprise vous permet de :
|
||||
</Trans>
|
||||
</p>
|
||||
<ul>
|
||||
<Trans key="entreprise.tâches.banque.description.liste">
|
||||
<Trans i18nKey="entreprise.tâches.banque.description.liste">
|
||||
<li>
|
||||
Différencier vos opérations privées et professionnelles
|
||||
</li>
|
||||
|
@ -252,12 +252,12 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="fundsDeposit"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.capital.titre">
|
||||
<Trans i18nKey="entreprise.tâches.capital.titre">
|
||||
Déposer le capital
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<Trans key="entreprise.tâches.capital.description">
|
||||
<Trans i18nKey="entreprise.tâches.capital.description">
|
||||
<p>
|
||||
Le <strong>dépôt du capital social</strong> doit être fait au
|
||||
moment de la constitution d'une société par une personne
|
||||
|
@ -282,12 +282,12 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="declarationOfAssignement"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.affectation.titre">
|
||||
<Trans i18nKey="entreprise.tâches.affectation.titre">
|
||||
Effectuer une déclaration d'affectation de patrimoine
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<Trans key="entreprise.tâches.affectation.description">
|
||||
<Trans i18nKey="entreprise.tâches.affectation.description">
|
||||
<p>
|
||||
La <strong>déclaration d'affectation du patrimoine</strong>{' '}
|
||||
permet de séparer le patrimoine professionnel de votre
|
||||
|
@ -316,13 +316,13 @@ function CreateCompany({
|
|||
{!isEI && (
|
||||
<CheckItem
|
||||
title={
|
||||
<Trans key="entreprise.tâches.journal.titre">
|
||||
<Trans i18nKey="entreprise.tâches.journal.titre">
|
||||
Publier une annonce de création dans un journal
|
||||
</Trans>
|
||||
}
|
||||
name="publishCreationNotice"
|
||||
explanations={
|
||||
<Trans key="entreprise.tâches.journal.description">
|
||||
<Trans i18nKey="entreprise.tâches.journal.description">
|
||||
<p>
|
||||
Vous devez publier la création de votre entreprise dans un
|
||||
journal d'annonces légales (« JAL »), pour un coût de
|
||||
|
@ -360,12 +360,12 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="registerCompanyOnline"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.formulaire.titre">
|
||||
<Trans i18nKey="entreprise.tâches.formulaire.titre">
|
||||
Créer mon entreprise en ligne
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<Trans key="entreprise.tâches.formulaire.description">
|
||||
<Trans i18nKey="entreprise.tâches.formulaire.description">
|
||||
<p>
|
||||
Vous pouvez faire votre inscription en ligne à tout moment,
|
||||
l'enregistrer et y revenir comme vous le souhaitez.
|
||||
|
@ -389,7 +389,7 @@ function CreateCompany({
|
|||
</Checklist>
|
||||
<h2>
|
||||
{emoji('💭')}{' '}
|
||||
<Trans key="entreprise.tâches.titre2">
|
||||
<Trans i18nKey="entreprise.tâches.titre2">
|
||||
Recommandé avant le début de l'activité
|
||||
</Trans>
|
||||
</h2>
|
||||
|
@ -399,13 +399,13 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="chooseCertifiedAccountant"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.comptable.titre">
|
||||
<Trans i18nKey="entreprise.tâches.comptable.titre">
|
||||
Choisir un comptable
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<p>
|
||||
<Trans key="entreprise.tâches.comptable.description">
|
||||
<Trans i18nKey="entreprise.tâches.comptable.description">
|
||||
La gestion d'une entreprise impose un certain nombre d'
|
||||
<a href="https://www.economie.gouv.fr/entreprises/obligations-comptables">
|
||||
obligations comptables
|
||||
|
@ -420,12 +420,12 @@ function CreateCompany({
|
|||
<CheckItem
|
||||
name="checkoutProfessionalAssuranceNeeds"
|
||||
title={
|
||||
<Trans key="entreprise.tâches.assurance.titre">
|
||||
<Trans i18nKey="entreprise.tâches.assurance.titre">
|
||||
Juger de la nécessité de prendre une assurance
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<Trans key="entreprise.tâches.assurance.description">
|
||||
<Trans i18nKey="entreprise.tâches.assurance.description">
|
||||
<p>
|
||||
Une PME ou un travailleur indépendant doit se protéger contre
|
||||
les principaux risques auxquels il est exposé et souscrire des
|
||||
|
@ -463,7 +463,7 @@ function CreateCompany({
|
|||
state: { fromCréer: true }
|
||||
}}
|
||||
>
|
||||
<Trans key="entreprise.ressources.simu.autoEntrepreneur">
|
||||
<Trans i18nKey="entreprise.ressources.simu.autoEntrepreneur">
|
||||
<p>Simulateur de revenus auto-entrepreneur</p>
|
||||
<small>
|
||||
Simuler le montant de vos cotisations sociales et de votre impôt
|
||||
|
@ -480,7 +480,7 @@ function CreateCompany({
|
|||
state: { fromCréer: true }
|
||||
}}
|
||||
>
|
||||
<Trans key="entreprise.ressources.simu.indépendant">
|
||||
<Trans i18nKey="entreprise.ressources.simu.indépendant">
|
||||
<p>Simulateur de cotisations indépendant</p>
|
||||
<small>
|
||||
Simuler le montant de vos cotisations sociales pour bien
|
||||
|
@ -497,7 +497,7 @@ function CreateCompany({
|
|||
state: { fromCréer: true }
|
||||
}}
|
||||
>
|
||||
<Trans key="entreprise.ressources.simu.assimilé">
|
||||
<Trans i18nKey="entreprise.ressources.simu.assimilé">
|
||||
<p>Simulateur de cotisations assimilé-salarié</p>
|
||||
<small>
|
||||
Simuler le montant de vos cotisations sociales pour bien
|
||||
|
@ -510,7 +510,7 @@ function CreateCompany({
|
|||
className="ui__ interactive card button-choice lighter-bg"
|
||||
to={sitePaths.créer.après}
|
||||
>
|
||||
<Trans key="entreprise.ressources.après">
|
||||
<Trans i18nKey="entreprise.ressources.après">
|
||||
<p>Après la création</p>
|
||||
<small>
|
||||
SIREN, SIRET, code APE, KBis. Un petit glossaire des termes que
|
||||
|
@ -557,7 +557,7 @@ let StatutsExample = ({ statut }) => {
|
|||
|
||||
return (
|
||||
<a target="_blank" href={links[statut]}>
|
||||
<Trans key="entreprise.tâches.statuts.exemple">
|
||||
<Trans i18nKey="entreprise.tâches.statuts.exemple">
|
||||
Exemple de statuts pour votre
|
||||
</Trans>{' '}
|
||||
{statut}
|
||||
|
|
|
@ -18,11 +18,11 @@ export default function Autoentrepreneur() {
|
|||
/>
|
||||
</Helmet>
|
||||
<h2>
|
||||
<Trans key="autoentrepreneur.titre">
|
||||
<Trans i18nKey="autoentrepreneur.titre">
|
||||
Entreprise individuelle ou auto-entrepreneur
|
||||
</Trans>
|
||||
</h2>
|
||||
<Trans key="autoentrepreneur.description">
|
||||
<Trans i18nKey="autoentrepreneur.description">
|
||||
<p>
|
||||
À la différence de l'entreprise individuelle, l'auto-entrepreneur
|
||||
bénéficie d'un régime simplifié de déclaration et de paiement : les
|
||||
|
|
|
@ -20,11 +20,11 @@ export default function DefineDirectorStatus() {
|
|||
/>
|
||||
</Helmet>
|
||||
<h2>
|
||||
<Trans key="statut du dirigeant.titre">
|
||||
<Trans i18nKey="statut du dirigeant.titre">
|
||||
Définir le statut du dirigeant
|
||||
</Trans>
|
||||
</h2>
|
||||
<Trans key="statut du dirigeant.description">
|
||||
<Trans i18nKey="statut du dirigeant.description">
|
||||
<p>
|
||||
Ce choix est important car il détermine le régime de sécurité sociale
|
||||
et la couverture sociale du dirigeant. Le montant et les modalités de
|
||||
|
|
|
@ -25,11 +25,11 @@ export default function MinorityDirector() {
|
|||
/>
|
||||
</Helmet>
|
||||
<h2>
|
||||
<Trans key="gérant minoritaire.titre">
|
||||
<Trans i18nKey="gérant minoritaire.titre">
|
||||
Gérant majoritaire ou minoritaire
|
||||
</Trans>{' '}
|
||||
</h2>
|
||||
<Trans key="gérant minoritaire.description">
|
||||
<Trans i18nKey="gérant minoritaire.description">
|
||||
<p>
|
||||
Certaines règles spéciales s'appliquent selon le nombre d'actions
|
||||
détenues.
|
||||
|
|
|
@ -24,9 +24,9 @@ const NumberOfAssociates = ({ companyHasMultipleAssociates }) => {
|
|||
/>
|
||||
</Helmet>
|
||||
<h2>
|
||||
<Trans key="associés.titre">Seul ou à plusieurs</Trans>
|
||||
<Trans i18nKey="associés.titre">Seul ou à plusieurs</Trans>
|
||||
</h2>
|
||||
<Trans key="associés.description">
|
||||
<Trans i18nKey="associés.description">
|
||||
<p>
|
||||
Une entreprise avec un seul associé est plus simple à créer et gérer.
|
||||
Un associé peut-être une personne physique (un individu) ou une
|
||||
|
@ -46,7 +46,7 @@ const NumberOfAssociates = ({ companyHasMultipleAssociates }) => {
|
|||
}}
|
||||
className="ui__ button"
|
||||
>
|
||||
<Trans key="associés.choix1">Seul</Trans>
|
||||
<Trans i18nKey="associés.choix1">Seul</Trans>
|
||||
</button>
|
||||
<button
|
||||
onClick={() => {
|
||||
|
@ -54,7 +54,7 @@ const NumberOfAssociates = ({ companyHasMultipleAssociates }) => {
|
|||
}}
|
||||
className="ui__ button"
|
||||
>
|
||||
<Trans key="associés.choix2">Plusieurs personnes</Trans>
|
||||
<Trans i18nKey="associés.choix2">Plusieurs personnes</Trans>
|
||||
</button>
|
||||
</div>
|
||||
</>
|
||||
|
|
|
@ -99,7 +99,7 @@ export default function SetMainStatus() {
|
|||
</Helmet>
|
||||
<h2>
|
||||
{Object.keys(possibleStatus).every(Boolean) ? (
|
||||
<Trans> Liste des statuts juridiques </Trans>
|
||||
<Trans>Liste des statuts juridiques</Trans>
|
||||
) : (
|
||||
<Trans>Votre forme juridique</Trans>
|
||||
)}
|
||||
|
|
|
@ -20,9 +20,9 @@ const requirementToText = (
|
|||
)
|
||||
case 'soleProprietorship':
|
||||
return value ? (
|
||||
<Trans key="responsabilité.bouton2">Entreprise individuelle</Trans>
|
||||
<Trans i18nKey="responsabilité.bouton2">Entreprise individuelle</Trans>
|
||||
) : (
|
||||
<Trans key="responsabilité.bouton1">Société</Trans>
|
||||
<Trans i18nKey="responsabilité.bouton1">Société</Trans>
|
||||
)
|
||||
case 'directorStatus':
|
||||
return value === 'SELF_EMPLOYED' ? (
|
||||
|
|
|
@ -30,12 +30,12 @@ const SoleProprietorship = ({ isSoleProprietorship }) => {
|
|||
/>
|
||||
</Helmet>
|
||||
<h2>
|
||||
<Trans key="responsabilité.titre">
|
||||
<Trans i18nKey="responsabilité.titre">
|
||||
Entreprise individuelle ou société ?
|
||||
</Trans>
|
||||
</h2>
|
||||
<p>
|
||||
<Trans key="responsabilité.intro">
|
||||
<Trans i18nKey="responsabilité.intro">
|
||||
Ce choix determine votre degré de responsabilité et votre capacité à
|
||||
accueillir de nouveaux associés dans le futur{' '}
|
||||
</Trans>
|
||||
|
@ -43,7 +43,7 @@ const SoleProprietorship = ({ isSoleProprietorship }) => {
|
|||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<Trans key="responsabilité.entreprise-individuelle">
|
||||
<Trans i18nKey="responsabilité.entreprise-individuelle">
|
||||
<strong>Entreprise individuelle : </strong>
|
||||
Une activité économique exercée par une seule personne physique, en
|
||||
son nom propre. Moins de formalités, mais plus de risques en cas de
|
||||
|
@ -57,7 +57,7 @@ const SoleProprietorship = ({ isSoleProprietorship }) => {
|
|||
</li>
|
||||
|
||||
<li>
|
||||
<Trans key="responsabilité.société">
|
||||
<Trans i18nKey="responsabilité.société">
|
||||
<strong>Société : </strong>
|
||||
Vous ne pouvez pas être tenu personnellement responsable des dettes
|
||||
ou obligations de la société. En revanche, les démarches de création
|
||||
|
@ -73,7 +73,9 @@ const SoleProprietorship = ({ isSoleProprietorship }) => {
|
|||
}}
|
||||
className="ui__ button"
|
||||
>
|
||||
<Trans key="responsabilité.bouton2">Entreprise individuelle</Trans>
|
||||
<Trans i18nKey="responsabilité.bouton2">
|
||||
Entreprise individuelle
|
||||
</Trans>
|
||||
</button>
|
||||
<button
|
||||
onClick={() => {
|
||||
|
@ -81,7 +83,7 @@ const SoleProprietorship = ({ isSoleProprietorship }) => {
|
|||
}}
|
||||
className="ui__ button"
|
||||
>
|
||||
<Trans key="responsabilité.bouton1">Société</Trans>
|
||||
<Trans i18nKey="responsabilité.bouton1">Société</Trans>
|
||||
</button>
|
||||
</div>
|
||||
{/* this is an economic activity conducted by a single natural person, in his own name ; */}
|
||||
|
|
|
@ -46,7 +46,7 @@ export default function Créer() {
|
|||
</NavLink>
|
||||
</div>
|
||||
<h1>
|
||||
<Trans key="formeJuridique.titre">Choix du statut juridique</Trans>
|
||||
<Trans i18nKey="formeJuridique.titre">Choix du statut juridique</Trans>
|
||||
</h1>
|
||||
<PreviousAnswers />
|
||||
<Animate.fromBottom key={location.pathname}>
|
||||
|
|
|
@ -26,12 +26,12 @@ export default function Créer() {
|
|||
</Helmet>
|
||||
|
||||
<h1>
|
||||
<Trans key="créer.titre">Créer une entreprise</Trans>
|
||||
<Trans i18nKey="créer.titre">Créer une entreprise</Trans>
|
||||
</h1>
|
||||
<div css="display: flex; align-items: flex-start; justify-content: space-between">
|
||||
<div>
|
||||
<p className="ui__ lead">
|
||||
<Trans key="créer.description">
|
||||
<Trans i18nKey="créer.description">
|
||||
Avant d'entamer les démarches administratives pour créer votre
|
||||
entreprise, vous devez choisir un statut juridique adapté à votre
|
||||
activité
|
||||
|
@ -50,7 +50,7 @@ export default function Créer() {
|
|||
: t('créer.cta.continue', 'Continuer le guide')}
|
||||
</Link>
|
||||
<p className="ui__ notice">
|
||||
<Trans key="créer.warningPL">
|
||||
<Trans i18nKey="créer.warningPL">
|
||||
Le cas des professions libérales réglementées n'est pas encore
|
||||
traité
|
||||
</Trans>
|
||||
|
@ -80,8 +80,8 @@ export default function Créer() {
|
|||
className="ui__ interactive card button-choice lighter-bg"
|
||||
to={sitePaths.créer.guideStatut.liste}
|
||||
>
|
||||
<Trans key="créer.ressources.listeStatuts">
|
||||
<p>Liste des statuts juridiques </p>
|
||||
<Trans i18nKey="créer.ressources.listeStatuts">
|
||||
<p>Liste des statuts juridiques</p>
|
||||
<small>
|
||||
Vous savez déjà quel statut choisir ? Accédez directement à la
|
||||
liste des démarches associées
|
||||
|
@ -95,7 +95,7 @@ export default function Créer() {
|
|||
state: { fromCréer: true }
|
||||
}}
|
||||
>
|
||||
<Trans key="créer.ressources.comparaison">
|
||||
<Trans i18nKey="créer.ressources.comparaison">
|
||||
<p>Comparateur de régimes</p>
|
||||
<small>
|
||||
Indépendant, assimilé-salarié ou auto-entrepreneur ? Calculez les
|
||||
|
@ -108,7 +108,7 @@ export default function Créer() {
|
|||
className="ui__ interactive card button-choice lighter-bg"
|
||||
to={sitePaths.créer['auto-entrepreneur']}
|
||||
>
|
||||
<Trans key="créer.ressources.autoEntrepreneur">
|
||||
<Trans i18nKey="créer.ressources.autoEntrepreneur">
|
||||
<p>Démarche auto-entrepreneur</p>
|
||||
<small>
|
||||
Vous souhaitez devenir auto-entrepreneur ? Découvrez les étapes
|
||||
|
|
|
@ -7,12 +7,12 @@ type Props = {
|
|||
|
||||
const StatutDescription = ({ statut }: Props) =>
|
||||
statut === 'EI' ? (
|
||||
<Trans key="formeJuridique.EI">
|
||||
<Trans i18nKey="formeJuridique.EI">
|
||||
Aucun apport en capital n'est nécessaire. Le capital privé et le capital
|
||||
de l'entreprise ne font qu'un.
|
||||
</Trans>
|
||||
) : statut === 'EIRL' ? (
|
||||
<Trans key="formeJuridique.EIRL">
|
||||
<Trans i18nKey="formeJuridique.EIRL">
|
||||
Permet de protéger son patrimoine personnel en attribuant un capital
|
||||
spécifique à son activité professionnelle. La société et l'individu
|
||||
constituent la même personne. Ne convient pas si l'associé unique est une
|
||||
|
@ -20,13 +20,13 @@ const StatutDescription = ({ statut }: Props) =>
|
|||
associés au cours de votre développement (choisissez EURL dans ce cas).
|
||||
</Trans>
|
||||
) : statut === 'EURL' ? (
|
||||
<Trans key="formeJuridique.EURL">
|
||||
<Trans i18nKey="formeJuridique.EURL">
|
||||
L'entreprise n'a qu'un associé. La responsabilité est limitée au montant
|
||||
de l'apport de capital. Evolue en SARL lors de l'arrivée de nouveaux
|
||||
associés dans la société.
|
||||
</Trans>
|
||||
) : statut.includes('SARL') ? (
|
||||
<Trans key="formeJuridique.SARL">
|
||||
<Trans i18nKey="formeJuridique.SARL">
|
||||
Société ayant au moins deux associés dont la responsabilité financière est
|
||||
limitée au montant de leur apport au capital. Le capital minimum est fixé
|
||||
librement dans les statuts. Les associés se répartissent des parts
|
||||
|
@ -35,7 +35,7 @@ const StatutDescription = ({ statut }: Props) =>
|
|||
d'une SARL est encadré par le code du commerce.
|
||||
</Trans>
|
||||
) : statut === 'SAS' ? (
|
||||
<Trans key="formeJuridique.SAS">
|
||||
<Trans i18nKey="formeJuridique.SAS">
|
||||
Société ayant au moins deux associés. La responsabilité financière des
|
||||
associés est limitée au montant de leur apport au capital de la société.
|
||||
Le capital minimum est fixé librement dans les statuts. Les associés se
|
||||
|
@ -45,31 +45,31 @@ const StatutDescription = ({ statut }: Props) =>
|
|||
fonctionnement (statuts sur mesure).
|
||||
</Trans>
|
||||
) : statut === 'SASU' ? (
|
||||
<Trans key="formeJuridique.SASU">
|
||||
<Trans i18nKey="formeJuridique.SASU">
|
||||
L'entreprise n'a qu'un associé. La responsabilité est limitée au montant
|
||||
de l'apport de capital de l'unique associé (qui peut être une personne
|
||||
morale).
|
||||
</Trans>
|
||||
) : statut === 'SA' ? (
|
||||
<Trans key="formeJuridique.SA">
|
||||
<Trans i18nKey="formeJuridique.SA">
|
||||
Société ayant au moins deux actionnaires. C'est le seul statut qui permet
|
||||
d'être coté en bourse (à partir de 7 actionnaires). Le capital social
|
||||
minimum est de 37.000 €.
|
||||
</Trans>
|
||||
) : (statut as string) === 'SNC' ? (
|
||||
<Trans key="formeJuridique.SNC">
|
||||
<Trans i18nKey="formeJuridique.SNC">
|
||||
La responsabilité des associés pour les dettes de la société est solidaire
|
||||
(un seul associé peut être poursuivi pour la totalité de la dette) et
|
||||
indéfinie (responsable sur la totalité de son patrimoine personnel).
|
||||
</Trans>
|
||||
) : statut === 'auto-entrepreneur' ? (
|
||||
<Trans key="formeJuridique.micro">
|
||||
<Trans i18nKey="formeJuridique.micro">
|
||||
Un auto-entrepreneur exerce son activité en entreprise individuelle, avec
|
||||
un régime forfaitaire pour ses cotisations sociales et un calcul
|
||||
spécifique de l'impôt.
|
||||
</Trans>
|
||||
) : statut === 'auto-entrepreneur-EIRL' ? (
|
||||
<Trans key="formeJuridique.micro-EIRL">
|
||||
<Trans i18nKey="formeJuridique.micro-EIRL">
|
||||
Un auto-entrepreneur option EIRL exerce son activité en entreprise
|
||||
individuelle en choisissant l'option "Entrepreneur individuel à
|
||||
responsabilité limitée", avec à un régime forfaitaire pour le calcul des
|
||||
|
|
|
@ -35,10 +35,12 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
/>
|
||||
</Helmet>
|
||||
<h1>
|
||||
<Trans key="embauche.tâches.titre">Les formalités pour embaucher</Trans>
|
||||
<Trans i18nKey="embauche.tâches.titre">
|
||||
Les formalités pour embaucher
|
||||
</Trans>
|
||||
</h1>
|
||||
<p>
|
||||
<Trans key="embauche.tâches.description">
|
||||
<Trans i18nKey="embauche.tâches.description">
|
||||
Toutes les étapes nécessaires à l'embauche de votre premier employé.
|
||||
</Trans>
|
||||
</p>
|
||||
|
@ -50,7 +52,7 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
<CheckItem
|
||||
name="contract"
|
||||
title={
|
||||
<Trans key="embauche.tâches.contrat.titre">
|
||||
<Trans i18nKey="embauche.tâches.contrat.titre">
|
||||
Signer un contrat de travail avec votre employé
|
||||
</Trans>
|
||||
}
|
||||
|
@ -70,13 +72,13 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
<CheckItem
|
||||
name="dpae"
|
||||
title={
|
||||
<Trans key="embauche.tâches.dpae.titre">
|
||||
<Trans i18nKey="embauche.tâches.dpae.titre">
|
||||
Déclarer l'embauche à l'administration sociale
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<p>
|
||||
<Trans key="embauche.tâches.dpae.description">
|
||||
<Trans i18nKey="embauche.tâches.dpae.description">
|
||||
Ceci peut être fait par le biais du formulaire appelé DPAE, doit
|
||||
être complété dans les 8 jours avant toute embauche, et peut{' '}
|
||||
<a href="https://www.due.urssaf.fr" target="_blank">
|
||||
|
@ -90,13 +92,13 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
<CheckItem
|
||||
name="paySoftware"
|
||||
title={
|
||||
<Trans key="embauche.tâches.logiciel de paie.titre">
|
||||
<Trans i18nKey="embauche.tâches.logiciel de paie.titre">
|
||||
Choisir un logiciel de paie
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<p>
|
||||
<Trans key="embauche.tâches.logiciel de paie.description">
|
||||
<Trans i18nKey="embauche.tâches.logiciel de paie.description">
|
||||
Les fiches de paie et les déclarations peuvent être traitées en
|
||||
ligne gratuitement par le{' '}
|
||||
<a href="http://www.letese.urssaf.fr" target="_blank">
|
||||
|
@ -116,7 +118,7 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
<CheckItem
|
||||
name="registre"
|
||||
title={
|
||||
<Trans key="embauche.tâches.registre.titre">
|
||||
<Trans i18nKey="embauche.tâches.registre.titre">
|
||||
Tenir un registre des employés à jour
|
||||
</Trans>
|
||||
}
|
||||
|
@ -135,7 +137,7 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
<CheckItem
|
||||
name="complementaryPension"
|
||||
title={
|
||||
<Trans key="embauche.tâches.pension.titre">
|
||||
<Trans i18nKey="embauche.tâches.pension.titre">
|
||||
Prendre contact avec l'institution de prévoyance complémentaire
|
||||
obligatoire qui vous est assignée
|
||||
</Trans>
|
||||
|
@ -147,7 +149,7 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
className="ui__ button"
|
||||
target="_blank"
|
||||
>
|
||||
<Trans key="embauche.tâches.pension.description">
|
||||
<Trans i18nKey="embauche.tâches.pension.description">
|
||||
Trouver mon institution de prévoyance
|
||||
</Trans>
|
||||
</a>
|
||||
|
@ -158,13 +160,13 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
<CheckItem
|
||||
name="complementaryHealth"
|
||||
title={
|
||||
<Trans key="embauche.tâches.complémentaire santé.titre">
|
||||
<Trans i18nKey="embauche.tâches.complémentaire santé.titre">
|
||||
Choisir une complémentaire santé
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<p>
|
||||
<Trans key="embauche.tâches.complémentaire santé.description">
|
||||
<Trans i18nKey="embauche.tâches.complémentaire santé.description">
|
||||
Vous devez couvrir vos salariés avec l'assurance complémentaire
|
||||
santé privée de votre choix (aussi appelée "mutuelle"), pour
|
||||
autant qu'elle offre un ensemble de garanties minimales.
|
||||
|
@ -176,13 +178,13 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
<CheckItem
|
||||
name="workMedicine"
|
||||
title={
|
||||
<Trans key="embauche.tâches.medecine.titre">
|
||||
<Trans i18nKey="embauche.tâches.medecine.titre">
|
||||
S'inscrire à un bureau de médecine du travail
|
||||
</Trans>
|
||||
}
|
||||
explanations={
|
||||
<p>
|
||||
<Trans key="embauche.tâches.medecine.description">
|
||||
<Trans i18nKey="embauche.tâches.medecine.description">
|
||||
N'oubliez pas de planifier un rendez-vous initial pour chaque
|
||||
nouvelle embauche.{' '}
|
||||
<a href="https://www.service-public.fr/particuliers/vosdroits/F2211">
|
||||
|
@ -193,7 +195,7 @@ function Embaucher({ onChecklistInitialization, onItemCheck }: EmbaucherProps) {
|
|||
}
|
||||
/>
|
||||
</Checklist>
|
||||
<Trans key="embauche.chaque mois">
|
||||
<Trans i18nKey="embauche.chaque mois">
|
||||
<h2>Tous les mois</h2>
|
||||
<ul>
|
||||
<li>
|
||||
|
|
|
@ -59,13 +59,13 @@ export default function SocialSecurity() {
|
|||
<ScrollToTop />
|
||||
<Animate.fromBottom>
|
||||
<h1>
|
||||
<Trans key="gérer.titre">Gérer mon activité</Trans>
|
||||
<Trans i18nKey="gérer.titre">Gérer mon activité</Trans>
|
||||
</h1>
|
||||
<div css="display: flex; align-items: flex-start; justify-content: space-between">
|
||||
<div>
|
||||
{!company && (
|
||||
<p className="ui__ lead">
|
||||
<Trans key="gérer.description">
|
||||
<Trans i18nKey="gérer.description">
|
||||
Vous souhaitez vous verser un revenu ou embaucher ? <br />
|
||||
Vous aurez à payer des cotisations et des impôts. <br />
|
||||
Anticipez leurs montants grâce aux simulateurs adaptés à votre
|
||||
|
@ -85,7 +85,9 @@ export default function SocialSecurity() {
|
|||
|
||||
<>
|
||||
<h2>
|
||||
<Trans key="gérer.choix.titre">Que souhaitez-vous faire ?</Trans>
|
||||
<Trans i18nKey="gérer.choix.titre">
|
||||
Que souhaitez-vous faire ?
|
||||
</Trans>
|
||||
</h2>
|
||||
{!!régime && (
|
||||
<Link
|
||||
|
@ -98,7 +100,7 @@ export default function SocialSecurity() {
|
|||
}
|
||||
}}
|
||||
>
|
||||
<Trans key="gérer.choix.revenus">
|
||||
<Trans i18nKey="gérer.choix.revenus">
|
||||
<p>Calculer mon revenu net</p>
|
||||
<small>
|
||||
Estimez précisément le montant de vos cotisations grâce au
|
||||
|
@ -118,7 +120,7 @@ export default function SocialSecurity() {
|
|||
}
|
||||
}}
|
||||
>
|
||||
<Trans key="gérer.choix.embauche">
|
||||
<Trans i18nKey="gérer.choix.embauche">
|
||||
<p>Estimer le montant d’une embauche</p>
|
||||
<small>
|
||||
Calculez le montant total que votre entreprise devra dépenser
|
||||
|
@ -146,7 +148,7 @@ export default function SocialSecurity() {
|
|||
className="ui__ interactive card button-choice lighter-bg"
|
||||
to={sitePaths.gérer.embaucher}
|
||||
>
|
||||
<Trans key="gérer.ressources.embaucher">
|
||||
<Trans i18nKey="gérer.ressources.embaucher">
|
||||
<p>Découvrir les démarches d’embauche </p>
|
||||
<small>
|
||||
La liste des choses à faire pour être sûr de ne rien oublier
|
||||
|
@ -160,7 +162,7 @@ export default function SocialSecurity() {
|
|||
className="ui__ interactive card button-choice lighter-bg"
|
||||
href="https://autoentrepreneur.urssaf.fr"
|
||||
>
|
||||
<Trans key="gérer.ressources.autoEntrepreneur">
|
||||
<Trans i18nKey="gérer.ressources.autoEntrepreneur">
|
||||
<p>Accéder au site officiel auto-entrepreneur</p>
|
||||
<small>
|
||||
Vous pourrez effectuer votre déclaration de chiffre
|
||||
|
@ -175,7 +177,7 @@ export default function SocialSecurity() {
|
|||
className="ui__ interactive card button-choice lighter-bg"
|
||||
to={sitePaths.gérer.sécuritéSociale}
|
||||
>
|
||||
<Trans key="gérer.ressources.sécuritéSociale">
|
||||
<Trans i18nKey="gérer.ressources.sécuritéSociale">
|
||||
<p>Comprendre la sécurité sociale </p>
|
||||
<small>
|
||||
A quoi servent les cotisations sociales ? Le point sur le
|
||||
|
@ -241,7 +243,7 @@ const CompanySection = ({ company }: CompanySectionProps) => {
|
|||
<ScrollToTop />
|
||||
<Overlay>
|
||||
<h2>
|
||||
<Trans key="gérer.entreprise.auto">
|
||||
<Trans i18nKey="gérer.entreprise.auto">
|
||||
Êtes-vous auto-entrepreneur ?{' '}
|
||||
</Trans>
|
||||
</h2>
|
||||
|
@ -266,7 +268,7 @@ const CompanySection = ({ company }: CompanySectionProps) => {
|
|||
<>
|
||||
<ScrollToTop />
|
||||
<Overlay>
|
||||
<Trans key="gérer.entreprise.dirigeant">
|
||||
<Trans i18nKey="gérer.entreprise.dirigeant">
|
||||
<h2> Êtes-vous dirigeant majoritaire ? </h2>
|
||||
<p>
|
||||
Si vous êtes administrateur majoritaire ou si vous faites partie
|
||||
|
@ -314,11 +316,11 @@ const CompanySection = ({ company }: CompanySectionProps) => {
|
|||
{company.isDirigeantMajoritaire != null && (
|
||||
<span css="margin-left: 1rem" className="ui__ label">
|
||||
{company.isDirigeantMajoritaire ? (
|
||||
<Trans key="gérer.entreprise.majoritaire">
|
||||
<Trans i18nKey="gérer.entreprise.majoritaire">
|
||||
Dirigeant majoritaire
|
||||
</Trans>
|
||||
) : (
|
||||
<Trans key="gérer.entreprise.minoritaire">
|
||||
<Trans i18nKey="gérer.entreprise.minoritaire">
|
||||
Dirigeant minoritaire
|
||||
</Trans>
|
||||
)}
|
||||
|
@ -334,7 +336,7 @@ const CompanySection = ({ company }: CompanySectionProps) => {
|
|||
showSearchModal(true)
|
||||
}}
|
||||
>
|
||||
<Trans key="gérer.entreprise.changer">
|
||||
<Trans i18nKey="gérer.entreprise.changer">
|
||||
Changer l'entreprise sélectionnée
|
||||
</Trans>
|
||||
</button>
|
||||
|
@ -345,7 +347,7 @@ const CompanySection = ({ company }: CompanySectionProps) => {
|
|||
onClick={() => showSearchModal(true)}
|
||||
className="ui__ plain cta button"
|
||||
>
|
||||
<Trans key="gérer.cta">Renseigner mon entreprise</Trans>
|
||||
<Trans i18nKey="gérer.cta">Renseigner mon entreprise</Trans>
|
||||
</button>
|
||||
</p>
|
||||
)}
|
||||
|
|
|
@ -15,7 +15,7 @@ export default function SchemeChoice() {
|
|||
<title>{t('selectionRégime.page.titre', 'Selection du régime')}</title>
|
||||
</Helmet>
|
||||
<h1>
|
||||
<Trans key="selectionRégime.titre">
|
||||
<Trans i18nKey="selectionRégime.titre">
|
||||
Quel régime souhaitez-vous explorer ?
|
||||
</Trans>
|
||||
</h1>
|
||||
|
@ -29,7 +29,7 @@ export default function SchemeChoice() {
|
|||
<Trans>Assimilé salarié</Trans>
|
||||
<small>
|
||||
(
|
||||
<Trans key="comparaisonRégimes.status.AS">
|
||||
<Trans i18nKey="comparaisonRégimes.status.AS">
|
||||
SAS, SASU ou SARL avec gérant minoritaire
|
||||
</Trans>
|
||||
)
|
||||
|
@ -45,7 +45,7 @@ export default function SchemeChoice() {
|
|||
<Trans>Indépendant</Trans>
|
||||
<small>
|
||||
(
|
||||
<Trans key="comparaisonRégimes.status.indep.1">
|
||||
<Trans i18nKey="comparaisonRégimes.status.indep.1">
|
||||
EI, EIRL, EURL ou SARL avec gérant majoritaire
|
||||
</Trans>
|
||||
)
|
||||
|
@ -61,7 +61,7 @@ export default function SchemeChoice() {
|
|||
</Link>
|
||||
</p>
|
||||
<h2>
|
||||
<Trans key="selectionRégime.comparer.titre">
|
||||
<Trans i18nKey="selectionRégime.comparer.titre">
|
||||
Vous ne savez pas lequel choisir ?
|
||||
</Trans>
|
||||
</h2>
|
||||
|
@ -70,7 +70,9 @@ export default function SchemeChoice() {
|
|||
className="ui__ plain cta button"
|
||||
to={sitePaths.simulateurs.comparaison}
|
||||
>
|
||||
<Trans key="selectionRégime.comparer.cta">Comparer les régimes</Trans>
|
||||
<Trans i18nKey="selectionRégime.comparer.cta">
|
||||
Comparer les régimes
|
||||
</Trans>
|
||||
</Link>
|
||||
</p>
|
||||
</animate.fromBottom>
|
||||
|
|
|
@ -13,7 +13,7 @@ export default function SocialSecurity() {
|
|||
</Helmet>
|
||||
|
||||
<Animate.fromBottom>
|
||||
<Trans key="sécu.contenu">
|
||||
<Trans i18nKey="sécu.contenu">
|
||||
<h1>Protection sociale </h1>
|
||||
<p>
|
||||
En France, tous les travailleurs bénéficient d'une protection
|
||||
|
|
|
@ -25,12 +25,12 @@ export default function Landing() {
|
|||
/>
|
||||
<header>
|
||||
<h1>
|
||||
<Trans key="landing.title">
|
||||
<Trans i18nKey="landing.title">
|
||||
L'assistant officiel du créateur d'entreprise
|
||||
</Trans>
|
||||
</h1>
|
||||
<p className="ui__ lead">
|
||||
<Trans key="landing.subtitle">
|
||||
<Trans i18nKey="landing.subtitle">
|
||||
Les ressources nécessaires pour développer votre activité, du
|
||||
statut juridique à l'embauche.
|
||||
</Trans>
|
||||
|
@ -46,7 +46,7 @@ export default function Landing() {
|
|||
}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('💡')}</div>
|
||||
<Trans key="landing.choice.create">
|
||||
<Trans i18nKey="landing.choice.create">
|
||||
<h3>Créer une entreprise</h3>
|
||||
<p className="ui__ notice" css="flex: 1">
|
||||
Un accompagnement au choix du statut juridique et la liste
|
||||
|
@ -59,7 +59,7 @@ export default function Landing() {
|
|||
</Link>
|
||||
<Link className="ui__ interactive card box " to={sitePaths.gérer.index}>
|
||||
<div className="ui__ big box-icon">{emoji('💶')}</div>
|
||||
<Trans key="landing.choice.manage">
|
||||
<Trans i18nKey="landing.choice.manage">
|
||||
<h3>Gérer mon activité</h3>
|
||||
<p className="ui__ notice" css="flex: 1">
|
||||
Des simulateurs pour anticiper le montant des cotisations sociales
|
||||
|
@ -75,7 +75,7 @@ export default function Landing() {
|
|||
to={sitePaths.économieCollaborative.index}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('🙋')}</div>
|
||||
<Trans key="landing.choice.declare">
|
||||
<Trans i18nKey="landing.choice.declare">
|
||||
<h3>Que dois-je déclarer ?</h3>
|
||||
<p className="ui__ notice" css="flex: 1">
|
||||
Un guide pour savoir comment déclarer vos revenus issus de
|
||||
|
@ -92,14 +92,14 @@ export default function Landing() {
|
|||
className="ui__ small button "
|
||||
>
|
||||
{emoji('🧮')}{' '}
|
||||
<Trans key="landing.seeSimulators">
|
||||
<Trans i18nKey="landing.seeSimulators">
|
||||
Voir la liste des simulateurs
|
||||
</Trans>
|
||||
</Link>
|
||||
</div>
|
||||
</section>
|
||||
<section className="ui__ container">
|
||||
<Trans key="landing.aboutUs">
|
||||
<Trans i18nKey="landing.aboutUs">
|
||||
<h2>Qui sommes-nous ?</h2>
|
||||
<p>
|
||||
Nous avons développé ce site pour{' '}
|
||||
|
|
|
@ -34,7 +34,7 @@ export default function AssimiléSalarié() {
|
|||
/>
|
||||
</Helmet>
|
||||
<h1>
|
||||
<Trans key="simulateurs.assimilé-salarié.titre">
|
||||
<Trans i18nKey="simulateurs.assimilé-salarié.titre">
|
||||
Simulateur de revenus assimilé salarié
|
||||
</Trans>
|
||||
</h1>
|
||||
|
|
|
@ -39,7 +39,7 @@ export default function AutoEntrepreneur() {
|
|||
/>
|
||||
</Helmet>
|
||||
<h1>
|
||||
<Trans key="simulateurs.auto-entrepreneur.titre">
|
||||
<Trans i18nKey="simulateurs.auto-entrepreneur.titre">
|
||||
Simulateur de revenus auto-entrepreneur
|
||||
</Trans>
|
||||
</h1>
|
||||
|
|
|
@ -35,7 +35,7 @@ export default function Simulateurs() {
|
|||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('☂️')}</div>
|
||||
<Trans key="simulateurs.accueil.assimilé">
|
||||
<Trans i18nKey="simulateurs.accueil.assimilé">
|
||||
<h3>Assimilé salarié</h3>
|
||||
<p className="ui__ notice" css="flex: 1">
|
||||
Calculer le revenu d'un dirigeant de SAS, SASU ou SARL
|
||||
|
@ -51,7 +51,7 @@ export default function Simulateurs() {
|
|||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('🃏')}</div>
|
||||
<Trans key="simulateurs.accueil.indépendant">
|
||||
<Trans i18nKey="simulateurs.accueil.indépendant">
|
||||
<h3>Indépendant</h3>
|
||||
<p className="ui__ notice" css="flex: 1">
|
||||
Calculer le revenu d'un dirigeant de EURL, EI, ou SARL
|
||||
|
@ -67,7 +67,7 @@ export default function Simulateurs() {
|
|||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('🧢')}</div>
|
||||
<Trans key="simulateurs.accueil.auto">
|
||||
<Trans i18nKey="simulateurs.accueil.auto">
|
||||
<h3>Auto-entrepreneur</h3>
|
||||
<p className="ui__ notice" css="flex: 1">
|
||||
Calculer le revenu (ou le chiffre d'affaires) d'un
|
||||
|
@ -83,7 +83,7 @@ export default function Simulateurs() {
|
|||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('🤝')}</div>
|
||||
<Trans key="simulateurs.accueil.salarié">
|
||||
<Trans i18nKey="simulateurs.accueil.salarié">
|
||||
<h3>Salarié</h3>
|
||||
<p className="ui__ notice" css="flex: 1">
|
||||
Calculer le salaire net, brut, ou total d'un salarié, stagiaire,
|
||||
|
@ -100,7 +100,7 @@ export default function Simulateurs() {
|
|||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('👩🎨')}</div>
|
||||
<Trans key="simulateurs.accueil.salarié">
|
||||
<Trans i18nKey="simulateurs.accueil.salarié">
|
||||
<h3>Artiste-auteur</h3>
|
||||
<p className="ui__ notice" css="flex: 1">
|
||||
Estimer les cotisations sociales d'un artiste ou auteur
|
||||
|
@ -116,7 +116,7 @@ export default function Simulateurs() {
|
|||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('📊')}</div>
|
||||
<Trans key="simulateurs.accueil.comparaison">
|
||||
<Trans i18nKey="simulateurs.accueil.comparaison">
|
||||
<h3>Comparaison statuts</h3>
|
||||
<p className="ui__ notice" css="flex: 1">
|
||||
Simulez les différences entre les régimes (cotisations,
|
||||
|
@ -127,7 +127,7 @@ export default function Simulateurs() {
|
|||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<Trans key="simulateurs.accueil.description">
|
||||
<Trans i18nKey="simulateurs.accueil.description">
|
||||
<p>Tous les simulateurs sur ce site sont :</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
|
|
@ -35,7 +35,7 @@ export default function Indépendant() {
|
|||
/>
|
||||
</Helmet>
|
||||
<h1>
|
||||
<Trans key="simulateurs.indépendant.titre">
|
||||
<Trans i18nKey="simulateurs.indépendant.titre">
|
||||
Simulateur de revenus pour indépendants
|
||||
</Trans>
|
||||
</h1>
|
||||
|
|
|
@ -36,7 +36,7 @@ export default function Salarié() {
|
|||
/>
|
||||
</Helmet>
|
||||
<h1>
|
||||
<Trans key="simulateurs.salarié.titre">
|
||||
<Trans i18nKey="simulateurs.salarié.titre">
|
||||
Simulateur de revenus pour salarié
|
||||
</Trans>
|
||||
</h1>
|
||||
|
@ -104,7 +104,7 @@ export let SalarySimulation = () => {
|
|||
explanations={<SalaryExplanation />}
|
||||
customEndMessages={
|
||||
<>
|
||||
<Trans key="simulation-end.hiring.text">
|
||||
<Trans i18nKey="simulation-end.hiring.text">
|
||||
Vous pouvez maintenant concrétiser votre projet d'embauche.
|
||||
</Trans>
|
||||
<div style={{ textAlign: 'center', margin: '1rem' }}>
|
||||
|
@ -112,7 +112,9 @@ export let SalarySimulation = () => {
|
|||
className="ui__ plain button"
|
||||
to={sitePaths.gérer.embaucher}
|
||||
>
|
||||
<Trans key="simulation-end.cta">Connaître les démarches</Trans>
|
||||
<Trans i18nKey="simulation-end.cta">
|
||||
Connaître les démarches
|
||||
</Trans>
|
||||
</Link>
|
||||
</div>
|
||||
</>
|
||||
|
|
|
@ -23,14 +23,14 @@ export default function SchemeComparaisonPage() {
|
|||
/>
|
||||
</Helmet>
|
||||
<h1>
|
||||
<Trans key="comparaisonRégimes.titre">
|
||||
<Trans i18nKey="comparaisonRégimes.titre">
|
||||
Indépendant, assimilé salarié ou{' '}
|
||||
<span style={{ whiteSpace: 'nowrap' }}>auto-entrepreneur</span> : quel
|
||||
régime choisir ?
|
||||
</Trans>
|
||||
</h1>
|
||||
<p>
|
||||
<Trans key="comparaisonRégimes.description">
|
||||
<Trans i18nKey="comparaisonRégimes.description">
|
||||
Lorsque vous créez votre société, le choix du statut juridique va
|
||||
déterminer à quel régime social le dirigeant est affilié. Il en existe
|
||||
trois différents, avec chacun ses avantages et inconvénients. Avec ce
|
||||
|
|
|
@ -35,7 +35,7 @@ export default function Activité({
|
|||
<h1>{activité.titre}</h1>
|
||||
<p>{activité.explication}</p>
|
||||
<p>
|
||||
<Trans key="économieCollaborative.activité.choix">
|
||||
<Trans i18nKey="économieCollaborative.activité.choix">
|
||||
Quelles sont plus précisément les activités exercées ?
|
||||
</Trans>
|
||||
</p>
|
||||
|
@ -71,7 +71,7 @@ export default function Activité({
|
|||
/>
|
||||
|
||||
{estExonérée ? null : activité['seuil pro'] === 0 ? (
|
||||
<Trans key="économieCollaborative.activité.pro">
|
||||
<Trans i18nKey="économieCollaborative.activité.pro">
|
||||
<h2>Il s'agit d'une activité professionnelle</h2>
|
||||
<p>
|
||||
Les revenus de cette activité sont considérés comme des{' '}
|
||||
|
@ -79,13 +79,13 @@ export default function Activité({
|
|||
</p>
|
||||
</Trans>
|
||||
) : activité['seuil déclaration'] === 0 && !activité['seuil pro'] ? (
|
||||
<Trans key="économieCollaborative.activité.impôt">
|
||||
<Trans i18nKey="économieCollaborative.activité.impôt">
|
||||
<h2>Vous devez déclarez vos revenus aux impôts</h2>
|
||||
<p>Les revenus de cette activité sont imposables.</p>
|
||||
</Trans>
|
||||
) : (
|
||||
<>
|
||||
<Trans key="économieCollaborative.activité.revenusAnnuels">
|
||||
<Trans i18nKey="économieCollaborative.activité.revenusAnnuels">
|
||||
<h2>Revenus annuels</h2>
|
||||
<p>Vos revenus annuels pour cette activité sont :</p>
|
||||
</Trans>
|
||||
|
|
|
@ -35,7 +35,7 @@ export default function ActivitésSelection() {
|
|||
<ScrollToTop />
|
||||
<h1>{titre}</h1>
|
||||
<section css="margin-bottom: 2rem">
|
||||
<Trans key="économieCollaborative.accueil.contenu">
|
||||
<Trans i18nKey="économieCollaborative.accueil.contenu">
|
||||
<p>
|
||||
Vous avez des revenus issus des{' '}
|
||||
<strong>plateformes en ligne</strong> (Airbnb, Abritel, Drivy,
|
||||
|
@ -56,13 +56,13 @@ export default function ActivitésSelection() {
|
|||
|
||||
<section className="ui__ full-width light-bg">
|
||||
<h2 className="ui__ container" css="text-align: center">
|
||||
<Trans key="économieCollaborative.accueil.question">
|
||||
<Trans i18nKey="économieCollaborative.accueil.question">
|
||||
Quels types d'activités avez-vous exercé ?
|
||||
</Trans>
|
||||
</h2>
|
||||
<ActivitéSelection activités={activités.map(({ titre }) => titre)} />
|
||||
<p className="ui__ container notice" css="text-align: center">
|
||||
<Trans key="économieCollaborative.accueil.réassurance">
|
||||
<Trans i18nKey="économieCollaborative.accueil.réassurance">
|
||||
PS : cet outil est là uniquement pour vous informer, aucune donnée
|
||||
ne sera transmise aux administrations
|
||||
</Trans>{' '}
|
||||
|
|
|
@ -17,7 +17,7 @@ export default function ExceptionsExonération({
|
|||
return (
|
||||
<>
|
||||
<h2>
|
||||
<Trans key="économieCollaborative.exonération.question">
|
||||
<Trans i18nKey="économieCollaborative.exonération.question">
|
||||
Êtes-vous dans un des cas suivants ?
|
||||
</Trans>
|
||||
</h2>
|
||||
|
@ -37,7 +37,7 @@ export default function ExceptionsExonération({
|
|||
))}
|
||||
</Checklist>
|
||||
<p className="ui__ notice">
|
||||
<Trans key="économieCollaborative.exonération.notice">
|
||||
<Trans i18nKey="économieCollaborative.exonération.notice">
|
||||
Si aucun de ces cas ne s'appliquent à vous, vous n'aurez rien à
|
||||
déclarer.
|
||||
</Trans>
|
||||
|
|
|
@ -33,7 +33,7 @@ export default function NextButton({ activité, disabled }) {
|
|||
{nextActivité || disabled ? (
|
||||
<Trans>Continuer</Trans>
|
||||
) : (
|
||||
<Trans key="économieCollaborative.activité.voirObligations">
|
||||
<Trans i18nKey="économieCollaborative.activité.voirObligations">
|
||||
Voir mes obligations
|
||||
</Trans>
|
||||
)}
|
||||
|
|
|
@ -54,7 +54,7 @@ export default function VotreSituation() {
|
|||
<section>
|
||||
{déclarations.RÉGIME_GÉNÉRAL_DISPONIBLE.length > 0 && (
|
||||
<>
|
||||
<Trans key="économieCollaborative.obligations.pro">
|
||||
<Trans i18nKey="économieCollaborative.obligations.pro">
|
||||
<h2>Déclarer en tant qu'activité professionnelle</h2>
|
||||
<p>
|
||||
Vos revenus sont considérés comme revenus professionnels, ils
|
||||
|
@ -64,7 +64,7 @@ export default function VotreSituation() {
|
|||
</p>
|
||||
</Trans>
|
||||
<ActivitéList activités={déclarations.RÉGIME_GÉNÉRAL_DISPONIBLE} />
|
||||
<Trans key="économieCollaborative.obligations.entreprise">
|
||||
<Trans i18nKey="économieCollaborative.obligations.entreprise">
|
||||
<h3>Avec une entreprise</h3>
|
||||
<p>
|
||||
Si vous possédez déjà une activité déclarée, vous pouvez ajouter
|
||||
|
@ -83,7 +83,7 @@ export default function VotreSituation() {
|
|||
</Trans>
|
||||
|
||||
{régimeGénéralDisponible && (
|
||||
<Trans key="économieCollaborative.obligations.régimeGénéral">
|
||||
<Trans i18nKey="économieCollaborative.obligations.régimeGénéral">
|
||||
<h3>Avec l'option régime général</h3>
|
||||
<p>
|
||||
Pour certaines activités, vous pouvez déclarer vos revenus
|
||||
|
@ -105,7 +105,7 @@ export default function VotreSituation() {
|
|||
)}
|
||||
{déclarations.IMPOSITION.length > 0 && (
|
||||
<>
|
||||
<Trans key="économieCollaborative.obligations.impôts">
|
||||
<Trans i18nKey="économieCollaborative.obligations.impôts">
|
||||
<h2>Déclarer vos revenus aux impôts</h2>
|
||||
<p>
|
||||
Pour ces activités, vous avez uniquement besoin de déclarer vos
|
||||
|
@ -123,7 +123,7 @@ export default function VotreSituation() {
|
|||
|
||||
{déclarations.AUCUN.length > 0 && (
|
||||
<>
|
||||
<Trans key="économieCollaborative.obligations.aucune">
|
||||
<Trans i18nKey="économieCollaborative.obligations.aucune">
|
||||
<h2>Rien à faire</h2>
|
||||
<p>
|
||||
Vous n'avez pas besoin de déclarer vos revenus pour ces
|
||||
|
@ -150,7 +150,7 @@ const ActivitéList = ({ activités }) => {
|
|||
answered
|
||||
label={
|
||||
régimeGénéralDisponibleSelector(state, title) ? (
|
||||
<Trans key="économieCollaborative.obligations.régimeGénéralDisponible">
|
||||
<Trans i18nKey="économieCollaborative.obligations.régimeGénéralDisponible">
|
||||
Régime général disponible
|
||||
</Trans>
|
||||
) : null
|
||||
|
|
|
@ -21,7 +21,7 @@ export default function ÉconomieCollaborative() {
|
|||
className="ui__ simple small push-left button "
|
||||
>
|
||||
←{' '}
|
||||
<Trans key="économieCollaborative.retourAccueil">
|
||||
<Trans i18nKey="économieCollaborative.retourAccueil">
|
||||
Retour à la selection d'activités
|
||||
</Trans>
|
||||
</NavLink>
|
||||
|
|
442
yarn.lock
442
yarn.lock
|
@ -1828,6 +1828,13 @@ anymatch@^2.0.0:
|
|||
micromatch "^3.1.4"
|
||||
normalize-path "^2.1.1"
|
||||
|
||||
append-buffer@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1"
|
||||
integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=
|
||||
dependencies:
|
||||
buffer-equal "^1.0.0"
|
||||
|
||||
aproba@^1.1.1:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
|
||||
|
@ -2354,6 +2361,16 @@ braces@^2.3.1, braces@^2.3.2:
|
|||
split-string "^3.0.2"
|
||||
to-regex "^3.0.1"
|
||||
|
||||
broccoli-plugin@^1.3.0:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz#a26315732fb99ed2d9fb58f12a1e14e986b4fabd"
|
||||
integrity sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==
|
||||
dependencies:
|
||||
promise-map-series "^0.2.1"
|
||||
quick-temp "^0.1.3"
|
||||
rimraf "^2.3.4"
|
||||
symlink-or-copy "^1.1.8"
|
||||
|
||||
brorand@^1.0.1:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
|
||||
|
@ -2464,6 +2481,11 @@ buffer-crc32@~0.2.3:
|
|||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
|
||||
|
||||
buffer-equal@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
|
||||
integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74=
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
|
@ -2715,7 +2737,7 @@ check-more-types@2.24.0:
|
|||
resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600"
|
||||
integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=
|
||||
|
||||
cheerio@^1.0.0-rc.3:
|
||||
cheerio@^1.0.0-rc.2, cheerio@^1.0.0-rc.3:
|
||||
version "1.0.0-rc.3"
|
||||
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6"
|
||||
integrity sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==
|
||||
|
@ -2877,11 +2899,35 @@ cliui@^5.0.0:
|
|||
strip-ansi "^5.2.0"
|
||||
wrap-ansi "^5.1.0"
|
||||
|
||||
clone@^1.0.2:
|
||||
clone-buffer@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
|
||||
integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg=
|
||||
|
||||
clone-stats@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
|
||||
integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=
|
||||
|
||||
clone@^1.0.0, clone@^1.0.2:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
||||
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
|
||||
|
||||
clone@^2.1.1:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
|
||||
integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
|
||||
|
||||
cloneable-readable@^1.0.0:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec"
|
||||
integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==
|
||||
dependencies:
|
||||
inherits "^2.0.1"
|
||||
process-nextick-args "^2.0.0"
|
||||
readable-stream "^2.3.5"
|
||||
|
||||
clsx@^1.0.1:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.0.4.tgz#0c0171f6d5cb2fe83848463c15fcc26b4df8c2ec"
|
||||
|
@ -2976,6 +3022,11 @@ colors@~1.1.2:
|
|||
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
|
||||
integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM=
|
||||
|
||||
colors@~1.2.0-rc0:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc"
|
||||
integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==
|
||||
|
||||
combined-stream@^1.0.6, combined-stream@~1.0.6:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
|
||||
|
@ -3008,6 +3059,13 @@ commander@~2.19.0:
|
|||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
|
||||
integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
|
||||
|
||||
commander@~2.9.0:
|
||||
version "2.9.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
||||
integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=
|
||||
dependencies:
|
||||
graceful-readlink ">= 1.0.0"
|
||||
|
||||
common-tags@1.8.0, common-tags@^1.4.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937"
|
||||
|
@ -3048,7 +3106,7 @@ concat-map@0.0.1:
|
|||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
|
||||
|
||||
concat-stream@1.6.2, concat-stream@^1.5.0:
|
||||
concat-stream@1.6.2, concat-stream@^1.5.0, concat-stream@~1.6.0:
|
||||
version "1.6.2"
|
||||
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
|
||||
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
|
||||
|
@ -3481,6 +3539,11 @@ date-fns@^1.27.2:
|
|||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
|
||||
integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==
|
||||
|
||||
de-indent@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
|
||||
integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=
|
||||
|
||||
debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
|
@ -3956,6 +4019,11 @@ enzyme@^3.3.0:
|
|||
rst-selector-parser "^2.2.3"
|
||||
string.prototype.trim "^1.2.1"
|
||||
|
||||
eol@^0.9.1:
|
||||
version "0.9.1"
|
||||
resolved "https://registry.yarnpkg.com/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd"
|
||||
integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==
|
||||
|
||||
errno@^0.1.3, errno@~0.1.7:
|
||||
version "0.1.7"
|
||||
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
|
||||
|
@ -4602,7 +4670,7 @@ flatten@^1.0.2:
|
|||
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b"
|
||||
integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==
|
||||
|
||||
flush-write-stream@^1.0.0:
|
||||
flush-write-stream@^1.0.0, flush-write-stream@^1.0.2:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
|
||||
integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
|
||||
|
@ -4698,6 +4766,23 @@ fs-extra@^4.0.2:
|
|||
jsonfile "^4.0.0"
|
||||
universalify "^0.1.0"
|
||||
|
||||
fs-extra@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b"
|
||||
integrity sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==
|
||||
dependencies:
|
||||
graceful-fs "^4.1.2"
|
||||
jsonfile "^4.0.0"
|
||||
universalify "^0.1.0"
|
||||
|
||||
fs-mkdirp-stream@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb"
|
||||
integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=
|
||||
dependencies:
|
||||
graceful-fs "^4.1.11"
|
||||
through2 "^2.0.3"
|
||||
|
||||
fs-write-stream-atomic@^1.0.8:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
|
||||
|
@ -4821,6 +4906,22 @@ glob-parent@^5.0.0:
|
|||
dependencies:
|
||||
is-glob "^4.0.1"
|
||||
|
||||
glob-stream@^6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4"
|
||||
integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=
|
||||
dependencies:
|
||||
extend "^3.0.0"
|
||||
glob "^7.1.1"
|
||||
glob-parent "^3.1.0"
|
||||
is-negated-glob "^1.0.0"
|
||||
ordered-read-streams "^1.0.0"
|
||||
pumpify "^1.3.5"
|
||||
readable-stream "^2.1.5"
|
||||
remove-trailing-separator "^1.0.1"
|
||||
to-absolute-glob "^2.0.0"
|
||||
unique-stream "^2.0.2"
|
||||
|
||||
glob@7.1.2:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
|
||||
|
@ -4833,7 +4934,7 @@ glob@7.1.2:
|
|||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
|
||||
glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
|
||||
version "7.1.6"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
|
||||
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
|
||||
|
@ -4927,11 +5028,16 @@ good-listener@^1.2.2:
|
|||
dependencies:
|
||||
delegate "^3.1.2"
|
||||
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
|
||||
graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
|
||||
integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
|
||||
|
||||
"graceful-readlink@>= 1.0.0":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
|
||||
integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
|
||||
|
||||
growl@1.10.5:
|
||||
version "1.10.5"
|
||||
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
|
||||
|
@ -4947,6 +5053,13 @@ gud@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0"
|
||||
integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==
|
||||
|
||||
gulp-sort@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-sort/-/gulp-sort-2.0.0.tgz#c6762a2f1f0de0a3fc595a21599d3fac8dba1aca"
|
||||
integrity sha1-xnYqLx8N4KP8WVohWZ0/rI26Gso=
|
||||
dependencies:
|
||||
through2 "^2.0.1"
|
||||
|
||||
handlebars@^4.1.2:
|
||||
version "4.5.3"
|
||||
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482"
|
||||
|
@ -5067,7 +5180,7 @@ he@1.1.1:
|
|||
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
|
||||
integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0=
|
||||
|
||||
he@1.2.x, he@^1.1.1:
|
||||
he@1.2.x, he@^1.1.0, he@^1.1.1:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
||||
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
||||
|
@ -5304,6 +5417,27 @@ https-proxy-agent@^2.2.1:
|
|||
agent-base "^4.3.0"
|
||||
debug "^3.1.0"
|
||||
|
||||
"i18next-parser@https://github.com/i18next/i18next-parser#master":
|
||||
version "1.0.0"
|
||||
resolved "https://github.com/i18next/i18next-parser#bb1d82074591ab1cc2ce885d4ea6be26ba0f36d1"
|
||||
dependencies:
|
||||
broccoli-plugin "^1.3.0"
|
||||
cheerio "^1.0.0-rc.2"
|
||||
colors "~1.2.0-rc0"
|
||||
commander "~2.9.0"
|
||||
concat-stream "~1.6.0"
|
||||
eol "^0.9.1"
|
||||
fs-extra "^6.0.1"
|
||||
gulp-sort "^2.0.0"
|
||||
i18next "^19.0.1"
|
||||
rsvp "^4.8.2"
|
||||
through2 "~2.0.3"
|
||||
typescript "^3.6.4"
|
||||
vinyl "~2.0.1"
|
||||
vinyl-fs "^3.0.2"
|
||||
vue-template-compiler "^2.6.11"
|
||||
yamljs "^0.3.0"
|
||||
|
||||
i18next@^18.0.1:
|
||||
version "18.0.1"
|
||||
resolved "https://registry.yarnpkg.com/i18next/-/i18next-18.0.1.tgz#10841209f6983df4d8e367204da403d8cbc609cf"
|
||||
|
@ -5311,6 +5445,13 @@ i18next@^18.0.1:
|
|||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
|
||||
i18next@^19.0.1:
|
||||
version "19.0.3"
|
||||
resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.0.3.tgz#31fd3165762d9802e08a2a86932db4eff5c862e9"
|
||||
integrity sha512-Ru4afr++b4cUApsIBifcMYyWG9Nx8wlFdq4DuOF+UuoPoQKfuh0iAVMekTjs6w1CZLUOVb5QZEuoYRLmu17EIA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
|
||||
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
|
||||
version "0.4.24"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
||||
|
@ -5504,6 +5645,14 @@ is-absolute-url@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
|
||||
integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
|
||||
|
||||
is-absolute@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
|
||||
integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
|
||||
dependencies:
|
||||
is-relative "^1.0.0"
|
||||
is-windows "^1.0.1"
|
||||
|
||||
is-accessor-descriptor@^0.1.6:
|
||||
version "0.1.6"
|
||||
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
|
||||
|
@ -5692,6 +5841,11 @@ is-installed-globally@0.1.0:
|
|||
global-dirs "^0.1.0"
|
||||
is-path-inside "^1.0.0"
|
||||
|
||||
is-negated-glob@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2"
|
||||
integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=
|
||||
|
||||
is-number-object@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197"
|
||||
|
@ -5745,6 +5899,13 @@ is-regexp@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
|
||||
integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
|
||||
|
||||
is-relative@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
|
||||
integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
|
||||
dependencies:
|
||||
is-unc-path "^1.0.0"
|
||||
|
||||
is-stream@^1.0.1, is-stream@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
|
||||
|
@ -5779,6 +5940,23 @@ is-typedarray@~1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
|
||||
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
|
||||
|
||||
is-unc-path@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
|
||||
integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
|
||||
dependencies:
|
||||
unc-path-regex "^0.1.2"
|
||||
|
||||
is-utf8@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
|
||||
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
|
||||
|
||||
is-valid-glob@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa"
|
||||
integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=
|
||||
|
||||
is-what@^3.3.1:
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.5.0.tgz#c50b0e8f3021e0b39410c159bea43a5510d99027"
|
||||
|
@ -6517,6 +6695,13 @@ lazy-ass@1.6.0:
|
|||
resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513"
|
||||
integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM=
|
||||
|
||||
lazystream@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4"
|
||||
integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=
|
||||
dependencies:
|
||||
readable-stream "^2.0.5"
|
||||
|
||||
lcid@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
|
||||
|
@ -6524,6 +6709,13 @@ lcid@^2.0.0:
|
|||
dependencies:
|
||||
invert-kv "^2.0.0"
|
||||
|
||||
lead@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42"
|
||||
integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=
|
||||
dependencies:
|
||||
flush-write-stream "^1.0.2"
|
||||
|
||||
left-pad@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
|
||||
|
@ -7111,6 +7303,11 @@ mkdirp@0.5.1, mkdirp@^0.5.1, mkdirp@~0.5.1:
|
|||
dependencies:
|
||||
minimist "0.0.8"
|
||||
|
||||
mktemp@~0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/mktemp/-/mktemp-0.4.0.tgz#6d0515611c8a8c84e484aa2000129b98e981ff0b"
|
||||
integrity sha1-bQUVYRyKjITkhKogABKbmOmB/ws=
|
||||
|
||||
mocha-webpack@^2.0.0-beta.0:
|
||||
version "2.0.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/mocha-webpack/-/mocha-webpack-2.0.0-beta.0.tgz#d85fc9a70f82a4ad595b7702a1181605dfa59549"
|
||||
|
@ -7389,6 +7586,13 @@ normalize-url@^1.4.0:
|
|||
query-string "^4.1.0"
|
||||
sort-keys "^1.0.0"
|
||||
|
||||
now-and-later@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c"
|
||||
integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==
|
||||
dependencies:
|
||||
once "^1.3.2"
|
||||
|
||||
npm-run-path@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
|
||||
|
@ -7531,7 +7735,7 @@ on-headers@~1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
|
||||
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
|
||||
|
||||
once@^1.3.0, once@^1.3.1, once@^1.4.0:
|
||||
once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
|
||||
|
@ -7585,6 +7789,13 @@ ora@^0.2.3:
|
|||
cli-spinners "^0.1.2"
|
||||
object-assign "^4.0.1"
|
||||
|
||||
ordered-read-streams@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e"
|
||||
integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=
|
||||
dependencies:
|
||||
readable-stream "^2.0.1"
|
||||
|
||||
os-browserify@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
|
||||
|
@ -8301,7 +8512,7 @@ private@^0.1.6, private@~0.1.5:
|
|||
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
|
||||
integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
|
||||
|
||||
process-nextick-args@~2.0.0:
|
||||
process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
||||
|
@ -8326,6 +8537,13 @@ promise-limit@^2.5.0:
|
|||
resolved "https://registry.yarnpkg.com/promise-limit/-/promise-limit-2.7.0.tgz#eb5737c33342a030eaeaecea9b3d3a93cb592b26"
|
||||
integrity sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==
|
||||
|
||||
promise-map-series@^0.2.1:
|
||||
version "0.2.3"
|
||||
resolved "https://registry.yarnpkg.com/promise-map-series/-/promise-map-series-0.2.3.tgz#c2d377afc93253f6bd03dbb77755eb88ab20a847"
|
||||
integrity sha1-wtN3r8kyU/a9A9u3d1XriKsgqEc=
|
||||
dependencies:
|
||||
rsvp "^3.0.14"
|
||||
|
||||
prompts@^2.0.1:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4"
|
||||
|
@ -8415,7 +8633,7 @@ pump@^3.0.0:
|
|||
end-of-stream "^1.1.0"
|
||||
once "^1.3.1"
|
||||
|
||||
pumpify@^1.3.3:
|
||||
pumpify@^1.3.3, pumpify@^1.3.5:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
|
||||
integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
|
||||
|
@ -8491,6 +8709,15 @@ querystring@0.2.0, querystring@^0.2.0:
|
|||
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
|
||||
integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
|
||||
|
||||
quick-temp@^0.1.3:
|
||||
version "0.1.8"
|
||||
resolved "https://registry.yarnpkg.com/quick-temp/-/quick-temp-0.1.8.tgz#bab02a242ab8fb0dd758a3c9776b32f9a5d94408"
|
||||
integrity sha1-urAqJCq4+w3XWKPJd2sy+aXZRAg=
|
||||
dependencies:
|
||||
mktemp "~0.4.0"
|
||||
rimraf "^2.5.4"
|
||||
underscore.string "~3.3.4"
|
||||
|
||||
raf@^3.4.1:
|
||||
version "3.4.1"
|
||||
resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
|
||||
|
@ -8895,6 +9122,19 @@ read-pkg@^3.0.0:
|
|||
string_decoder "~1.1.1"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
readable-stream@^2.0.5, readable-stream@^2.3.5:
|
||||
version "2.3.7"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
|
||||
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
|
||||
dependencies:
|
||||
core-util-is "~1.0.0"
|
||||
inherits "~2.0.3"
|
||||
isarray "~1.0.0"
|
||||
process-nextick-args "~2.0.0"
|
||||
safe-buffer "~5.1.1"
|
||||
string_decoder "~1.1.1"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
readable-stream@^3.1.1:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc"
|
||||
|
@ -9106,6 +9346,23 @@ remark-parse@^5.0.0:
|
|||
vfile-location "^2.0.0"
|
||||
xtend "^4.0.1"
|
||||
|
||||
remove-bom-buffer@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53"
|
||||
integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==
|
||||
dependencies:
|
||||
is-buffer "^1.1.5"
|
||||
is-utf8 "^0.2.1"
|
||||
|
||||
remove-bom-stream@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523"
|
||||
integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=
|
||||
dependencies:
|
||||
remove-bom-buffer "^3.0.0"
|
||||
safe-buffer "^5.1.0"
|
||||
through2 "^2.0.3"
|
||||
|
||||
remove-trailing-separator@^1.0.1:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
|
||||
|
@ -9139,7 +9396,7 @@ repeating@^2.0.0:
|
|||
dependencies:
|
||||
is-finite "^1.0.0"
|
||||
|
||||
replace-ext@1.0.0:
|
||||
replace-ext@1.0.0, replace-ext@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
|
||||
integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
|
||||
|
@ -9243,6 +9500,13 @@ resolve-from@^4.0.0:
|
|||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
|
||||
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
|
||||
|
||||
resolve-options@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131"
|
||||
integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=
|
||||
dependencies:
|
||||
value-or-function "^3.0.0"
|
||||
|
||||
resolve-pathname@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
|
||||
|
@ -9293,7 +9557,7 @@ rimraf@2.6.3:
|
|||
dependencies:
|
||||
glob "^7.1.3"
|
||||
|
||||
rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
|
||||
rimraf@^2.3.4, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
|
||||
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
|
||||
|
@ -9316,7 +9580,12 @@ rst-selector-parser@^2.2.3:
|
|||
lodash.flattendeep "^4.4.0"
|
||||
nearley "^2.7.10"
|
||||
|
||||
rsvp@^4.8.4:
|
||||
rsvp@^3.0.14:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
|
||||
integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==
|
||||
|
||||
rsvp@^4.8.2, rsvp@^4.8.4:
|
||||
version "4.8.5"
|
||||
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
|
||||
integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
|
||||
|
@ -9767,6 +10036,11 @@ split-string@^3.0.1, split-string@^3.0.2:
|
|||
dependencies:
|
||||
extend-shallow "^3.0.0"
|
||||
|
||||
sprintf-js@^1.0.3:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
|
||||
integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
|
||||
|
||||
sprintf-js@~1.0.2:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||
|
@ -10132,6 +10406,11 @@ symbol-tree@^3.2.2:
|
|||
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
||||
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
|
||||
|
||||
symlink-or-copy@^1.1.8:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/symlink-or-copy/-/symlink-or-copy-1.3.1.tgz#9506dd64d8e98fa21dcbf4018d1eab23e77f71fe"
|
||||
integrity sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==
|
||||
|
||||
tabbable@^1.0.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-1.1.3.tgz#0e4ee376f3631e42d7977a074dbd2b3827843081"
|
||||
|
@ -10208,7 +10487,15 @@ throttleit@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
|
||||
integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=
|
||||
|
||||
through2@^2.0.0:
|
||||
through2-filter@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254"
|
||||
integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==
|
||||
dependencies:
|
||||
through2 "~2.0.0"
|
||||
xtend "~4.0.0"
|
||||
|
||||
through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0, through2@~2.0.3:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
|
||||
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
|
||||
|
@ -10267,6 +10554,14 @@ tmpl@1.0.x:
|
|||
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
|
||||
integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
|
||||
|
||||
to-absolute-glob@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b"
|
||||
integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=
|
||||
dependencies:
|
||||
is-absolute "^1.0.0"
|
||||
is-negated-glob "^1.0.0"
|
||||
|
||||
to-arraybuffer@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
|
||||
|
@ -10307,6 +10602,13 @@ to-regex@^3.0.1, to-regex@^3.0.2:
|
|||
regex-not "^1.0.2"
|
||||
safe-regex "^1.1.0"
|
||||
|
||||
to-through@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6"
|
||||
integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=
|
||||
dependencies:
|
||||
through2 "^2.0.3"
|
||||
|
||||
toidentifier@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
|
||||
|
@ -10431,6 +10733,11 @@ typedarray@^0.0.6:
|
|||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
||||
|
||||
typescript@^3.6.4:
|
||||
version "3.7.5"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae"
|
||||
integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==
|
||||
|
||||
typescript@^3.7.2:
|
||||
version "3.7.4"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19"
|
||||
|
@ -10452,6 +10759,19 @@ uglify-js@^3.1.4:
|
|||
commander "~2.20.3"
|
||||
source-map "~0.6.1"
|
||||
|
||||
unc-path-regex@^0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
|
||||
integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
|
||||
|
||||
underscore.string@~3.3.4:
|
||||
version "3.3.5"
|
||||
resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023"
|
||||
integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==
|
||||
dependencies:
|
||||
sprintf-js "^1.0.3"
|
||||
util-deprecate "^1.0.2"
|
||||
|
||||
unherit@^1.0.4:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449"
|
||||
|
@ -10536,6 +10856,14 @@ unique-slug@^2.0.0:
|
|||
dependencies:
|
||||
imurmurhash "^0.1.4"
|
||||
|
||||
unique-stream@^2.0.2:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac"
|
||||
integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==
|
||||
dependencies:
|
||||
json-stable-stringify-without-jsonify "^1.0.1"
|
||||
through2-filter "^3.0.0"
|
||||
|
||||
unist-util-is@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd"
|
||||
|
@ -10652,7 +10980,7 @@ use@^3.1.0:
|
|||
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
|
||||
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
|
||||
|
||||
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
|
||||
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
|
||||
|
@ -10717,6 +11045,11 @@ value-equal@^1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c"
|
||||
integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==
|
||||
|
||||
value-or-function@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813"
|
||||
integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=
|
||||
|
||||
vary@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
|
||||
|
@ -10758,6 +11091,67 @@ vfile@^2.0.0:
|
|||
unist-util-stringify-position "^1.0.0"
|
||||
vfile-message "^1.0.0"
|
||||
|
||||
vinyl-fs@^3.0.2:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7"
|
||||
integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==
|
||||
dependencies:
|
||||
fs-mkdirp-stream "^1.0.0"
|
||||
glob-stream "^6.1.0"
|
||||
graceful-fs "^4.0.0"
|
||||
is-valid-glob "^1.0.0"
|
||||
lazystream "^1.0.0"
|
||||
lead "^1.0.0"
|
||||
object.assign "^4.0.4"
|
||||
pumpify "^1.3.5"
|
||||
readable-stream "^2.3.3"
|
||||
remove-bom-buffer "^3.0.0"
|
||||
remove-bom-stream "^1.2.0"
|
||||
resolve-options "^1.1.0"
|
||||
through2 "^2.0.0"
|
||||
to-through "^2.0.0"
|
||||
value-or-function "^3.0.0"
|
||||
vinyl "^2.0.0"
|
||||
vinyl-sourcemap "^1.1.0"
|
||||
|
||||
vinyl-sourcemap@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16"
|
||||
integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=
|
||||
dependencies:
|
||||
append-buffer "^1.0.2"
|
||||
convert-source-map "^1.5.0"
|
||||
graceful-fs "^4.1.6"
|
||||
normalize-path "^2.1.1"
|
||||
now-and-later "^2.0.0"
|
||||
remove-bom-buffer "^3.0.0"
|
||||
vinyl "^2.0.0"
|
||||
|
||||
vinyl@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86"
|
||||
integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==
|
||||
dependencies:
|
||||
clone "^2.1.1"
|
||||
clone-buffer "^1.0.0"
|
||||
clone-stats "^1.0.0"
|
||||
cloneable-readable "^1.0.0"
|
||||
remove-trailing-separator "^1.0.1"
|
||||
replace-ext "^1.0.0"
|
||||
|
||||
vinyl@~2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.0.2.tgz#0a3713d8d4e9221c58f10ca16c0116c9e25eda7c"
|
||||
integrity sha1-CjcT2NTpIhxY8QyhbAEWyeJe2nw=
|
||||
dependencies:
|
||||
clone "^1.0.0"
|
||||
clone-buffer "^1.0.0"
|
||||
clone-stats "^1.0.0"
|
||||
cloneable-readable "^1.0.0"
|
||||
is-stream "^1.1.0"
|
||||
remove-trailing-separator "^1.0.1"
|
||||
replace-ext "^1.0.0"
|
||||
|
||||
vm-browserify@^1.0.1:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
|
||||
|
@ -10768,6 +11162,14 @@ void-elements@^2.0.1:
|
|||
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
|
||||
integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=
|
||||
|
||||
vue-template-compiler@^2.6.11:
|
||||
version "2.6.11"
|
||||
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080"
|
||||
integrity sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==
|
||||
dependencies:
|
||||
de-indent "^1.0.2"
|
||||
he "^1.1.0"
|
||||
|
||||
w3c-hr-time@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"
|
||||
|
@ -11164,7 +11566,7 @@ xmlchars@^2.1.1:
|
|||
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
||||
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
|
||||
|
||||
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
|
||||
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||
|
@ -11210,6 +11612,14 @@ yaml@^1.7.2:
|
|||
dependencies:
|
||||
"@babel/runtime" "^7.6.3"
|
||||
|
||||
yamljs@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/yamljs/-/yamljs-0.3.0.tgz#dc060bf267447b39f7304e9b2bfbe8b5a7ddb03b"
|
||||
integrity sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
glob "^7.0.5"
|
||||
|
||||
yargs-parser@^13.1.0, yargs-parser@^13.1.1:
|
||||
version "13.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0"
|
||||
|
|
Loading…
Reference in New Issue