From af2d4426987cd9da15ca41f1e5e97aeba80ea974 Mon Sep 17 00:00:00 2001 From: Romain Crestey Date: Mon, 3 Jul 2023 17:51:42 +0200 Subject: [PATCH] french translation --- .github/ISSUE_TEMPLATE.md | 29 +- .github/ISSUE_TEMPLATE/bug_report.yml | 50 - .github/ISSUE_TEMPLATE/config.yml | 5 - .github/ISSUE_TEMPLATE/feature_request.yml | 42 - .github/PULL_REQUEST_TEMPLATE.md | 15 +- .github/workflows/track-docs.yml | 47 + README.md | 6 + .../01-getting-started/01-introduction.md | 29 +- .../docs/01-getting-started/meta.json | 2 +- .../01-svelte-components.md | 202 +- .../02-template-syntax/02-basic-markup.md | 72 +- .../02-template-syntax/03-logic-blocks.md | 81 +- .../02-template-syntax/04-special-tags.md | 23 +- .../05-element-directives.md | 431 +++-- .../06-component-directives.md | 79 +- .../02-template-syntax/07-special-elements.md | 221 +-- .../docs/02-template-syntax/meta.json | 2 +- documentation/docs/03-runtime/01-svelte.md | 73 +- .../docs/03-runtime/02-svelte-store.md | 68 +- .../docs/03-runtime/03-svelte-motion.md | 48 +- .../docs/03-runtime/04-svelte-transition.md | 116 +- .../docs/03-runtime/05-svelte-animate.md | 21 +- .../docs/03-runtime/06-svelte-easing.md | 27 +- .../docs/03-runtime/07-svelte-action.md | 24 +- .../04-compiler-and-api/01-svelte-compiler.md | 83 +- .../02-client-side-component-api.md | 50 +- .../03-server-side-component-api.md | 22 +- .../04-custom-elements-api.md | 81 +- .../docs/04-compiler-and-api/meta.json | 2 +- documentation/docs/05-misc/01-faq.md | 122 +- .../docs/05-misc/02-accessibility-warnings.md | 133 +- documentation/docs/05-misc/03-typescript.md | 94 +- .../docs/05-misc/04-v4-migration-guide.md | 127 +- documentation/docs/05-misc/meta.json | 2 +- .../docs/06-legacy/01-svelte-register.md | 10 +- documentation/docs/06-legacy/meta.json | 2 +- .../docs/07-glossary/01-development.md | 296 +++ documentation/docs/07-glossary/02-web.md | 295 +++ .../docs/07-glossary/03-javascript.md | 160 ++ documentation/docs/07-glossary/04-sveltejs.md | 90 + documentation/docs/07-glossary/meta.json | 3 + .../00-introduction/00-hello-world/App.svelte | 4 +- .../00-introduction/00-hello-world/meta.json | 4 +- .../01-dynamic-attributes/App.svelte | 8 +- .../01-dynamic-attributes/meta.json | 4 +- .../00-introduction/02-styling/App.svelte | 4 +- .../00-introduction/02-styling/meta.json | 4 +- .../03-nested-components/App.svelte | 6 +- .../03-nested-components/Nested.svelte | 2 +- .../03-nested-components/meta.json | 4 +- .../00-introduction/04-html-tags/App.svelte | 2 +- .../00-introduction/04-html-tags/meta.json | 2 +- .../00-reactive-assignments/App.svelte | 3 +- .../00-reactive-assignments/meta.json | 4 +- .../01-reactive-declarations/App.svelte | 6 +- .../01-reactive-declarations/meta.json | 4 +- .../02-reactive-statements/App.svelte | 7 +- .../02-reactive-statements/meta.json | 4 +- .../examples/01-reactivity/meta.json | 2 +- .../02-props/00-declaring-props/App.svelte | 2 +- .../02-props/00-declaring-props/Nested.svelte | 2 +- .../02-props/00-declaring-props/meta.json | 2 +- .../02-props/01-default-values/App.svelte | 4 +- .../02-props/01-default-values/Nested.svelte | 4 +- .../02-props/01-default-values/meta.json | 2 +- .../02-props/02-spread-props/App.svelte | 4 +- .../02-props/02-spread-props/Info.svelte | 6 +- .../02-props/02-spread-props/meta.json | 2 +- documentation/examples/02-props/meta.json | 2 +- .../examples/03-logic/00-if-blocks/App.svelte | 4 +- .../examples/03-logic/00-if-blocks/meta.json | 2 +- .../03-logic/01-else-blocks/App.svelte | 4 +- .../03-logic/01-else-blocks/meta.json | 2 +- .../03-logic/02-else-if-blocks/App.svelte | 6 +- .../03-logic/02-else-if-blocks/meta.json | 2 +- .../03-logic/03-each-blocks/App.svelte | 26 +- .../03-logic/03-each-blocks/meta.json | 2 +- .../03-logic/04-keyed-each-blocks/App.svelte | 12 +- .../04-keyed-each-blocks/Thing.svelte | 6 +- .../03-logic/04-keyed-each-blocks/meta.json | 2 +- .../03-logic/05-await-blocks/App.svelte | 10 +- .../03-logic/05-await-blocks/meta.json | 2 +- documentation/examples/03-logic/meta.json | 2 +- .../04-events/00-dom-events/App.svelte | 2 +- .../04-events/00-dom-events/meta.json | 2 +- .../04-events/01-inline-handlers/App.svelte | 4 +- .../04-events/01-inline-handlers/meta.json | 2 +- .../04-events/02-event-modifiers/App.svelte | 4 +- .../04-events/02-event-modifiers/meta.json | 2 +- .../04-events/03-component-events/App.svelte | 2 +- .../03-component-events/Inner.svelte | 4 +- .../04-events/03-component-events/meta.json | 2 +- .../04-events/04-event-forwarding/App.svelte | 2 +- .../04-event-forwarding/Inner.svelte | 4 +- .../04-event-forwarding/Outer.svelte | 2 +- .../04-events/04-event-forwarding/meta.json | 2 +- .../05-dom-event-forwarding/App.svelte | 2 +- .../CustomButton.svelte | 2 +- .../05-dom-event-forwarding/meta.json | 2 +- documentation/examples/04-events/meta.json | 2 +- .../05-bindings/00-text-inputs/App.svelte | 4 +- .../05-bindings/00-text-inputs/meta.json | 2 +- .../05-bindings/01-numeric-inputs/meta.json | 2 +- .../05-bindings/02-checkbox-inputs/App.svelte | 8 +- .../05-bindings/02-checkbox-inputs/meta.json | 2 +- .../05-bindings/03-group-inputs/App.svelte | 34 +- .../05-bindings/03-group-inputs/meta.json | 2 +- .../05-bindings/04-textarea-inputs/App.svelte | 6 +- .../05-bindings/04-textarea-inputs/meta.json | 2 +- .../05-bindings/05-file-inputs/App.svelte | 14 +- .../05-bindings/05-file-inputs/meta.json | 2 +- .../05-bindings/06-select-bindings/App.svelte | 17 +- .../05-bindings/06-select-bindings/meta.json | 2 +- .../07-multiple-select-bindings/App.svelte | 24 +- .../07-multiple-select-bindings/meta.json | 2 +- .../08-each-block-bindings/App.svelte | 18 +- .../08-each-block-bindings/meta.json | 2 +- .../05-bindings/09-media-elements/App.svelte | 23 +- .../05-bindings/09-media-elements/meta.json | 2 +- .../05-bindings/10-dimensions/App.svelte | 4 +- .../12-component-bindings/App.svelte | 4 +- .../12-component-bindings/Keypad.svelte | 4 +- .../12-component-bindings/meta.json | 2 +- documentation/examples/05-bindings/meta.json | 2 +- .../06-lifecycle/00-onmount/App.svelte | 6 +- .../06-lifecycle/01-ondestroy/App.svelte | 4 +- .../examples/06-lifecycle/02-update/meta.json | 2 +- .../examples/06-lifecycle/03-tick/App.svelte | 2 +- documentation/examples/06-lifecycle/meta.json | 2 +- .../07-stores/00-writable-stores/App.svelte | 2 +- .../00-writable-stores/Resetter.svelte | 2 +- .../07-stores/00-writable-stores/meta.json | 2 +- .../01-auto-subscriptions/App.svelte | 2 +- .../01-auto-subscriptions/Resetter.svelte | 2 +- .../07-stores/01-auto-subscriptions/meta.json | 2 +- .../07-stores/02-readable-stores/App.svelte | 4 +- .../07-stores/02-readable-stores/meta.json | 2 +- .../07-stores/03-derived-stores/App.svelte | 6 +- .../07-stores/03-derived-stores/meta.json | 2 +- .../07-stores/04-custom-stores/App.svelte | 4 +- .../07-stores/04-custom-stores/meta.json | 2 +- .../examples/08-motion/00-tweened/meta.json | 2 +- .../examples/08-motion/01-spring/App.svelte | 5 +- .../examples/08-motion/01-spring/meta.json | 2 +- documentation/examples/08-motion/meta.json | 2 +- .../09-transitions/00-transition/App.svelte | 2 +- .../09-transitions/00-transition/meta.json | 2 +- .../App.svelte | 2 +- .../meta.json | 2 +- .../09-transitions/02-in-and-out/App.svelte | 2 +- .../09-transitions/02-in-and-out/meta.json | 2 +- .../03-custom-css-transitions/App.svelte | 2 +- .../03-custom-css-transitions/meta.json | 2 +- .../04-custom-js-transitions/App.svelte | 6 +- .../04-custom-js-transitions/meta.json | 2 +- .../05-transition-events/App.svelte | 14 +- .../05-transition-events/meta.json | 2 +- .../06-deferred-transitions/App.svelte | 5 +- .../06-deferred-transitions/meta.json | 2 +- .../10-animations/00-animate/App.svelte | 18 +- .../10-animations/00-animate/meta.json | 2 +- .../11-easing/00-easing/Controls.svelte | 6 +- .../examples/11-easing/00-easing/meta.json | 2 +- documentation/examples/11-easing/meta.json | 2 +- .../examples/12-svg/01-clock/App.svelte | 12 +- .../examples/12-svg/01-clock/meta.json | 2 +- .../examples/12-svg/02-bar-chart/App.svelte | 8 +- .../examples/12-svg/02-bar-chart/meta.json | 2 +- .../examples/12-svg/03-area-chart/App.svelte | 18 +- .../examples/12-svg/03-area-chart/meta.json | 2 +- .../examples/12-svg/04-scatterplot/App.svelte | 2 +- .../12-svg/04-scatterplot/Scatterplot.svelte | 6 +- .../examples/12-svg/04-scatterplot/meta.json | 2 +- .../12-svg/05-svg-transitions/App.svelte | 4 +- .../12-svg/05-svg-transitions/meta.json | 2 +- .../examples/13-actions/00-actions/App.svelte | 6 +- .../examples/13-actions/00-actions/meta.json | 2 +- .../App.svelte | 4 +- .../01-adding-parameters-to-actions/meta.json | 2 +- .../13-actions/03-actions-pannable/meta.json | 2 +- .../examples/14-classes/00-classes/meta.json | 2 +- .../14-classes/01-class-shorthand/App.svelte | 4 +- .../14-classes/01-class-shorthand/meta.json | 2 +- .../15-composition/00-slots/App.svelte | 4 +- .../01-slot-fallbacks/App.svelte | 4 +- .../01-slot-fallbacks/Box.svelte | 2 +- .../01-slot-fallbacks/meta.json | 2 +- .../15-composition/02-named-slots/App.svelte | 6 +- .../02-named-slots/ContactCard.svelte | 6 +- .../15-composition/02-named-slots/meta.json | 2 +- .../15-composition/03-slot-props/App.svelte | 13 +- .../15-composition/03-slot-props/meta.json | 2 +- .../04-conditional-slots/Profile.svelte | 6 +- .../04-conditional-slots/meta.json | 2 +- .../15-composition/05-modal/App.svelte | 47 +- .../15-composition/05-modal/Modal.svelte | 7 +- .../15-composition/05-modal/meta.json | 2 +- .../examples/15-composition/meta.json | 2 +- .../16-context/00-context-api/meta.json | 2 +- documentation/examples/16-context/meta.json | 2 +- .../00-svelte-self/App.svelte | 10 +- .../01-svelte-component/BlueThing.svelte | 4 +- .../02-svelte-element/App.svelte | 2 +- .../03-svelte-window/App.svelte | 4 +- .../04-svelte-window-bindings/App.svelte | 6 +- .../04-svelte-window-bindings/meta.json | 2 +- .../05-svelte-document/App.svelte | 5 +- .../06-svelte-body/App.svelte | 2 +- .../07-svelte-head/App.svelte | 2 +- .../examples/17-special-elements/meta.json | 2 +- .../01-module-exports/App.svelte | 2 +- .../01-module-exports/AudioPlayer.svelte | 2 +- .../01-module-exports/meta.json | 2 +- .../examples/19-debugging/00-debug/App.svelte | 2 +- .../examples/19-debugging/00-debug/meta.json | 2 +- documentation/examples/19-debugging/meta.json | 2 +- .../20-7guis/01-7guis-counter/App.svelte | 2 +- .../20-7guis/01-7guis-counter/meta.json | 2 +- .../20-7guis/02-7guis-temperature/meta.json | 2 +- .../03-7guis-flight-booker/App.svelte | 14 +- .../20-7guis/03-7guis-flight-booker/meta.json | 2 +- .../20-7guis/04-7guis-timer/App.svelte | 6 +- .../20-7guis/04-7guis-timer/meta.json | 2 +- .../20-7guis/05-7guis-crud/App.svelte | 12 +- .../20-7guis/06-7guis-circles/App.svelte | 18 +- .../20-7guis/06-7guis-circles/meta.json | 2 +- .../01-hacker-news/App.svelte | 6 +- .../01-hacker-news/Item.svelte | 4 +- .../01-hacker-news/List.svelte | 2 +- .../01-hacker-news/Summary.svelte | 11 +- .../02-immutable-data/App.svelte | 10 +- .../02-immutable-data/ImmutableTodo.svelte | 14 +- .../02-immutable-data/MutableTodo.svelte | 14 +- .../02-immutable-data/meta.json | 2 +- i18n.md | 260 +++ packages/svelte/src/compiler/types/index.d.ts | 288 +++ packages/svelte/src/main/public.d.ts | 205 ++ .../svelte/src/runtime/action/public.d.ts | 31 +- packages/svelte/src/runtime/store/public.d.ts | 37 +- pnpm-lock.yaml | 1688 ++++------------- sites/svelte.dev/.env | 5 + sites/svelte.dev/scripts/get_contributors.js | 4 +- sites/svelte.dev/src/app.html | 2 +- sites/svelte.dev/src/lib/server/docs/index.js | 19 +- sites/svelte.dev/src/lib/time.js | 2 +- .../src/routes/(authed)/apps/+page.svelte | 35 +- .../routes/(authed)/repl/[id]/+page.svelte | 2 +- .../(authed)/repl/[id]/AppControls.svelte | 23 +- .../routes/(authed)/repl/[id]/UserMenu.svelte | 4 +- .../(authed)/repl/api/[id].json/+server.js | 4 +- .../routes/(authed)/repl/embed/+page.svelte | 4 +- sites/svelte.dev/src/routes/+layout.server.js | 10 +- sites/svelte.dev/src/routes/+layout.svelte | 32 +- sites/svelte.dev/src/routes/+page.svelte | 42 +- .../src/routes/_components/Demo.svelte | 17 +- .../src/routes/_components/Hero.svelte | 13 +- .../_components/Supporters/index.svelte | 12 +- .../_components/WhosUsingSvelte/index.svelte | 14 +- .../src/routes/blog/[slug]/+page.svelte | 4 +- sites/svelte.dev/src/routes/chat/+server.js | 2 +- .../src/routes/docs/[slug]/+page.svelte | 17 +- .../src/routes/examples/[slug]/+page.svelte | 6 +- .../svelte.dev/src/routes/nav.json/+server.js | 4 +- .../svelte.dev/src/routes/search/+page.svelte | 17 +- .../src/routes/tutorial/[slug]/+page.svelte | 8 +- 265 files changed, 3911 insertions(+), 3104 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml delete mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/workflows/track-docs.yml create mode 100644 documentation/docs/07-glossary/01-development.md create mode 100644 documentation/docs/07-glossary/02-web.md create mode 100644 documentation/docs/07-glossary/03-javascript.md create mode 100644 documentation/docs/07-glossary/04-sveltejs.md create mode 100644 documentation/docs/07-glossary/meta.json create mode 100644 i18n.md create mode 100644 packages/svelte/src/compiler/types/index.d.ts create mode 100644 packages/svelte/src/main/public.d.ts diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 220af11834..9b22dd4f21 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,28 +1,7 @@ ---- -Before filing an issue we'd appreciate it if you could take a moment to ensure -there isn't already an open issue or pull-request. ---- +## Attention -If there's an existing issue, please add a :+1: reaction to the description of -the issue. One way we prioritize issues is by the number of :+1: reactions on -their descriptions. Please DO NOT add `+1` or :+1: comments. +Vous vous apprêtez à ouvrir une issue sur le projet de traduction francophone de la documentation de Svelte. -### Feature requests and proposals +Ce projet est uniquement dédié à de la traduction, et nous n'accepterons donc que les issues dont l'objet est l'ajout ou la modification de traductions, ou tout outillage associé. -We're excited to hear how we can make Svelte better. Please add as much detail -as you can on your use case. To propose an implementation of a large feature or -change, please create an [RFC](https://github.com/sveltejs/rfcs). - -### Bugs - -If you're filing an issue about a bug please include as much information -as you can including the following. - -- Your browser and the version: (e.x. Chrome 52.1, Firefox 48.0, IE 10) -- Your operating system: (e.x. OS X 10, Windows XP, etc) -- Svelte version (Please check you can reproduce the issue with the latest release!) -- Whether your project uses Webpack or Rollup - -- _Repeatable steps to reproduce the issue_ - -## Thanks for being part of Svelte! +Pour toute issue liée au projet Svelte en lui-même, merci de les ouvrir sur le [repository officiel](https://github.com/sveltejs/svelte/issues). diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index 2e484e5ca2..0000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: "\U0001F41E Bug report" -description: Report an issue with Svelte -labels: ['triage: bug'] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this bug report! - - type: textarea - id: bug-description - attributes: - label: Describe the bug - description: A clear and concise description of what the bug is. If you intend to submit a PR for this issue, tell us in the description. Thanks! - placeholder: Bug description - validations: - required: true - - type: textarea - id: reproduction - attributes: - label: Reproduction - description: Please provide a link to a repo or REPL that can reproduce the problem you ran into. If a report is vague (e.g. just a generic error message) and has no reproduction, it will receive a "need reproduction" label. If no reproduction is provided within a reasonable time-frame, the issue will be closed. - placeholder: Reproduction - validations: - required: true - - type: textarea - id: logs - attributes: - label: Logs - description: 'Please include browser console and server logs around the time this bug occurred. Optional if provided reproduction. Please try not to insert an image but copy paste the log text.' - render: shell - - type: textarea - id: system-info - attributes: - label: System Info - description: Output of `npx envinfo --system --npmPackages svelte,rollup,webpack --binaries --browsers` - render: shell - placeholder: System, Binaries, Browsers - validations: - required: true - - type: dropdown - id: severity - attributes: - label: Severity - description: Select the severity of this issue - options: - - annoyance - - blocking an upgrade - - blocking all usage of svelte - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index ee3e5a41b9..0000000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: Discord Chat - url: https://svelte.dev/chat - about: Ask questions and discuss with other Svelte users in real time. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index 08aa9adcb9..0000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: 'Feature Request' -description: Request a new Svelte feature -labels: [enhancement] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to request this feature! If your feature request is complex or substantial enough to warrant in-depth discussion, maintainers may close the issue and ask you to open an [RFC](https://github.com/sveltejs/rfcs). - - type: textarea - id: problem - attributes: - label: Describe the problem - description: Please provide a clear and concise description the problem this feature would solve. The more information you can provide here, the better. - placeholder: I'm always frustrated when... - validations: - required: true - - type: textarea - id: solution - attributes: - label: Describe the proposed solution - description: Please provide a clear and concise description of what you would like to happen. - placeholder: I would like to see... - validations: - required: true - - type: textarea - id: alternatives - attributes: - label: Alternatives considered - description: "Please provide a clear and concise description of any alternative solutions or features you've considered." - validations: - required: true - - type: dropdown - id: importance - attributes: - label: Importance - description: How important is this feature to you? - options: - - nice to have - - would make my life easier - - i cannot use svelte without it - validations: - required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 49d60aecaa..63e6f2fa47 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,14 +1,7 @@ -## Svelte compiler rewrite +## Attention -Please note that [the Svelte codebase is currently being rewritten](https://svelte.dev/blog/runes). Thus, it's best to hold off on new features or refactorings for the time being. +Vous vous apprêtez à ouvrir une PR sur le projet de traduction francophone de la documentation de Svelte. -### Before submitting the PR, please make sure you do the following +Ce projet est uniquement dédié à de la traduction, et nous n'accepterons donc que les PRs dont l'objet est l'ajout ou la modification de traductions, ou tout outillage associé. -- [ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs -- [ ] Prefix your PR title with `feat:`, `fix:`, `chore:`, or `docs:`. -- [ ] This message body should clearly illustrate what problems it solves. -- [ ] Ideally, include a test that fails without this PR but passes with it. - -### Tests and linting - -- [ ] Run the tests with `pnpm test` and lint the project with `pnpm lint` +Pour toute PR liée au projet Svelte en lui-même, merci de les ouvrir sur le [repository officiel](https://github.com/sveltejs/svelte/pulls). diff --git a/.github/workflows/track-docs.yml b/.github/workflows/track-docs.yml new file mode 100644 index 0000000000..27f39bc462 --- /dev/null +++ b/.github/workflows/track-docs.yml @@ -0,0 +1,47 @@ +name: Docs tracker + +on: + workflow_dispatch: + schedule: + - cron: '0 3 * * *' + +jobs: + track-docs: + runs-on: ubuntu-latest + name: Checking Docs + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Svelte docs new commits + uses: AlexxNB/track-commits-to-issue@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + owner: sveltejs + repo: svelte + dir: documentation + track-site: + runs-on: ubuntu-latest + name: Checking Site + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Svelte site new commits + uses: AlexxNB/track-commits-to-issue@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + owner: sveltejs + repo: svelte + dir: sites/svelte.dev + track-svelte: + runs-on: ubuntu-latest + name: Checking Svelte core + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Svelte new commits + uses: AlexxNB/track-commits-to-issue@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + owner: sveltejs + repo: svelte + dir: packages/svelte/src diff --git a/README.md b/README.md index 4dbfee3823..f2630c10aa 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,12 @@ The source code for https://svelte.dev lives in the [sites](https://github.com/s Probably not, but it's possible. If you can't seem to access any `.dev` sites, check out [this SuperUser question and answer](https://superuser.com/q/1413402). +## Translating Svelte docs + +This is the french version of the Svelte website. + +Read more about this was done [here](i18n.md). + ## License [MIT](LICENSE.md) diff --git a/documentation/docs/01-getting-started/01-introduction.md b/documentation/docs/01-getting-started/01-introduction.md index 8d3c41ce1a..5987290826 100644 --- a/documentation/docs/01-getting-started/01-introduction.md +++ b/documentation/docs/01-getting-started/01-introduction.md @@ -2,13 +2,18 @@ title: Introduction --- -Welcome to the Svelte reference documentation! This is intended as a resource for people who already have some familiarity with Svelte and want to learn more about using it. +Bienvenue sur la documentation Svelte de référence ! Ces pages sont pensées comme une ressource utile pour des personnes ayant déjà une certaine familiarité avec Svelte, et souhaitant en apprendre davantage. -If that's not you (yet), you may prefer to visit the [interactive tutorial](https://learn.svelte.dev) or the [examples](/examples) before consulting this reference. You can try Svelte online using the [REPL](/repl). Alternatively, if you'd like a more fully-featured environment, you can try Svelte on [StackBlitz](https://sveltekit.new). +Si ce n'est pas (encore) le cas pour vous, vous préférerez probablement jeter un oeil au [tutoriel interactif](/tutorial) ou aux [exemples](/examples) avant de consulter cette section. Vous pouvez essayez Svelte en ligne en utilisant le [REPL](/repl), ou bien sur [StackBlitz](https://sveltekit.new) si vous préférez un environnement de développement plus complet. -## Start a new project +> Cette documentation en français, ainsi que l'intégralité du contenu en français de ce site, sont une **traduction bénévole et non officielle** de la [documentation](PUBLIC_SVELTE_SITE_URL/docs) et du [site](PUBLIC_SVELTE_SITE_URL) officiels (en anglais), qui restent la référence. N'hésitez pas à y jeter un oeil. Vous pouvez aussi [nous faire part de vos suggestions de traduction](https://github.com/PUBLIC_GITHUB_ORG/svelte/issues) si celles que vous trouverez dans ces pages ne vous conviennent pas. +> +> Vous trouverez parfois des termes non traduits, comme [falsy](/docs/javascript#falsy-truthy-falsy) ou encore +> [bundler](/docs/web#bundler-packager). Ces termes sont en général utilisés tels quels en français, et nous avons choisi de les laisser ainsi dans la documentation française. N'hésitez pas à suivre les liens proposés, qui vous dirigeront vers un glossaire fournissant quelques explications. -We recommend using [SvelteKit](https://kit.svelte.dev/), the official application framework from the Svelte team: +## Démarrer un nouveau projet + +Nous recommandons d'utiliser [SvelteKit](PUBLIC_KIT_SITE_URL/), le [framework](/docs/web#framework) d'application officiel créé par l'équipe Svelte : ``` npm create svelte@latest myapp @@ -17,18 +22,18 @@ npm install npm run dev ``` -SvelteKit will handle calling [the Svelte compiler](https://www.npmjs.com/package/svelte) to convert your `.svelte` files into `.js` files that create the DOM and `.css` files that style it. It also provides all the other pieces you need to build a web application such as a development server, routing, deployment, and SSR support. [SvelteKit](https://kit.svelte.dev/) uses [Vite](https://vitejs.dev/) to build your code. +SvelteKit se charge d'exécuter [le compilateur Svelte](https://www.npmjs.com/package/svelte) pour convertir vos fichiers `.svelte` en fichiers `.js` qui créent le DOM, et en fichiers `.css` qui le stylisent. Il fournit également tout ce dont vous avez besoin pour créer une application web, comme un serveur de développement, du [routing](/docs/web#routing), et des outils de déploiement. [SvelteKit](PUBLIC_KIT_SITE_URL/) utilise [Vite](https://vitejs.dev/) pour empaqueter votre code. -### Alternatives to SvelteKit +### Alternatives à SvelteKit -If you don't want to use SvelteKit for some reason, you can also use Svelte with Vite (but without SvelteKit) by running `npm create vite@latest` and selecting the `svelte` option. With this, `npm run build` will generate HTML, JS and CSS files inside the `dist` directory. In most cases, you will probably need to [choose a routing library](/faq#is-there-a-router) as well. +Si vous ne souhaitez pas utiliser SvelteKit, vous pouvez aussi utiliser Svelte (sans SvelteKit) avec Vite en exécutant `npm create vite@latest`, puis en choisissant l'option `svelte`. De cette manière, `npm run build` génèrera les fichiers HTML, JS et CSS dans le dossier `dist`. Dans la plupart des cas, vous aurez aussi probablement besoin de [choisir une librairie de routing](/faq#is-there-a-router). -Alternatively, there are [plugins for all the major web bundlers](https://sveltesociety.dev/tools#bundling) to handle Svelte compilation — which will output `.js` and `.css` that you can insert into your HTML — but most others won't handle SSR. +Il existe également des [plugins pour les bundlers web majeurs](https://sveltesociety.dev/tools#bundling) pour gérer la compilation Svelte — qui génèreront les `.js` et `.css` à insérer dans votre HTML — mais la plupart ne gèreront pas pas le [rendu côté serveur (SSR)](/docs/web#server-side-rendering). -## Editor tooling +## Outillage d'éditeur -The Svelte team maintains a [VS Code extension](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode) and there are integrations with various other [editors](https://sveltesociety.dev/tools#editor-support) and tools as well. +L'équipe Svelte maintient une extension [VS Code](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode), et des intégrations existent également pour d'autres [éditeurs](https://sveltesociety.dev/tools#editor-support) ou outils. -## Getting help +## Obtenir de l'aide -Don't be shy about asking for help in the [Discord chatroom](https://svelte.dev/chat)! You can also find answers on [Stack Overflow](https://stackoverflow.com/questions/tagged/svelte). +Si vous rencontrez des difficultés, vous trouverez de l'aide sur le [Discord officiel](PUBLIC_SVELTE_SITE_URL/chat) ou sur le [Discord francophone](/chat). Vous trouverez également des réponses sur [StackOverflow](https://stackoverflow.com/questions/tagged/svelte). diff --git a/documentation/docs/01-getting-started/meta.json b/documentation/docs/01-getting-started/meta.json index 345e69a3c2..e0a37ca96e 100644 --- a/documentation/docs/01-getting-started/meta.json +++ b/documentation/docs/01-getting-started/meta.json @@ -1,3 +1,3 @@ { - "title": "Getting Started" + "title": "Bien commencer" } diff --git a/documentation/docs/02-template-syntax/01-svelte-components.md b/documentation/docs/02-template-syntax/01-svelte-components.md index 7d4abb7b6a..b48b72aa12 100644 --- a/documentation/docs/02-template-syntax/01-svelte-components.md +++ b/documentation/docs/02-template-syntax/01-svelte-components.md @@ -1,166 +1,162 @@ --- -title: Svelte components +title: Composants Svelte --- -Components are the building blocks of Svelte applications. They are written into `.svelte` files, using a superset of HTML. +Les composants sont les briques de base d'une application Svelte. Ils sont décrits dans des fichiers `.svelte`, qui utilisent un HTML augmenté. -All three sections — script, styles and markup — are optional. +Les trois sections qui le composent - scripts, styles, et [markup](/docs/web#markup) - sont optionnelles. ```svelte - + ``` ## <script> -A ` ``` -You can specify a default initial value for a prop. It will be used if the component's consumer doesn't specify the prop on the component (or if its initial value is `undefined`) when instantiating the component. Note that if the values of props are subsequently updated, then any prop whose value is not specified will be set to `undefined` (rather than its initial value). +Vous pouvez spécifier une valeur initiale par défaut d'une [props](/docs/sveltejs#props). Elle sera utilisée si la [props](/docs/sveltejs#props) n'est pas fournie au composant par le parent lors de l'instanciation du composant (ou si la valeur fournie est `undefined`). Notez que si les valeurs des [props](/docs/sveltejs#props) sont mises à jour a posteriori, n'importe quelle valeur de [props](/docs/sveltejs#props) non spécifiée sera mise à `undefined` (plutôt qu'à sa valeur initiale). -In development mode (see the [compiler options](/docs/svelte-compiler#compile)), a warning will be printed if no default initial value is provided and the consumer does not specify a value. To squelch this warning, ensure that a default initial value is specified, even if it is `undefined`. +En mode développement (voir les [options de compilation](/docs/svelte-compiler#compile)), un [warning](/docs/development#warning) sera affiché si aucune valeur initiale par défaut n'est fournie et que le parent ne précise pas de valeur. Pour museler ce [warning](/docs/development#warning), assurez-vous qu'une valeur initiale par défaut est définie, même si celle-ci est `undefined`. ```svelte ``` -If you export a `const`, `class` or `function`, it is readonly from outside the component. Functions are valid prop values, however, as shown below. +Si vous exportez une `const`, une `class` ou une `function`, elle sera en lecture seule à l'extérieur du composant. En revanche, les fonctions sont des valeurs de [props](/docs/sveltejs#props) valides, comme montré ci-dessous. ```svelte - ``` -Readonly props can be accessed as properties on the element, tied to the component using [`bind:this` syntax](/docs/component-directives#bind-this). +Les [props](/docs/sveltejs#props) en lecture seule sont accessibles comme propriétés de l'instance en utilisant la [syntaxe `bind:this`](/docs/component-directives#bind-this). -You can use reserved words as prop names. +Vous pouvez utiliser les mots réservés comme noms de [props](/docs/sveltejs#props). ```svelte - ``` -### 2. Assignments are 'reactive' +### 2. Les assignations sont 'réactives' -To change component state and trigger a re-render, just assign to a locally declared variable. +Pour changer l'état d'un composant et déclencher une mise-à-jour du rendu, il suffit d'assigner une variable déclarée localement. -Update expressions (`count += 1`) and property assignments (`obj.x = y`) have the same effect. +Les expressions de mise-à-jour (`count += 1`) et les assignations de propriété (`obj.x = y`) produisent le même effet. ```svelte ``` -Because Svelte's reactivity is based on assignments, using array methods like `.push()` and `.splice()` won't automatically trigger updates. A subsequent assignment is required to trigger the update. This and more details can also be found in the [tutorial](https://learn.svelte.dev/tutorial/updating-arrays-and-objects). +Puisque la réactivité de Svelte est basée sur les assignations, l'utilisation de méthodes de tableaux comme `.push()` et `.splice()` ne déclenchera pas de rendu. Une assignation sera alors nécessaire pour déclencher un nouveau rendu. Vous retrouverez cet exemple ainsi que plus de détails dans le [tutoriel](/tutorial/updating-arrays-and-objects). ```svelte ``` -Svelte's ` ``` -### 3. `$:` marks a statement as reactive +### 3. `$:` déclare une expression comme réactive -Any top-level statement (i.e. not inside a block or a function) can be made reactive by prefixing it with the `$:` [JS label syntax](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label). Reactive statements run after other script code and before the component markup is rendered, whenever the values that they depend on have changed. +Toute expression à la racine du composant (c-à-d ni dans un bloc ni dans une fonction) peut être rendu réactive en la préfixant avec la syntaxe `$:` empruntées aux [labels JS](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/label). Les expressions réactives sont exécutées après tout autre code du script, et avant le rendu du [markup](/docs/web#markup) du composant, à chaque fois que les valeurs dont elle dépend changent. ```svelte ``` -Only values which directly appear within the `$:` block will become dependencies of the reactive statement. For example, in the code below `total` will only update when `x` changes, but not `y`. +Seules les valeurs qui apparaissent directement au sein d'un bloc `$:` sont des dépendances de l'expression réactive. Par exemple, dans le code ci-dessous `total` sera mise à jour uniquement lorsque `x` change, mais pas lorsque `y` change. ```svelte - Total: {total} - + - + ``` -It is important to note that the reactive blocks are ordered via simple static analysis at compile time, and all the compiler looks at are the variables that are assigned to and used within the block itself, not in any functions called by them. This means that `yDependent` will not be updated when `x` is updated in the following example: +Il est important de noter que les blocs réactifs sont ordonnés par une analyse statique simple au moment de la compilation, et tout ce que le compilateur considère sont les variables qui sont assignées et utilisées au sein du bloc lui-même, pas au sein d'éventuelles fonctions appelées par le bloc. Cela implique que `yDependent` ne sera pas mise à jour quand `x` change dans l'exemple suivant: ```svelte ``` -Moving the line `$: yDependent = y` below `$: setY(x)` will cause `yDependent` to be updated when `x` is updated. +Déplacer la ligne `$: yDependent = y` en-dessous de `$: setY(x)` implique que `yDependent` sera mise à jour lorsque `x` change. -If a statement consists entirely of an assignment to an undeclared variable, Svelte will inject a `let` declaration on your behalf. +Si une expression est entièrement constituée d'une assignation à une variable non déclarée, Svelte injectera une déclaration `let` à votre place. ```svelte - ``` -### 4. Prefix stores with `$` to access their values +### 4. Préfixer les stores avec `$` pour accéder à leur valeur -A _store_ is an object that allows reactive access to a value via a simple _store contract_. The [`svelte/store` module](/docs/svelte-store) contains minimal store implementations which fulfil this contract. +Un [_store_](/docs/sveltejs#store) est un objet qui permet un accès réactif à une valeur via un simple _contrat de store_. Le [module `svelte/store`](/docs/svelte-store) contient des implémentations minimales qui remplissent ce contrat. -Any time you have a reference to a store, you can access its value inside a component by prefixing it with the `$` character. This causes Svelte to declare the prefixed variable, subscribe to the store at component initialization and unsubscribe when appropriate. +À chaque fois que vous avez une référence à un [store](/docs/sveltejs#store), vous pouvez accéder à sa valeur au sein d'un composant en le préfixant avec le caractère `$`. Cela indique à Svelte de déclarer la variable préfixée, de s'abonner au [store](/docs/sveltejs#store) à l'initialisation du composant, et de se désabonner lorsque c'est pertinent. -Assignments to `$`-prefixed variables require that the variable be a writable store, and will result in a call to the store's `.set` method. +Les assignations aux variables préfixées avec `$` nécessitent que la variable soit un _[writable](/docs/development#writable) [store](/docs/sveltejs#store)_, et cela fera appel à la méthode `.set` du [store](/docs/sveltejs#store). -Note that the store must be declared at the top level of the component — not inside an `if` block or a function, for example. +Notez que le [store](/docs/sveltejs#store) doit être déclaré à la racine du composant — et non au sein d'un bloc `if` ou d'une fonction, par exemple. -Local variables (that do not represent store values) must _not_ have a `$` prefix. +Les variables locales (qui ne représentent pas la valeur d'un [store](/docs/sveltejs#store)) ne doivent _pas_ être préfixées avec `$`. ```svelte ``` -#### Store contract +#### Le contrat de [store](/docs/sveltejs#store) ```ts // @noErrors store = { subscribe: (subscription: (value: any) => void) => (() => void), set?: (value: any) => void } ``` -You can create your own stores without relying on [`svelte/store`](/docs/svelte-store), by implementing the _store contract_: +Vous pouvez créer vos propres [stores](/docs/sveltejs#store) sans dépendre de [`svelte/store`](/docs/svelte-store), en implémentant vous-même le _contrat de store_ : -1. A store must contain a `.subscribe` method, which must accept as its argument a subscription function. This subscription function must be immediately and synchronously called with the store's current value upon calling `.subscribe`. All of a store's active subscription functions must later be synchronously called whenever the store's value changes. -2. The `.subscribe` method must return an unsubscribe function. Calling an unsubscribe function must stop its subscription, and its corresponding subscription function must not be called again by the store. -3. A store may _optionally_ contain a `.set` method, which must accept as its argument a new value for the store, and which synchronously calls all of the store's active subscription functions. Such a store is called a _writable store_. +1. Un [store](/docs/sveltejs#store) doit contenir une méthode `.subscribe`, qui doit accepter comme argument une fonction d'abonnement. Lorsque `.subscribe` est appelée, cette fonction d'abonnement doit être appelée immédiatement et de manière synchrone avec la valeur actuelle du [store](/docs/sveltejs#store). Toutes les fonctions d'abonnements actives d'un [store](/docs/sveltejs#store) doivent ensuite être appelées de manière synchrone à chaque fois que la valeur du [store](/docs/sveltejs#store) est mise à jour. +2. La méthode `.subscribe` doit retourner une fonction de désabonnement. Exécuter une fonction de désabonnement doit mettre fin à l'abonnement, et la fonction d'abonnement correspondant ne doit plus être appelée par le [store](/docs/sveltejs#store). +3. Un [store](/docs/sveltejs#store) peut de manière _optionnelle_ contenir une méthode `.set`, qui doit accepter comme argument une nouvelle valeur pour le [store](/docs/sveltejs#store), et qui appellera de manière synchrone toutes les fonctions d'abonnement actives du [store](/docs/sveltejs#store). Un tel [store](/docs/sveltejs#store) est appelé un [store](/docs/sveltejs#store) d'écriture (_writable store_). -For interoperability with RxJS Observables, the `.subscribe` method is also allowed to return an object with an `.unsubscribe` method, rather than return the unsubscription function directly. Note however that unless `.subscribe` synchronously calls the subscription (which is not required by the Observable spec), Svelte will see the value of the store as `undefined` until it does. +Pour l'interopérabilité avec les Observables RxJS, la méthode `.subscribe` est également autorisée à retourner un objet avec une méthode `.unsubscribe`, au lieu de renvoyer directement la fonction de désabonnement. Notez toutefois qu'à moins que `.subscribe` appelle de manière synchrone la fonction d'abonnement (ce qui n'est pas requis par la spec Observable), Svelte aura `undefined` pour valeur du [store](/docs/sveltejs#store) jusqu'à ce qu'elle soit appelée. ## <script context="module"> -A ` ``` ## <style> -CSS inside a ` ``` -To apply styles to a selector globally, use the `:global(...)` modifier. +Pour appliquer les styles d'un sélecteur globalement, vous pouvez utiliser le modificateur `:global(...)`. ```svelte ``` -If you want to make @keyframes that are accessible globally, you need to prepend your keyframe names with `-global-`. +Si vous voulez utiliser des `@keyframes` accessibles globalement, vous devez préfixer votre [keyframe](/docs/web#keyframe) avec `-global-`. -The `-global-` part will be removed when compiled, and the keyframe then be referenced using just `my-animation-name` elsewhere in your code. +Le préfixe `-global-` sera supprimé à la compilation, et la [keyframe](/docs/web#keyframe) pourra alors être référencée en utilisant simplement `my-animation-name` ailleurs dans le code. -```svelte +```html ``` -There should only be 1 top-level ` diff --git a/documentation/docs/02-template-syntax/02-basic-markup.md b/documentation/docs/02-template-syntax/02-basic-markup.md index e6192230d4..ea9aa962ed 100644 --- a/documentation/docs/02-template-syntax/02-basic-markup.md +++ b/documentation/docs/02-template-syntax/02-basic-markup.md @@ -1,10 +1,10 @@ --- -title: Basic markup +title: Markup de base --- -## Tags +## Balises -A lowercase tag, like `
`, denotes a regular HTML element. A capitalised tag, such as `` or ``, indicates a _component_. +Une balise en minuscules, comme `
`, indique un élément HTML standard. Une balise avec la première lettre en majuscule, comme `` ou ``, indique un _composant_. ```svelte ``` -Handlers can be declared inline with no performance penalty. As with attributes, directive values may be quoted for the sake of syntax highlighters. +Les gestionnaires d'évènement peuvent être déclarés directement sans pénaliser les performances. Comme pour les attributs, les valeurs utilisées pour les directives peuvent être mises entre guillemets afin d'aider la coloration syntaxique. ```svelte - ``` -Add _modifiers_ to DOM events with the `|` character. +Ajoutez des *modificateurs* aux évènements [DOM](/docs/web#dom) avec le caractère `|`. ```svelte
- +
``` -The following modifiers are available: +Les modificateurs suivants sont disponibles: -- `preventDefault` — calls `event.preventDefault()` before running the handler -- `stopPropagation` — calls `event.stopPropagation()`, preventing the event reaching the next element -- `stopImmediatePropagation` - calls `event.stopImmediatePropagation()`, preventing other listeners of the same event from being fired. -- `passive` — improves scrolling performance on touch/wheel events (Svelte will add it automatically where it's safe to do so) -- `nonpassive` — explicitly set `passive: false` -- `capture` — fires the handler during the _capture_ phase instead of the _bubbling_ phase -- `once` — remove the handler after the first time it runs -- `self` — only trigger handler if `event.target` is the element itself -- `trusted` — only trigger handler if `event.isTrusted` is `true`. I.e. if the event is triggered by a user action. +* `preventDefault` — appelle `event.preventDefault()` avant d'exécuter le gestionnaire d'évènement +* `stopPropagation` — appelle `event.stopPropagation()`, empêchant l'évènement d'atteindre le prochain élément +* `stopImmediatePropagation` - appelle `event.stopImmediatePropagation()`, empêchant d'autres gestionnaires du même évènement d'être exécutés +* `passive` — améliore la performance du défilement pour les évènements `touch`/`wheel` (Svelte l'ajoutera automatiquement lorsque qu'il détecte que ce n'est pas problématique) +* `nonpassive` — déclare explicitement l'évènement avec `passive: false` +* `capture` — déclenche le gestionnaire d'évènement pendant la phase de [capture](/docs/javascript#bubble-capture) plutôt que pendant la phase de [bubbling](/docs/javascript#bubble-capture) +* `once` — supprime le gestionnaire d'évènement après sa première exécution +* `self` — ne déclenche le gestionnaire d'évènement que si `event.target` est l'élément lui-même +* `trusted` — ne déclenche le gestionnaire d'évènement que si `event.isTrusted` est `true`. C'est-à-dire si l'évènement est déclenché par une action utilisateur. -Modifiers can be chained together, e.g. `on:click|once|capture={...}`. +Vous pouvez chaîner les modificateurs, par ex. `on:click|once|capture={...}`. -If the `on:` directive is used without a value, the component will _forward_ the event, meaning that a consumer of the component can listen for it. +Si la directive `on:` est utilisée sans valeur, le composant relaiera l'évènement à son parent, ce qui permettra à ce dernier de l'écouter. ```svelte - + ``` -It's possible to have multiple event listeners for the same event: +Il est possible d'avoir plusieurs gestionnaires pour le même évènement: ```svelte - + ``` ## bind:_property_ @@ -96,59 +94,64 @@ It's possible to have multiple event listeners for the same event: bind:property={variable} ``` -Data ordinarily flows down, from parent to child. The `bind:` directive allows data to flow the other way, from child to parent. Most bindings are specific to particular elements. +En général, la donnée _descend_ du parent vers l'enfant. La directive `bind:` permet à la donnée de remonter de l'enfant vers le parent. Le plus souvent ces liaisons sont spécifiques à des éléments particuliers. -The simplest bindings reflect the value of a property, such as `input.value`. +L'exemple le plus simple d'une liaison reflète la valeur d'une propriété, comme `input.value`. ```svelte - - - + ``` -If the name matches the value, you can use a shorthand. +Si le nom de la variable est le même que le nom de la propriété, vous pouvez simplifier l'écriture. ```svelte - - + + + ``` -Numeric input values are coerced; even though `input.value` is a string as far as the DOM is concerned, Svelte will treat it as a number. If the input is empty or invalid (in the case of `type="number"`), the value is `undefined`. +Les valeurs numériques sont traitées comme des nombres ; même si `input.value` est une chaîne de caractères pour le [DOM](/docs/web#dom), Svelte traitera cette valeur comme un nombre. Si l'`` est vide ou invalide (dans le cas de `type="number"` par exemple), la valeur sera `undefined`. ```svelte - - + + ``` -On `` elements with `type="file"`, you can use `bind:files` to get the [`FileList` of selected files](https://developer.mozilla.org/en-US/docs/Web/API/FileList). It is readonly. +Sur les éléments `` de type `type="file"`, vous pouvez utiliser `bind:files` pour obtenir la [`FileList` des fichiers sélectionnés](https://developer.mozilla.org/fr/docs/Web/API/FileList). Cette liste est en lecture seule. ```svelte - - + + ``` -If you're using `bind:` directives together with `on:` directives, the order that they're defined in affects the value of the bound variable when the event handler is called. +Si vous utilisez des directives `bind:` conjointement à des directives `on:`, l'ordre dans lequel elles sont définies affectera la valeur de la variable liée lorsque la fonction d'écoute sera appelée. ```svelte console.log('Old value:', value)} + on:input={() => console.log('Ancienne valeur:', value)} bind:value - on:input={() => console.log('New value:', value)} + on:input={() => console.log('Nouvelle valeur:', value)} /> ``` -Here we were binding to the value of a text input, which uses the `input` event. Bindings on other elements may use different events such as `change`. +Dans ce cas, nous avons lié la valeur d'un `` de texte qui utilise l'évènement `input`. Des liaisons sur d'autres éléments pourraient utiliser d'autres évènements comme `change`. -## Binding `` -A `` correspond à la propriété `value` de l'`