@adminiumjs/i18n 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/a11y-keys.d.ts +1 -1
- package/dist/a11y-keys.d.ts.map +1 -1
- package/dist/a11y-keys.js +545 -18
- package/dist/a11y-keys.js.map +1 -1
- package/dist/format/index.d.ts +15 -3
- package/dist/format/index.d.ts.map +1 -1
- package/dist/format/index.js +15 -4
- package/dist/format/index.js.map +1 -1
- package/dist/resources/ar-eg/automations.d.ts +417 -0
- package/dist/resources/ar-eg/automations.d.ts.map +1 -0
- package/dist/resources/ar-eg/automations.js +417 -0
- package/dist/resources/ar-eg/automations.js.map +1 -0
- package/dist/resources/ar-eg/common.d.ts +23 -91
- package/dist/resources/ar-eg/common.d.ts.map +1 -1
- package/dist/resources/ar-eg/common.js +25 -93
- package/dist/resources/ar-eg/common.js.map +1 -1
- package/dist/resources/ar-eg/dataio.d.ts +260 -0
- package/dist/resources/ar-eg/dataio.d.ts.map +1 -0
- package/dist/resources/ar-eg/dataio.js +260 -0
- package/dist/resources/ar-eg/dataio.js.map +1 -0
- package/dist/resources/ar-eg/email.d.ts +824 -0
- package/dist/resources/ar-eg/email.d.ts.map +1 -0
- package/dist/resources/ar-eg/email.js +824 -0
- package/dist/resources/ar-eg/email.js.map +1 -0
- package/dist/resources/ar-eg/files.d.ts +112 -0
- package/dist/resources/ar-eg/files.d.ts.map +1 -0
- package/dist/resources/ar-eg/files.js +112 -0
- package/dist/resources/ar-eg/files.js.map +1 -0
- package/dist/resources/ar-eg/invoices.d.ts +717 -0
- package/dist/resources/ar-eg/invoices.d.ts.map +1 -0
- package/dist/resources/ar-eg/invoices.js +717 -0
- package/dist/resources/ar-eg/invoices.js.map +1 -0
- package/dist/resources/ar-eg/onboarding.d.ts +190 -0
- package/dist/resources/ar-eg/onboarding.d.ts.map +1 -0
- package/dist/resources/ar-eg/onboarding.js +190 -0
- package/dist/resources/ar-eg/onboarding.js.map +1 -0
- package/dist/resources/ar-eg/reportBuilder.d.ts +415 -0
- package/dist/resources/ar-eg/reportBuilder.d.ts.map +1 -0
- package/dist/resources/ar-eg/reportBuilder.js +415 -0
- package/dist/resources/ar-eg/reportBuilder.js.map +1 -0
- package/dist/resources/ar-eg/studio.d.ts +1760 -1117
- package/dist/resources/ar-eg/studio.d.ts.map +1 -1
- package/dist/resources/ar-eg/studio.js +1782 -1139
- package/dist/resources/ar-eg/studio.js.map +1 -1
- package/dist/resources/ar-eg/ui.d.ts +45 -9
- package/dist/resources/ar-eg/ui.d.ts.map +1 -1
- package/dist/resources/ar-eg/ui.js +47 -11
- package/dist/resources/ar-eg/ui.js.map +1 -1
- package/dist/resources/cs-cz/automations.d.ts +417 -0
- package/dist/resources/cs-cz/automations.d.ts.map +1 -0
- package/dist/resources/cs-cz/automations.js +417 -0
- package/dist/resources/cs-cz/automations.js.map +1 -0
- package/dist/resources/cs-cz/common.d.ts +23 -91
- package/dist/resources/cs-cz/common.d.ts.map +1 -1
- package/dist/resources/cs-cz/common.js +25 -93
- package/dist/resources/cs-cz/common.js.map +1 -1
- package/dist/resources/cs-cz/dataio.d.ts +260 -0
- package/dist/resources/cs-cz/dataio.d.ts.map +1 -0
- package/dist/resources/cs-cz/dataio.js +260 -0
- package/dist/resources/cs-cz/dataio.js.map +1 -0
- package/dist/resources/cs-cz/email.d.ts +824 -0
- package/dist/resources/cs-cz/email.d.ts.map +1 -0
- package/dist/resources/cs-cz/email.js +824 -0
- package/dist/resources/cs-cz/email.js.map +1 -0
- package/dist/resources/cs-cz/files.d.ts +112 -0
- package/dist/resources/cs-cz/files.d.ts.map +1 -0
- package/dist/resources/cs-cz/files.js +112 -0
- package/dist/resources/cs-cz/files.js.map +1 -0
- package/dist/resources/cs-cz/invoices.d.ts +717 -0
- package/dist/resources/cs-cz/invoices.d.ts.map +1 -0
- package/dist/resources/cs-cz/invoices.js +717 -0
- package/dist/resources/cs-cz/invoices.js.map +1 -0
- package/dist/resources/cs-cz/onboarding.d.ts +190 -0
- package/dist/resources/cs-cz/onboarding.d.ts.map +1 -0
- package/dist/resources/cs-cz/onboarding.js +190 -0
- package/dist/resources/cs-cz/onboarding.js.map +1 -0
- package/dist/resources/cs-cz/reportBuilder.d.ts +415 -0
- package/dist/resources/cs-cz/reportBuilder.d.ts.map +1 -0
- package/dist/resources/cs-cz/reportBuilder.js +415 -0
- package/dist/resources/cs-cz/reportBuilder.js.map +1 -0
- package/dist/resources/cs-cz/studio.d.ts +1759 -1116
- package/dist/resources/cs-cz/studio.d.ts.map +1 -1
- package/dist/resources/cs-cz/studio.js +1774 -1131
- package/dist/resources/cs-cz/studio.js.map +1 -1
- package/dist/resources/cs-cz/ui.d.ts +45 -9
- package/dist/resources/cs-cz/ui.d.ts.map +1 -1
- package/dist/resources/cs-cz/ui.js +47 -11
- package/dist/resources/cs-cz/ui.js.map +1 -1
- package/dist/resources/da-dk/automations.d.ts +417 -0
- package/dist/resources/da-dk/automations.d.ts.map +1 -0
- package/dist/resources/da-dk/automations.js +417 -0
- package/dist/resources/da-dk/automations.js.map +1 -0
- package/dist/resources/da-dk/common.d.ts +23 -91
- package/dist/resources/da-dk/common.d.ts.map +1 -1
- package/dist/resources/da-dk/common.js +25 -93
- package/dist/resources/da-dk/common.js.map +1 -1
- package/dist/resources/da-dk/dataio.d.ts +260 -0
- package/dist/resources/da-dk/dataio.d.ts.map +1 -0
- package/dist/resources/da-dk/dataio.js +260 -0
- package/dist/resources/da-dk/dataio.js.map +1 -0
- package/dist/resources/da-dk/email.d.ts +824 -0
- package/dist/resources/da-dk/email.d.ts.map +1 -0
- package/dist/resources/da-dk/email.js +824 -0
- package/dist/resources/da-dk/email.js.map +1 -0
- package/dist/resources/da-dk/files.d.ts +112 -0
- package/dist/resources/da-dk/files.d.ts.map +1 -0
- package/dist/resources/da-dk/files.js +112 -0
- package/dist/resources/da-dk/files.js.map +1 -0
- package/dist/resources/da-dk/invoices.d.ts +717 -0
- package/dist/resources/da-dk/invoices.d.ts.map +1 -0
- package/dist/resources/da-dk/invoices.js +717 -0
- package/dist/resources/da-dk/invoices.js.map +1 -0
- package/dist/resources/da-dk/onboarding.d.ts +190 -0
- package/dist/resources/da-dk/onboarding.d.ts.map +1 -0
- package/dist/resources/da-dk/onboarding.js +190 -0
- package/dist/resources/da-dk/onboarding.js.map +1 -0
- package/dist/resources/da-dk/reportBuilder.d.ts +415 -0
- package/dist/resources/da-dk/reportBuilder.d.ts.map +1 -0
- package/dist/resources/da-dk/reportBuilder.js +415 -0
- package/dist/resources/da-dk/reportBuilder.js.map +1 -0
- package/dist/resources/da-dk/studio.d.ts +1760 -1117
- package/dist/resources/da-dk/studio.d.ts.map +1 -1
- package/dist/resources/da-dk/studio.js +1771 -1128
- package/dist/resources/da-dk/studio.js.map +1 -1
- package/dist/resources/da-dk/ui.d.ts +45 -9
- package/dist/resources/da-dk/ui.d.ts.map +1 -1
- package/dist/resources/da-dk/ui.js +47 -11
- package/dist/resources/da-dk/ui.js.map +1 -1
- package/dist/resources/de-de/automations.d.ts +417 -0
- package/dist/resources/de-de/automations.d.ts.map +1 -0
- package/dist/resources/de-de/automations.js +417 -0
- package/dist/resources/de-de/automations.js.map +1 -0
- package/dist/resources/de-de/common.d.ts +23 -91
- package/dist/resources/de-de/common.d.ts.map +1 -1
- package/dist/resources/de-de/common.js +25 -93
- package/dist/resources/de-de/common.js.map +1 -1
- package/dist/resources/de-de/dataio.d.ts +260 -0
- package/dist/resources/de-de/dataio.d.ts.map +1 -0
- package/dist/resources/de-de/dataio.js +260 -0
- package/dist/resources/de-de/dataio.js.map +1 -0
- package/dist/resources/de-de/email.d.ts +824 -0
- package/dist/resources/de-de/email.d.ts.map +1 -0
- package/dist/resources/de-de/email.js +824 -0
- package/dist/resources/de-de/email.js.map +1 -0
- package/dist/resources/de-de/files.d.ts +112 -0
- package/dist/resources/de-de/files.d.ts.map +1 -0
- package/dist/resources/de-de/files.js +112 -0
- package/dist/resources/de-de/files.js.map +1 -0
- package/dist/resources/de-de/invoices.d.ts +717 -0
- package/dist/resources/de-de/invoices.d.ts.map +1 -0
- package/dist/resources/de-de/invoices.js +717 -0
- package/dist/resources/de-de/invoices.js.map +1 -0
- package/dist/resources/de-de/onboarding.d.ts +190 -0
- package/dist/resources/de-de/onboarding.d.ts.map +1 -0
- package/dist/resources/de-de/onboarding.js +190 -0
- package/dist/resources/de-de/onboarding.js.map +1 -0
- package/dist/resources/de-de/reportBuilder.d.ts +415 -0
- package/dist/resources/de-de/reportBuilder.d.ts.map +1 -0
- package/dist/resources/de-de/reportBuilder.js +415 -0
- package/dist/resources/de-de/reportBuilder.js.map +1 -0
- package/dist/resources/de-de/studio.d.ts +1759 -1116
- package/dist/resources/de-de/studio.d.ts.map +1 -1
- package/dist/resources/de-de/studio.js +1770 -1127
- package/dist/resources/de-de/studio.js.map +1 -1
- package/dist/resources/de-de/ui.d.ts +45 -9
- package/dist/resources/de-de/ui.d.ts.map +1 -1
- package/dist/resources/de-de/ui.js +47 -11
- package/dist/resources/de-de/ui.js.map +1 -1
- package/dist/resources/en-us/automations.d.ts +417 -0
- package/dist/resources/en-us/automations.d.ts.map +1 -0
- package/dist/resources/en-us/automations.js +417 -0
- package/dist/resources/en-us/automations.js.map +1 -0
- package/dist/resources/en-us/common.d.ts +23 -91
- package/dist/resources/en-us/common.d.ts.map +1 -1
- package/dist/resources/en-us/common.js +25 -93
- package/dist/resources/en-us/common.js.map +1 -1
- package/dist/resources/en-us/dataio.d.ts +260 -0
- package/dist/resources/en-us/dataio.d.ts.map +1 -0
- package/dist/resources/en-us/dataio.js +260 -0
- package/dist/resources/en-us/dataio.js.map +1 -0
- package/dist/resources/en-us/email.d.ts +824 -0
- package/dist/resources/en-us/email.d.ts.map +1 -0
- package/dist/resources/en-us/email.js +824 -0
- package/dist/resources/en-us/email.js.map +1 -0
- package/dist/resources/en-us/files.d.ts +112 -0
- package/dist/resources/en-us/files.d.ts.map +1 -0
- package/dist/resources/en-us/files.js +112 -0
- package/dist/resources/en-us/files.js.map +1 -0
- package/dist/resources/en-us/invoices.d.ts +717 -0
- package/dist/resources/en-us/invoices.d.ts.map +1 -0
- package/dist/resources/en-us/invoices.js +717 -0
- package/dist/resources/en-us/invoices.js.map +1 -0
- package/dist/resources/en-us/onboarding.d.ts +190 -0
- package/dist/resources/en-us/onboarding.d.ts.map +1 -0
- package/dist/resources/en-us/onboarding.js +190 -0
- package/dist/resources/en-us/onboarding.js.map +1 -0
- package/dist/resources/en-us/reportBuilder.d.ts +415 -0
- package/dist/resources/en-us/reportBuilder.d.ts.map +1 -0
- package/dist/resources/en-us/reportBuilder.js +415 -0
- package/dist/resources/en-us/reportBuilder.js.map +1 -0
- package/dist/resources/en-us/studio.d.ts +1742 -1099
- package/dist/resources/en-us/studio.d.ts.map +1 -1
- package/dist/resources/en-us/studio.js +1769 -1126
- package/dist/resources/en-us/studio.js.map +1 -1
- package/dist/resources/en-us/ui.d.ts +37 -1
- package/dist/resources/en-us/ui.d.ts.map +1 -1
- package/dist/resources/en-us/ui.js +39 -3
- package/dist/resources/en-us/ui.js.map +1 -1
- package/dist/resources/fr-fr/automations.d.ts +417 -0
- package/dist/resources/fr-fr/automations.d.ts.map +1 -0
- package/dist/resources/fr-fr/automations.js +417 -0
- package/dist/resources/fr-fr/automations.js.map +1 -0
- package/dist/resources/fr-fr/common.d.ts +23 -91
- package/dist/resources/fr-fr/common.d.ts.map +1 -1
- package/dist/resources/fr-fr/common.js +25 -93
- package/dist/resources/fr-fr/common.js.map +1 -1
- package/dist/resources/fr-fr/dataio.d.ts +260 -0
- package/dist/resources/fr-fr/dataio.d.ts.map +1 -0
- package/dist/resources/fr-fr/dataio.js +260 -0
- package/dist/resources/fr-fr/dataio.js.map +1 -0
- package/dist/resources/fr-fr/email.d.ts +824 -0
- package/dist/resources/fr-fr/email.d.ts.map +1 -0
- package/dist/resources/fr-fr/email.js +824 -0
- package/dist/resources/fr-fr/email.js.map +1 -0
- package/dist/resources/fr-fr/files.d.ts +112 -0
- package/dist/resources/fr-fr/files.d.ts.map +1 -0
- package/dist/resources/fr-fr/files.js +112 -0
- package/dist/resources/fr-fr/files.js.map +1 -0
- package/dist/resources/fr-fr/invoices.d.ts +717 -0
- package/dist/resources/fr-fr/invoices.d.ts.map +1 -0
- package/dist/resources/fr-fr/invoices.js +717 -0
- package/dist/resources/fr-fr/invoices.js.map +1 -0
- package/dist/resources/fr-fr/onboarding.d.ts +190 -0
- package/dist/resources/fr-fr/onboarding.d.ts.map +1 -0
- package/dist/resources/fr-fr/onboarding.js +190 -0
- package/dist/resources/fr-fr/onboarding.js.map +1 -0
- package/dist/resources/fr-fr/reportBuilder.d.ts +415 -0
- package/dist/resources/fr-fr/reportBuilder.d.ts.map +1 -0
- package/dist/resources/fr-fr/reportBuilder.js +415 -0
- package/dist/resources/fr-fr/reportBuilder.js.map +1 -0
- package/dist/resources/fr-fr/studio.d.ts +1759 -1116
- package/dist/resources/fr-fr/studio.d.ts.map +1 -1
- package/dist/resources/fr-fr/studio.js +1774 -1131
- package/dist/resources/fr-fr/studio.js.map +1 -1
- package/dist/resources/fr-fr/ui.d.ts +44 -8
- package/dist/resources/fr-fr/ui.d.ts.map +1 -1
- package/dist/resources/fr-fr/ui.js +46 -10
- package/dist/resources/fr-fr/ui.js.map +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +14 -0
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/lazy.d.ts.map +1 -1
- package/dist/resources/lazy.js +57 -1
- package/dist/resources/lazy.js.map +1 -1
- package/dist/resources/namespaces.d.ts +62 -3
- package/dist/resources/namespaces.d.ts.map +1 -1
- package/dist/resources/namespaces.js +84 -3
- package/dist/resources/namespaces.js.map +1 -1
- package/dist/resources/zh-cn/automations.d.ts +417 -0
- package/dist/resources/zh-cn/automations.d.ts.map +1 -0
- package/dist/resources/zh-cn/automations.js +417 -0
- package/dist/resources/zh-cn/automations.js.map +1 -0
- package/dist/resources/zh-cn/common.d.ts +23 -91
- package/dist/resources/zh-cn/common.d.ts.map +1 -1
- package/dist/resources/zh-cn/common.js +25 -93
- package/dist/resources/zh-cn/common.js.map +1 -1
- package/dist/resources/zh-cn/dataio.d.ts +260 -0
- package/dist/resources/zh-cn/dataio.d.ts.map +1 -0
- package/dist/resources/zh-cn/dataio.js +260 -0
- package/dist/resources/zh-cn/dataio.js.map +1 -0
- package/dist/resources/zh-cn/email.d.ts +824 -0
- package/dist/resources/zh-cn/email.d.ts.map +1 -0
- package/dist/resources/zh-cn/email.js +824 -0
- package/dist/resources/zh-cn/email.js.map +1 -0
- package/dist/resources/zh-cn/files.d.ts +112 -0
- package/dist/resources/zh-cn/files.d.ts.map +1 -0
- package/dist/resources/zh-cn/files.js +112 -0
- package/dist/resources/zh-cn/files.js.map +1 -0
- package/dist/resources/zh-cn/invoices.d.ts +717 -0
- package/dist/resources/zh-cn/invoices.d.ts.map +1 -0
- package/dist/resources/zh-cn/invoices.js +717 -0
- package/dist/resources/zh-cn/invoices.js.map +1 -0
- package/dist/resources/zh-cn/onboarding.d.ts +190 -0
- package/dist/resources/zh-cn/onboarding.d.ts.map +1 -0
- package/dist/resources/zh-cn/onboarding.js +190 -0
- package/dist/resources/zh-cn/onboarding.js.map +1 -0
- package/dist/resources/zh-cn/reportBuilder.d.ts +415 -0
- package/dist/resources/zh-cn/reportBuilder.d.ts.map +1 -0
- package/dist/resources/zh-cn/reportBuilder.js +415 -0
- package/dist/resources/zh-cn/reportBuilder.js.map +1 -0
- package/dist/resources/zh-cn/studio.d.ts +1758 -1115
- package/dist/resources/zh-cn/studio.d.ts.map +1 -1
- package/dist/resources/zh-cn/studio.js +1764 -1121
- package/dist/resources/zh-cn/studio.js.map +1 -1
- package/dist/resources/zh-cn/ui.d.ts +45 -9
- package/dist/resources/zh-cn/ui.d.ts.map +1 -1
- package/dist/resources/zh-cn/ui.js +47 -11
- package/dist/resources/zh-cn/ui.js.map +1 -1
- package/dist/resources/zh-tw/automations.d.ts +417 -0
- package/dist/resources/zh-tw/automations.d.ts.map +1 -0
- package/dist/resources/zh-tw/automations.js +417 -0
- package/dist/resources/zh-tw/automations.js.map +1 -0
- package/dist/resources/zh-tw/common.d.ts +23 -91
- package/dist/resources/zh-tw/common.d.ts.map +1 -1
- package/dist/resources/zh-tw/common.js +25 -93
- package/dist/resources/zh-tw/common.js.map +1 -1
- package/dist/resources/zh-tw/dataio.d.ts +260 -0
- package/dist/resources/zh-tw/dataio.d.ts.map +1 -0
- package/dist/resources/zh-tw/dataio.js +260 -0
- package/dist/resources/zh-tw/dataio.js.map +1 -0
- package/dist/resources/zh-tw/email.d.ts +824 -0
- package/dist/resources/zh-tw/email.d.ts.map +1 -0
- package/dist/resources/zh-tw/email.js +824 -0
- package/dist/resources/zh-tw/email.js.map +1 -0
- package/dist/resources/zh-tw/files.d.ts +112 -0
- package/dist/resources/zh-tw/files.d.ts.map +1 -0
- package/dist/resources/zh-tw/files.js +112 -0
- package/dist/resources/zh-tw/files.js.map +1 -0
- package/dist/resources/zh-tw/invoices.d.ts +717 -0
- package/dist/resources/zh-tw/invoices.d.ts.map +1 -0
- package/dist/resources/zh-tw/invoices.js +717 -0
- package/dist/resources/zh-tw/invoices.js.map +1 -0
- package/dist/resources/zh-tw/onboarding.d.ts +190 -0
- package/dist/resources/zh-tw/onboarding.d.ts.map +1 -0
- package/dist/resources/zh-tw/onboarding.js +190 -0
- package/dist/resources/zh-tw/onboarding.js.map +1 -0
- package/dist/resources/zh-tw/reportBuilder.d.ts +415 -0
- package/dist/resources/zh-tw/reportBuilder.d.ts.map +1 -0
- package/dist/resources/zh-tw/reportBuilder.js +415 -0
- package/dist/resources/zh-tw/reportBuilder.js.map +1 -0
- package/dist/resources/zh-tw/studio.d.ts +1759 -1116
- package/dist/resources/zh-tw/studio.d.ts.map +1 -1
- package/dist/resources/zh-tw/studio.js +1773 -1130
- package/dist/resources/zh-tw/studio.js.map +1 -1
- package/dist/resources/zh-tw/ui.d.ts +45 -9
- package/dist/resources/zh-tw/ui.d.ts.map +1 -1
- package/dist/resources/zh-tw/ui.js +47 -11
- package/dist/resources/zh-tw/ui.js.map +1 -1
- package/dist/review-status.js +7 -7
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +14 -1
- package/dist/server.js.map +1 -1
- package/locales/ar-EG/.meta.json +15999 -5979
- package/locales/ar-EG/automations.json +406 -0
- package/locales/ar-EG/common.json +25 -93
- package/locales/ar-EG/dataio.json +249 -0
- package/locales/ar-EG/email.json +813 -0
- package/locales/ar-EG/files.json +101 -0
- package/locales/ar-EG/invoices.json +706 -0
- package/locales/ar-EG/onboarding.json +179 -0
- package/locales/ar-EG/reportBuilder.json +404 -0
- package/locales/ar-EG/studio.json +1782 -1139
- package/locales/ar-EG/ui.json +47 -11
- package/locales/cs-CZ/.meta.json +16271 -6251
- package/locales/cs-CZ/automations.json +406 -0
- package/locales/cs-CZ/common.json +25 -93
- package/locales/cs-CZ/dataio.json +249 -0
- package/locales/cs-CZ/email.json +813 -0
- package/locales/cs-CZ/files.json +101 -0
- package/locales/cs-CZ/invoices.json +706 -0
- package/locales/cs-CZ/onboarding.json +179 -0
- package/locales/cs-CZ/reportBuilder.json +404 -0
- package/locales/cs-CZ/studio.json +1774 -1131
- package/locales/cs-CZ/ui.json +47 -11
- package/locales/da-DK/.meta.json +16245 -6225
- package/locales/da-DK/automations.json +406 -0
- package/locales/da-DK/common.json +25 -93
- package/locales/da-DK/dataio.json +249 -0
- package/locales/da-DK/email.json +813 -0
- package/locales/da-DK/files.json +101 -0
- package/locales/da-DK/invoices.json +706 -0
- package/locales/da-DK/onboarding.json +179 -0
- package/locales/da-DK/reportBuilder.json +404 -0
- package/locales/da-DK/studio.json +1771 -1128
- package/locales/da-DK/ui.json +47 -11
- package/locales/de-DE/.meta.json +16094 -6074
- package/locales/de-DE/automations.json +406 -0
- package/locales/de-DE/common.json +25 -93
- package/locales/de-DE/dataio.json +249 -0
- package/locales/de-DE/email.json +813 -0
- package/locales/de-DE/files.json +101 -0
- package/locales/de-DE/invoices.json +706 -0
- package/locales/de-DE/onboarding.json +179 -0
- package/locales/de-DE/reportBuilder.json +404 -0
- package/locales/de-DE/studio.json +1770 -1127
- package/locales/de-DE/ui.json +47 -11
- package/locales/en-US/automations.json +406 -0
- package/locales/en-US/common.json +25 -93
- package/locales/en-US/dataio.json +249 -0
- package/locales/en-US/email.json +813 -0
- package/locales/en-US/files.json +101 -0
- package/locales/en-US/invoices.json +706 -0
- package/locales/en-US/onboarding.json +179 -0
- package/locales/en-US/reportBuilder.json +404 -0
- package/locales/en-US/studio.json +1769 -1126
- package/locales/en-US/ui.json +39 -3
- package/locales/fr-FR/.meta.json +14117 -4097
- package/locales/fr-FR/automations.json +406 -0
- package/locales/fr-FR/common.json +25 -93
- package/locales/fr-FR/dataio.json +249 -0
- package/locales/fr-FR/email.json +813 -0
- package/locales/fr-FR/files.json +101 -0
- package/locales/fr-FR/invoices.json +706 -0
- package/locales/fr-FR/onboarding.json +179 -0
- package/locales/fr-FR/reportBuilder.json +404 -0
- package/locales/fr-FR/studio.json +1774 -1131
- package/locales/fr-FR/ui.json +46 -10
- package/locales/zh-CN/.meta.json +16223 -6203
- package/locales/zh-CN/automations.json +406 -0
- package/locales/zh-CN/common.json +25 -93
- package/locales/zh-CN/dataio.json +249 -0
- package/locales/zh-CN/email.json +813 -0
- package/locales/zh-CN/files.json +101 -0
- package/locales/zh-CN/invoices.json +706 -0
- package/locales/zh-CN/onboarding.json +179 -0
- package/locales/zh-CN/reportBuilder.json +404 -0
- package/locales/zh-CN/studio.json +1764 -1121
- package/locales/zh-CN/ui.json +47 -11
- package/locales/zh-TW/.meta.json +15999 -5979
- package/locales/zh-TW/automations.json +406 -0
- package/locales/zh-TW/common.json +25 -93
- package/locales/zh-TW/dataio.json +249 -0
- package/locales/zh-TW/email.json +813 -0
- package/locales/zh-TW/files.json +101 -0
- package/locales/zh-TW/invoices.json +706 -0
- package/locales/zh-TW/onboarding.json +179 -0
- package/locales/zh-TW/reportBuilder.json +404 -0
- package/locales/zh-TW/studio.json +1773 -1130
- package/locales/zh-TW/ui.json +47 -11
- package/package.json +1 -1
|
@@ -1,657 +1,833 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
2
|
+
"addOns": {
|
|
3
|
+
"browse": {
|
|
4
|
+
"all": "Tout",
|
|
5
|
+
"bundled": "Inclus",
|
|
6
|
+
"categories": "Catégories",
|
|
7
|
+
"discard": "Supprimer",
|
|
8
|
+
"download": "Télécharger",
|
|
9
|
+
"emptyBody": "Cette version n’en contient aucun et le catalogue en ligne est désactivé.",
|
|
10
|
+
"emptyOnlineBody": "Le catalogue en ligne est activé, mais la dernière vérification n’a rien trouvé. Cherchez des nouveautés.",
|
|
11
|
+
"emptyTitle": "Aucun module disponible",
|
|
12
|
+
"install": "Installer",
|
|
13
|
+
"noMatchBody": "Aucun module ne correspond à cette recherche et à cette catégorie.",
|
|
14
|
+
"noMatchTitle": "Aucun résultat",
|
|
15
|
+
"offline": "Affiche les modules livrés avec cette version. La navigation en ligne est désactivée et rien ici n’a contacté Internet.",
|
|
16
|
+
"online": "Inclut les modules du catalogue en ligne. Rechercher des versions plus récentes est une action distincte.",
|
|
17
|
+
"refresh": "Rechercher des nouveautés",
|
|
18
|
+
"search": "Rechercher des modules",
|
|
19
|
+
"title": "Disponibles",
|
|
20
|
+
"toggle": "Parcourir le catalogue en ligne",
|
|
21
|
+
"upgrade": "v{version} disponible",
|
|
22
|
+
"upgradeAction": "Mettre à jour"
|
|
14
23
|
},
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"auto": "Détection automatique",
|
|
19
|
-
"sql": "DDL SQL / pg_dump",
|
|
20
|
-
"prisma": "Schéma Prisma",
|
|
21
|
-
"drizzle": "Drizzle ORM",
|
|
22
|
-
"typeorm": "Entités TypeORM",
|
|
23
|
-
"sequelize": "Modèles Sequelize",
|
|
24
|
-
"rails": "schema.rb Rails",
|
|
25
|
-
"django": "models.py Django",
|
|
26
|
-
"json": "JSON Adminium"
|
|
24
|
+
"card": {
|
|
25
|
+
"needsApiKey": "Nécessite une clé API",
|
|
26
|
+
"needsOauth": "Se connecte via OAuth"
|
|
27
27
|
},
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
28
|
+
"category": {
|
|
29
|
+
"artwork": "Création",
|
|
30
|
+
"data": "Données",
|
|
31
|
+
"delivery": "Expédition",
|
|
32
|
+
"email": "E-mail",
|
|
33
|
+
"payments": "Paiements"
|
|
31
34
|
},
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"unsupported": "Format non reconnu — SQL DDL, Prisma, Drizzle, TypeORM, Sequelize, Rails schema.rb, modèles Django et Adminium JSON sont pris en charge. Choisissez-en un explicitement et réessayez.",
|
|
45
|
-
"requestFailed": "Échec du téléversement — vérifiez votre connexion et réessayez."
|
|
35
|
+
"confirm": {
|
|
36
|
+
"cancel": "Annuler",
|
|
37
|
+
"close": "Fermer",
|
|
38
|
+
"discard": "Supprimer",
|
|
39
|
+
"discardBody": "Les fichiers téléchargés sont supprimés. Rien n’a été installé, donc rien d’autre ne change — vous pouvez le retélécharger quand vous voulez.",
|
|
40
|
+
"discardTitle": "Supprimer ce téléchargement",
|
|
41
|
+
"disconnect": "Déconnecter",
|
|
42
|
+
"disconnectBody": "Ses clés sont supprimées et il cesse ses appels. Chaque table et chaque ligne qu’il a créées restent telles quelles, et vous pouvez le reconnecter à tout moment.",
|
|
43
|
+
"disconnectTitle": "Déconnecter ce module",
|
|
44
|
+
"uninstall": "Désinstaller",
|
|
45
|
+
"uninstallBody": "Ses clés sont supprimées et ses fichiers retirés de ce serveur. Chaque table et chaque ligne qu’il a créées restent telles quelles. Vous pourrez le réinstaller plus tard.",
|
|
46
|
+
"uninstallTitle": "Désinstaller ce module"
|
|
46
47
|
},
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"namePlaceholder": "Postgres de production",
|
|
51
|
-
"modeLabel": "Mode de saisie de la source",
|
|
52
|
-
"mode": {
|
|
53
|
-
"dsn": "Chaîne de connexion",
|
|
54
|
-
"fields": "Champs individuels",
|
|
55
|
-
"file": "Fichier de schéma"
|
|
48
|
+
"connect": {
|
|
49
|
+
"apiKey": "Clé API",
|
|
50
|
+
"submit": "Connecter"
|
|
56
51
|
},
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
52
|
+
"consent": {
|
|
53
|
+
"cancel": "Annuler",
|
|
54
|
+
"close": "Fermer",
|
|
55
|
+
"confirm": "Installer",
|
|
56
|
+
"hosts": "Attacher à",
|
|
57
|
+
"loading": "Analyse de ce que cela ferait…",
|
|
58
|
+
"subtitle": "Ce que ce module fera, avant qu’il puisse le faire.",
|
|
59
|
+
"title": "Installer {name}"
|
|
63
60
|
},
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
61
|
+
"error": "Une erreur est survenue",
|
|
62
|
+
"installed": {
|
|
63
|
+
"connected": "Connecté",
|
|
64
|
+
"disconnect": "Déconnecter",
|
|
65
|
+
"egress": "Peut contacter : {hosts}",
|
|
66
|
+
"emptyBody": "Installez un module ci-dessus et il apparaîtra ici avec ses hôtes et sa connexion.",
|
|
67
|
+
"emptyTitle": "Rien d’installé pour l’instant",
|
|
68
|
+
"notConnected": "Non connecté",
|
|
69
|
+
"off": "désactivé",
|
|
70
|
+
"on": "activé",
|
|
71
|
+
"title": "Installés",
|
|
72
|
+
"uninstall": "Désinstaller"
|
|
72
73
|
},
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
74
|
+
"job": {
|
|
75
|
+
"body": "Récupération et vérification. Rien n’est installé sans votre accord.",
|
|
76
|
+
"failed": "Le téléchargement ne s’est pas terminé. Rien n’a été installé.",
|
|
77
|
+
"title": "Téléchargement"
|
|
78
|
+
},
|
|
79
|
+
"plan": {
|
|
80
|
+
"blocked": "Impossible d’installer ici",
|
|
81
|
+
"needsColumns": "Ce module a besoin de colonnes que vous n’avez pas",
|
|
82
|
+
"needsColumnsBody": "Adminium n’ajoute pas de colonnes aux tables qui vous appartiennent déjà. Ajoutez-les vous-même, puis installez.",
|
|
83
|
+
"noData": "Ce module ne lit ni n’écrit de tables qui lui soient propres.",
|
|
84
|
+
"reuse": "Ce module utilisera des tables que vous avez déjà :",
|
|
85
|
+
"willCreate": "Cela créera des tables dans votre base de données",
|
|
86
|
+
"willCreateBody": "L’installation crée ces tables. Une désinstallation ultérieure les laisse intactes, ainsi que leurs données."
|
|
87
|
+
},
|
|
88
|
+
"settings": {
|
|
89
|
+
"badJson": "Ce n’est pas du JSON valide ; rien n’a été enregistré.",
|
|
90
|
+
"save": "Enregistrer les réglages",
|
|
91
|
+
"title": "Réglages"
|
|
92
|
+
},
|
|
93
|
+
"sideload": {
|
|
94
|
+
"file": "Fichier du paquet (.tgz)",
|
|
95
|
+
"hint": "Pour un serveur sans internet. Vérifié exactement comme un téléchargement, il lui faut donc l’empreinte fournie.",
|
|
96
|
+
"key": "Clé du module",
|
|
97
|
+
"sha": "Intégrité (sha512-…)",
|
|
98
|
+
"shaHint": "La valeur `integrity` affichée par `npm pack --json`. Refusé si les octets n’y correspondent pas.",
|
|
99
|
+
"submit": "Téléverser",
|
|
100
|
+
"title": "Téléverser un paquet",
|
|
101
|
+
"version": "Version"
|
|
102
|
+
},
|
|
103
|
+
"subtitle": "Des capacités supplémentaires pour vos applications — expédition, graphisme, données. Chacune indique ce dont elle a besoin avant l’installation.",
|
|
104
|
+
"title": "Modules",
|
|
105
|
+
"upgradeNote": "La mise à jour conserve les hôtes auxquels un module est attaché ainsi que sa connexion existante.",
|
|
106
|
+
"veto": {
|
|
107
|
+
"body": "Le réglage est enregistré, mais les fonctions réseau sont coupées sur ce serveur et cela prime. Les modules déjà téléchargés fonctionnent, et vous pouvez en téléverser un.",
|
|
108
|
+
"title": "Ce déploiement ne peut pas consulter le catalogue en ligne"
|
|
76
109
|
}
|
|
77
110
|
},
|
|
78
111
|
"capability": {
|
|
112
|
+
"importNoLiveHealth": "Pas de connexion à une base de données réelle — les contrôles de santé et la détection de dérive du schéma sont indisponibles pour cette source.",
|
|
113
|
+
"importNoRowCounts": "Les fichiers de schéma ne contiennent pas de nombres de lignes — la liste des tables affiche — plutôt que des chiffres inventés.",
|
|
79
114
|
"mysqlApproxRows": "Les nombres de lignes MySQL sont des estimations du moteur de stockage (dérive possible jusqu’à ±40 %) — affichés avec ≈.",
|
|
80
115
|
"mysqlFkEnum": "Les métadonnées FK/enum de MySQL sont plus limitées : les tables MyISAM ne déclarent pas de clés étrangères, les enums sont des types enum(…) par colonne et les contraintes CHECK requièrent MySQL 8.0.16+ / MariaDB 10.2+.",
|
|
81
|
-
"
|
|
82
|
-
"sqliteNoComments": "SQLite n’a pas de commentaires de colonne — utilisez l’éditeur de remappage du schéma pour ajouter des libellés.",
|
|
83
|
-
"importNoRowCounts": "Les fichiers de schéma ne contiennent pas de nombres de lignes — la liste des tables affiche — plutôt que des chiffres inventés.",
|
|
84
|
-
"importNoLiveHealth": "Pas de connexion à une base de données réelle — les contrôles de santé et la détection de dérive du schéma sont indisponibles pour cette source.",
|
|
85
|
-
"rowsUnavailable": "Les fichiers de schéma n’ont pas de base de données réelle — les nombres de lignes restent inconnus tant que vous n’en connectez pas une.",
|
|
86
|
-
"rowsRunAnalyze": "Pas encore d’estimation — exécutez ANALYZE sur la base pour obtenir les nombres de lignes.",
|
|
116
|
+
"rowsApproximate": "Estimation du moteur de stockage — dérive possible jusqu’à ±40 % avec InnoDB.",
|
|
87
117
|
"rowsNoEstimate": "Le moteur n’a communiqué aucune estimation pour cette table.",
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
"
|
|
92
|
-
"moreWarnings": "+{count} avertissements du parseur supplémentaires",
|
|
93
|
-
"connecting": "Établissement d’une connexion sécurisée…",
|
|
94
|
-
"connected": "Connecté ({latency} ms) · introspection en lecture seule",
|
|
95
|
-
"connectFailed": "Échec de la connexion.",
|
|
96
|
-
"readingSchema": "Lecture du schéma : public",
|
|
97
|
-
"readingFile": "Lecture du fichier de schéma téléversé…",
|
|
98
|
-
"parsingFile": "Analyse de {file}…",
|
|
99
|
-
"detected": "{tables} tables · {columns} colonnes détectées",
|
|
100
|
-
"found": "{tables} tables · {columns} colonnes trouvées",
|
|
101
|
-
"mapping": "Correspondance des types de colonnes → widgets de saisie",
|
|
102
|
-
"relations": "Détection des relations…",
|
|
103
|
-
"piiScan": "Recherche de colonnes PII…",
|
|
104
|
-
"piiDone": "Analyse PII terminée — {count} colonnes masquées par défaut",
|
|
105
|
-
"piiDoneUnknown": "Analyse PII terminée",
|
|
106
|
-
"jobFailed": "Échec de l’introspection.",
|
|
107
|
-
"networkFailed": "Échec de la requête — vérifiez votre connexion et réessayez.",
|
|
108
|
-
"ready": "Prêt"
|
|
109
|
-
},
|
|
110
|
-
"title": "Analyse de votre schéma",
|
|
111
|
-
"subtitle": "Introspection des tables, colonnes et relations. Cela prend quelques secondes.",
|
|
112
|
-
"trust": "Nous ne faisons que lire votre schéma et vos données. Rien n’est modifié.",
|
|
113
|
-
"errorTitle": "Échec de la connexion",
|
|
114
|
-
"retry": "Réessayer",
|
|
115
|
-
"logLabel": "Journal d’introspection",
|
|
116
|
-
"hint": {
|
|
117
|
-
"auth": "Échec de l’authentification — vérifiez le nom d’utilisateur et le mot de passe dans votre DSN.",
|
|
118
|
-
"hostUnreachable": "Hôte injoignable — vérifiez le nom d’hôte et le port, et que la base accepte les connexions depuis cette machine (ajoutez nos IP à la liste d’autorisation).",
|
|
119
|
-
"metaPlacement": "Cette source ne peut pas héberger les tables méta d’Adminium — continuez avec une base méta séparée.",
|
|
120
|
-
"permission": "Le rôle s’est connecté mais n’a pas les droits de lecture du schéma — accordez USAGE sur le schéma à votre rôle d’introspection.",
|
|
121
|
-
"timeout": "La base n’a pas répondu à temps — vérifiez le chemin réseau et la charge, puis réessayez.",
|
|
122
|
-
"tls": "Échec de la négociation TLS — essayez sslmode=require, ou téléversez le certificat CA attendu par votre serveur.",
|
|
123
|
-
"unknown": "Échec de la connexion — vérifiez la DSN et réessayez."
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
"tables": {
|
|
127
|
-
"importNoCounts": "Les fichiers de schéma ne contiennent pas de nombres de lignes — la colonne affiche — tant qu’aucune base réelle n’est connectée.",
|
|
128
|
-
"title": "Choisissez vos tables",
|
|
129
|
-
"subtitle": "Choisissez lesquelles inclure. Vous pourrez en changer à tout moment.",
|
|
130
|
-
"search": "Filtrer les tables…",
|
|
131
|
-
"listLabel": "Tables incluables",
|
|
132
|
-
"emptyFilter": "Aucune table ne correspond à votre filtre.",
|
|
133
|
-
"pii": "PII",
|
|
134
|
-
"highVolume": "gros volume",
|
|
135
|
-
"highVolumeNote": "Les tables de plus de 100 000 lignes démarrent décochées — les tables techniques ont rarement leur place dans un tableau de bord.",
|
|
136
|
-
"joinHidden": "{count} tables de jointure/système sont masquées d’avance — elles alimentent toujours les relations plusieurs-à-plusieurs."
|
|
118
|
+
"rowsRunAnalyze": "Pas encore d’estimation — exécutez ANALYZE sur la base pour obtenir les nombres de lignes.",
|
|
119
|
+
"rowsUnavailable": "Les fichiers de schéma n’ont pas de base de données réelle — les nombres de lignes restent inconnus tant que vous n’en connectez pas une.",
|
|
120
|
+
"sqliteCheckEnums": "SQLite n’a pas de type enum natif — les enums sont synthétisés à partir des contraintes CHECK (col IN (…)).",
|
|
121
|
+
"sqliteNoComments": "SQLite n’a pas de commentaires de colonne — utilisez l’éditeur de remappage du schéma pour ajouter des libellés."
|
|
137
122
|
},
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
-
},
|
|
148
|
-
"
|
|
149
|
-
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"
|
|
153
|
-
"
|
|
154
|
-
|
|
155
|
-
"card": {
|
|
156
|
-
"readOnly": "Lecture seule",
|
|
157
|
-
"tables": "Tables",
|
|
158
|
-
"pages": "Pages",
|
|
159
|
-
"latency": "Latence",
|
|
160
|
-
"latencyMs": "{latency, number} ms",
|
|
161
|
-
"lastIntrospected": "Dernière introspection",
|
|
162
|
-
"never": "Jamais",
|
|
163
|
-
"timezone": "Fuseau horaire",
|
|
164
|
-
"timezoneGuessed": "depuis ce serveur",
|
|
165
|
-
"paused": "Adminium ne se connecte pas à cette base de données. Ses pages se chargeront de nouveau dès que vous la reprendrez.",
|
|
166
|
-
"pausedSince": "En pause {when} — Adminium ne se connecte pas à cette base de données. Ses pages se chargeront de nouveau dès que vous la reprendrez."
|
|
167
|
-
},
|
|
168
|
-
"action": {
|
|
169
|
-
"test": "Tester",
|
|
170
|
-
"reintrospect": "Réintrospecter",
|
|
171
|
-
"reintrospectFile": "Les sources de type fichier de schéma n’ont pas de base de données active — téléversez à nouveau le fichier.",
|
|
172
|
-
"remap": "Remapper le schéma",
|
|
173
|
-
"delete": "Supprimer",
|
|
174
|
-
"regional": "Paramètres régionaux",
|
|
175
|
-
"pause": "Mettre en pause",
|
|
176
|
-
"resume": "Reprendre",
|
|
177
|
-
"pausedHint": "Cette connexion est en pause — reprenez-la pour atteindre la base de données.",
|
|
178
|
-
"rename": "Renommer"
|
|
179
|
-
},
|
|
180
|
-
"regional": {
|
|
181
|
-
"title": "Paramètres régionaux",
|
|
182
|
-
"intro": "Ils décrivent l'entreprise à laquelle appartient cette base de données, et non la personne qui la consulte. Les applications servies par Adminium les lisent ici.",
|
|
183
|
-
"timezone": "Fuseau horaire",
|
|
184
|
-
"timezoneHelper": "Les dates et heures s'affichent dans ce fuseau. Sans fuseau, les applications hébergées par Adminium basculent en UTC et l'indiquent à l'écran.",
|
|
185
|
-
"guessedTitle": "Ce fuseau vient du serveur",
|
|
186
|
-
"guessedBody": "Adminium l'a repris de la machine sur laquelle il tourne ; personne ne l'a choisi ici. Enregistrez pour le confirmer, ou choisissez le fuseau dans lequel cette entreprise travaille réellement.",
|
|
187
|
-
"timezonePlaceholder": "Région/Ville",
|
|
188
|
-
"currency": "Devise",
|
|
189
|
-
"currencyHelper": "Sert à formater les montants. Facultatif : ne pas la définir n'affecte que le formatage.",
|
|
190
|
-
"currencyPlaceholder": "Code ISO-4217",
|
|
191
|
-
"notSet": "Non défini",
|
|
192
|
-
"noMatch": "Aucun fuseau correspondant",
|
|
193
|
-
"noMatchCurrency": "Aucune devise correspondante",
|
|
194
|
-
"save": "Enregistrer",
|
|
195
|
-
"failed": "Impossible d'enregistrer les paramètres régionaux",
|
|
196
|
-
"saved": "Paramètres régionaux mis à jour"
|
|
197
|
-
},
|
|
198
|
-
"test": {
|
|
199
|
-
"ok": "Connexion en bonne santé · {latency, number} ms",
|
|
200
|
-
"failed": "Échec du test de connexion"
|
|
123
|
+
"design": {
|
|
124
|
+
"adopt": {
|
|
125
|
+
"action": "Ajouter à mon application",
|
|
126
|
+
"done": "{created} pages créées, {updated} mises à jour, {unchanged} déjà à jour.",
|
|
127
|
+
"everything": "Cette connexion affiche déjà toutes les tables ; rien n’a eu besoin d’être inclus.",
|
|
128
|
+
"forbidden": "Votre rôle peut modifier le schéma mais pas générer des pages. Demandez à un administrateur disposant de la gestion des connexions d’ajouter ces tables à l’application.",
|
|
129
|
+
"grants": "Aucun rôle ne reçoit l’accès automatiquement — accordez-le dans Paramètres → Rôles.",
|
|
130
|
+
"offer": "Une nouvelle table ne sert à rien tant qu'elle n'a pas de page. Ajouter {tables} à votre application ?",
|
|
131
|
+
"skippedEdited": "Laissées intactes parce que vous les avez modifiées : {pages}."
|
|
132
|
+
},
|
|
133
|
+
"apply": "Appliquer",
|
|
134
|
+
"ceiling": {
|
|
135
|
+
"authorise": "Autoriser cette réécriture",
|
|
136
|
+
"body": "{table} contient plus de {rows} lignes — au-delà de la taille qu’Adminium réécrit de lui-même. Seul un Super Admin peut l’autoriser, et la table restera verrouillée pendant toute la réécriture.",
|
|
137
|
+
"hint": "Saisissez le nom de la table exactement tel qu’il apparaît ci-dessus.",
|
|
138
|
+
"notYours": "{table} contient plus de {rows} lignes. Seul un Super Admin peut autoriser une réécriture de cette taille — demandez-en un, ou effectuez la modification pendant une fenêtre de maintenance avec vos propres outils.",
|
|
139
|
+
"prompt": "Saisissez à nouveau {table} pour autoriser la réécriture"
|
|
201
140
|
},
|
|
202
|
-
"
|
|
203
|
-
"
|
|
204
|
-
"
|
|
205
|
-
"
|
|
206
|
-
"
|
|
141
|
+
"column": {
|
|
142
|
+
"help": "Que signifient ces réglages ?",
|
|
143
|
+
"key": "Clé",
|
|
144
|
+
"length": "Longueur",
|
|
145
|
+
"link": "Lié à",
|
|
146
|
+
"linkHelp": "Reliez ceci à une ligne d’une autre table.",
|
|
147
|
+
"linkTypeNote": "Le type correspond à la clé de la table liée.",
|
|
148
|
+
"name": "Nom",
|
|
149
|
+
"namePlaceholder": "client_id",
|
|
150
|
+
"noLink": "Rien",
|
|
151
|
+
"onDelete": "Si la ligne liée est supprimée",
|
|
152
|
+
"precision": "Précision",
|
|
153
|
+
"primaryKey": "Clé primaire",
|
|
154
|
+
"remove": "Supprimer {name}",
|
|
155
|
+
"required": "Obligatoire",
|
|
156
|
+
"type": "Type",
|
|
157
|
+
"unique": "Unique"
|
|
207
158
|
},
|
|
208
|
-
"
|
|
209
|
-
"
|
|
210
|
-
"body": "Cette action supprime « {name} » et les pages générées. Votre base de données n’est jamais touchée.",
|
|
211
|
-
"prompt": "Saisissez {name} pour confirmer",
|
|
212
|
-
"confirm": "Supprimer la connexion",
|
|
159
|
+
"confirm": {
|
|
160
|
+
"body": "Cette modification supprime des données ou un objet. Adminium ne peut pas l'annuler.",
|
|
213
161
|
"cancel": "Annuler",
|
|
214
162
|
"close": "Fermer",
|
|
215
|
-
"
|
|
216
|
-
"
|
|
163
|
+
"confirm": "Appliquer les modifications",
|
|
164
|
+
"prompt": "Saisissez {word} pour confirmer",
|
|
165
|
+
"title": "Appliquer une modification destructrice"
|
|
217
166
|
},
|
|
167
|
+
"designer": "Concepteur de tables",
|
|
168
|
+
"discard": "Abandonner les modifications",
|
|
169
|
+
"dropping": "Marquée pour suppression",
|
|
218
170
|
"empty": {
|
|
219
|
-
"
|
|
220
|
-
"
|
|
221
|
-
|
|
171
|
+
"body": "Créez une table ou choisissez-en une à modifier. Rien n'atteint votre base de données avant que vous n'examiniez les instructions et ne les appliquiez.",
|
|
172
|
+
"title": "Concevez votre schéma"
|
|
173
|
+
},
|
|
174
|
+
"error": {
|
|
175
|
+
"atColumn": "Colonne {n}, {field}",
|
|
176
|
+
"atTable": "Table {field}",
|
|
177
|
+
"empty": "Un nom est requis.",
|
|
178
|
+
"identifier": "Utilisez des minuscules, des chiffres et des tirets bas, en commençant par une lettre.",
|
|
179
|
+
"tooLong": "Trop long — {dialect} autorise {max} caractères."
|
|
180
|
+
},
|
|
181
|
+
"existing": "Tables existantes",
|
|
182
|
+
"hazard": {
|
|
183
|
+
"irreversible": "Irréversible",
|
|
184
|
+
"locking": "Pose un verrou",
|
|
185
|
+
"lossy": "Supprime des données",
|
|
186
|
+
"refused": "Refusé",
|
|
187
|
+
"rewrite": "Réécrit la table",
|
|
188
|
+
"safe": "Sûr"
|
|
189
|
+
},
|
|
190
|
+
"help": {
|
|
191
|
+
"close": "Fermer",
|
|
192
|
+
"link": {
|
|
193
|
+
"example": "Une réservation est liée à un client. Adminium affiche alors le client sur la réservation, et les réservations sur le client.",
|
|
194
|
+
"term": "Lien vers une autre table",
|
|
195
|
+
"what": "Relie cette ligne à une ligne d’une autre table, et demande à la base de données de veiller à ce que ce lien reste valide — vous ne pouvez pas pointer vers quelque chose qui n’existe pas."
|
|
196
|
+
},
|
|
197
|
+
"primaryKey": {
|
|
198
|
+
"example": "Sans clé primaire, Adminium peut lister les lignes, mais il ne peut ni en modifier ni en supprimer une en particulier.",
|
|
199
|
+
"term": "Clé primaire",
|
|
200
|
+
"what": "Le champ qui identifie chaque ligne — celui qu’Adminium utilise pour distinguer une ligne d’une autre. Chaque table devrait en avoir exactement un, et c’est presque toujours le champ « id » créé pour vous."
|
|
201
|
+
},
|
|
202
|
+
"required": {
|
|
203
|
+
"example": "Une commande a besoin d’un client, donc ce champ est obligatoire. Une note de livraison est facultative, donc elle ne l’est pas.",
|
|
204
|
+
"term": "Obligatoire",
|
|
205
|
+
"what": "Le champ doit être rempli. Une ligne ne peut pas être enregistrée tant qu’il est vide."
|
|
206
|
+
},
|
|
207
|
+
"subtitle": "Des descriptions en langage simple de chaque paramètre, et de ce qu’il change pour les personnes qui utilisent votre application.",
|
|
208
|
+
"title": "Ce que signifient ces champs",
|
|
209
|
+
"type": {
|
|
210
|
+
"example": "Un numéro de téléphone est généralement du texte, pas un nombre — les nombres perdent les zéros du début.",
|
|
211
|
+
"term": "Type",
|
|
212
|
+
"what": "Le genre d’information que contient le champ — des mots, des nombres entiers, de l’argent, une date, une réponse oui/non. Choisir le bon type est ce qui permet à Adminium d’afficher un sélecteur de date plutôt qu’une zone de texte, et d’additionner une colonne de montants."
|
|
213
|
+
},
|
|
214
|
+
"unique": {
|
|
215
|
+
"example": "Deux clients ne devraient pas partager la même adresse e-mail — marquez ce champ comme unique et ils ne le pourront plus.",
|
|
216
|
+
"term": "Unique",
|
|
217
|
+
"what": "Deux lignes ne peuvent pas contenir la même valeur. La base de données refuse la seconde."
|
|
218
|
+
}
|
|
222
219
|
},
|
|
223
|
-
"
|
|
224
|
-
"
|
|
225
|
-
"
|
|
226
|
-
"
|
|
227
|
-
"
|
|
228
|
-
"
|
|
229
|
-
"confirm": "Mettre la connexion en pause",
|
|
230
|
-
"pausedToast": "Connexion « {name} » mise en pause",
|
|
231
|
-
"resumedToast": "Connexion « {name} » reprise",
|
|
232
|
-
"pauseFailed": "Impossible de mettre la connexion en pause. Réessayez.",
|
|
233
|
-
"resumeFailed": "Impossible de reprendre la connexion. Réessayez."
|
|
220
|
+
"keepTable": "Conserver {table}",
|
|
221
|
+
"newTable": "Nouvelle table",
|
|
222
|
+
"onDelete": {
|
|
223
|
+
"cascade": "Supprimer aussi cette ligne",
|
|
224
|
+
"restrict": "Empêcher la suppression",
|
|
225
|
+
"setNull": "Laisser ce champ vide"
|
|
234
226
|
},
|
|
235
|
-
"
|
|
236
|
-
|
|
237
|
-
"
|
|
238
|
-
"
|
|
239
|
-
"
|
|
240
|
-
"
|
|
241
|
-
"failed": "La connexion n'a pas pu être renommée"
|
|
242
|
-
}
|
|
243
|
-
},
|
|
244
|
-
"settingsHub": {
|
|
245
|
-
"title": "Paramètres de l’espace de travail",
|
|
246
|
-
"subtitle": "Identité, sécurité et actions destructrices pour cet espace de travail.",
|
|
247
|
-
"save": "Enregistrer les modifications",
|
|
248
|
-
"saved": "Paramètres de l’espace de travail mis à jour",
|
|
249
|
-
"saveFailed": "Impossible d’enregistrer les paramètres de l’espace de travail. Réessayez.",
|
|
250
|
-
"superAdminOnlyTitle": "Super administrateur requis",
|
|
251
|
-
"superAdminOnly": "Seul un super administrateur peut modifier l’identité et les paramètres de sécurité de l’espace de travail.",
|
|
252
|
-
"identity": {
|
|
253
|
-
"heading": "Identité de l’espace de travail",
|
|
254
|
-
"appName": {
|
|
255
|
-
"label": "Nom de l’application",
|
|
256
|
-
"helper": "Affiché dans la barre latérale, le titre du navigateur et les e-mails.",
|
|
257
|
-
"error": "Saisissez un nom de 60 caractères maximum."
|
|
258
|
-
},
|
|
259
|
-
"logo": {
|
|
260
|
-
"label": "Logo",
|
|
261
|
-
"drop": "Déposez une image ici",
|
|
262
|
-
"helper": "PNG, JPEG, WebP, GIF ou SVG, jusqu’à 1 Mo. Remplace la marque intégrée partout.",
|
|
263
|
-
"upload": "Importer un logo",
|
|
264
|
-
"replace": "Remplacer le logo",
|
|
265
|
-
"remove": "Supprimer",
|
|
266
|
-
"uploaded": "Logo mis à jour",
|
|
267
|
-
"removed": "Logo supprimé",
|
|
268
|
-
"tooLarge": "Cette image dépasse 1 Mo.",
|
|
269
|
-
"badType": "Choisissez une image PNG, JPEG, WebP, GIF ou SVG.",
|
|
270
|
-
"undo": "Annuler"
|
|
271
|
-
},
|
|
272
|
-
"showVersion": {
|
|
273
|
-
"label": "Version dans la barre latérale",
|
|
274
|
-
"helper": "Le numéro de build à côté du logo. Désactivé, il masque votre version."
|
|
275
|
-
}
|
|
276
|
-
},
|
|
277
|
-
"security": {
|
|
278
|
-
"heading": "Sécurité",
|
|
279
|
-
"require2fa": {
|
|
280
|
-
"label": "Exiger l’authentification à deux facteurs",
|
|
281
|
-
"desc": "Chaque membre doit activer la 2FA pour se connecter.",
|
|
282
|
-
"note": "Indicatif, pas bloquant : les membres sans 2FA sont dirigés vers sa configuration et ne peuvent plus la désactiver, mais leur connexion n’est jamais bloquée, et les clés API ne sont pas concernées."
|
|
283
|
-
},
|
|
284
|
-
"allowSignup": {
|
|
285
|
-
"label": "Autoriser l’auto-inscription",
|
|
286
|
-
"desc": "N’importe qui peut créer un compte — désactivé, l’espace de travail reste sur invitation uniquement."
|
|
287
|
-
},
|
|
288
|
-
"sessionTtl": {
|
|
289
|
-
"label": "Durée de session (heures)",
|
|
290
|
-
"error": "Entre {min, number} et {max, number} heures."
|
|
291
|
-
},
|
|
292
|
-
"passwordMin": {
|
|
293
|
-
"label": "Longueur minimale du mot de passe",
|
|
294
|
-
"error": "Entre {min, number} et {max, number} caractères."
|
|
295
|
-
}
|
|
296
|
-
},
|
|
297
|
-
"email": {
|
|
298
|
-
"heading": "E-mail (SMTP)",
|
|
299
|
-
"unconfigured": "Aucun serveur de messagerie n’est configuré, donc Adminium ne peut envoyer ni réinitialisation de mot de passe, ni invitation, ni rapport planifié.",
|
|
300
|
-
"host": {
|
|
301
|
-
"label": "Hôte SMTP",
|
|
302
|
-
"error": "Un nom d’hôte ou une adresse IP uniquement — sans schéma, port ni identifiants."
|
|
303
|
-
},
|
|
304
|
-
"port": {
|
|
305
|
-
"label": "Port",
|
|
306
|
-
"error": "Entre {min, number} et {max, number}."
|
|
307
|
-
},
|
|
308
|
-
"user": {
|
|
309
|
-
"label": "Nom d’utilisateur",
|
|
310
|
-
"helper": "Laissez vide si le relais ne demande pas d’authentification."
|
|
311
|
-
},
|
|
312
|
-
"pass": {
|
|
313
|
-
"label": "Mot de passe",
|
|
314
|
-
"helper": "Chiffré au stockage et jamais réaffiché. Laissez vide pour conserver l’actuel.",
|
|
315
|
-
"error": "Ce nom d’utilisateur exige un mot de passe."
|
|
316
|
-
},
|
|
317
|
-
"from": {
|
|
318
|
-
"label": "Adresse d’expéditeur",
|
|
319
|
-
"helper": "Une adresse seule, ou un nom d’affichage devant.",
|
|
320
|
-
"error": "Saisissez une adresse e-mail."
|
|
321
|
-
},
|
|
322
|
-
"secure": {
|
|
323
|
-
"label": "TLS implicite",
|
|
324
|
-
"helper": "Activé pour le port 465. Désactivé démarre en clair puis passe à STARTTLS, ce qu’attend le port 587."
|
|
325
|
-
},
|
|
326
|
-
"remove": "Supprimer le serveur de messagerie",
|
|
327
|
-
"review": {
|
|
328
|
-
"removed": "Supprimé",
|
|
329
|
-
"password": "Remplacé"
|
|
330
|
-
}
|
|
227
|
+
"plan": "Examiner les modifications",
|
|
228
|
+
"result": {
|
|
229
|
+
"applied": "Appliqué. Adminium a relu votre schéma.",
|
|
230
|
+
"failed": "Rien n'a été appliqué — votre base de données est inchangée. {error}",
|
|
231
|
+
"partial": "Partiellement appliqué : {done} étapes sur {total} ont été exécutées. Réappliquer les mêmes modifications les termine.",
|
|
232
|
+
"repaired": "Le renommage a été répercuté sur {pages, plural, one {# page} other {# pages}}, {grants, plural, one {# autorisation de rôle} other {# autorisations de rôle}} et {overrides, plural, one {# substitution de schéma} other {# substitutions de schéma}}."
|
|
331
233
|
},
|
|
332
234
|
"review": {
|
|
333
|
-
"
|
|
334
|
-
"
|
|
335
|
-
"
|
|
336
|
-
"
|
|
337
|
-
"
|
|
338
|
-
"on": "Activé",
|
|
339
|
-
"off": "Désactivé",
|
|
340
|
-
"shown": "Affiché",
|
|
341
|
-
"hidden": "Masqué",
|
|
342
|
-
"change": "{before} → {after}"
|
|
343
|
-
},
|
|
344
|
-
"defaultsCard": {
|
|
345
|
-
"heading": "Valeurs par défaut d’apparence et de langue",
|
|
346
|
-
"body": "Le thème, la couleur d’accent, la densité et la langue de tout l’espace de travail se trouvent dans les valeurs par défaut globales.",
|
|
347
|
-
"cta": "Ouvrir les valeurs par défaut globales"
|
|
348
|
-
},
|
|
349
|
-
"danger": {
|
|
350
|
-
"heading": "Zone de danger",
|
|
351
|
-
"subtitle": "Actions irréversibles.",
|
|
352
|
-
"empty": "Rien à supprimer — aucune connexion pour l’instant.",
|
|
353
|
-
"deleteDesc": "Supprime la connexion et les pages générées. Votre base de données n’est pas touchée. Irréversible.",
|
|
354
|
-
"deleteCta": "Supprimer la connexion"
|
|
355
|
-
},
|
|
356
|
-
"aiCard": {
|
|
357
|
-
"heading": "Enrichissement par IA",
|
|
358
|
-
"body": "Configurez un fournisseur IA (ou l’aller-retour copier-coller) pour enrichir libellés, groupes et relations.",
|
|
359
|
-
"cta": "Ouvrir les réglages IA"
|
|
360
|
-
},
|
|
361
|
-
"pagesCard": {
|
|
362
|
-
"heading": "Pages",
|
|
363
|
-
"body": "Ajoutez, modifiez et supprimez des pages, changez leur contenu et réordonnez la barre latérale.",
|
|
364
|
-
"cta": "Gérer les pages"
|
|
235
|
+
"noChanges": "Aucune modification de schéma pour l’instant.",
|
|
236
|
+
"pending": "Examinez vos modifications pour voir les instructions exactes qu’Adminium exécutera.",
|
|
237
|
+
"steps": "Étapes prévues",
|
|
238
|
+
"superAdmin": "Super administrateur",
|
|
239
|
+
"unfinished": "Une application précédente sur cette connexion n’a jamais signalé de résultat. Son schéma est peut-être à mi-chemin entre deux formes — consultez l’historique des modifications avant d’en appliquer d’autres."
|
|
365
240
|
},
|
|
366
|
-
"
|
|
367
|
-
|
|
368
|
-
"
|
|
369
|
-
"
|
|
370
|
-
|
|
241
|
+
"reviewPane": "Examen",
|
|
242
|
+
"table": {
|
|
243
|
+
"addColumn": "Ajouter une colonne",
|
|
244
|
+
"columns": "Colonnes",
|
|
245
|
+
"drop": "Supprimer cette table",
|
|
246
|
+
"dropHelp": "La table et toutes ses lignes sont détruites. Vous verrez exactement ce qui sera cassé avant toute exécution.",
|
|
247
|
+
"name": "Nom de la table",
|
|
248
|
+
"nameHelp": "Lettres minuscules, chiffres et tirets bas.",
|
|
249
|
+
"namePlaceholder": "reservations",
|
|
250
|
+
"noKey": "Cette table n’a pas de clé primaire ; Adminium la traitera comme étant en lecture seule — les lignes peuvent être listées mais pas modifiées.",
|
|
251
|
+
"renameHelp": "La modifier renomme la table dans votre base de données.",
|
|
252
|
+
"uuidKeyUnavailable": "Sur ce moteur, une clé doit être un entier généré : un uuid généré par la base ne peut pas être relu après une insertion."
|
|
253
|
+
},
|
|
254
|
+
"unnamed": "Nommez chaque table et chaque colonne pour examiner les modifications.",
|
|
255
|
+
"unrepresentableDefaults": "Ces colonnes conservent une valeur par défaut générée par la base qu’Adminium ne peut pas modifier ici ; elle est laissée telle quelle : {columns}"
|
|
371
256
|
},
|
|
372
|
-
"
|
|
373
|
-
"
|
|
374
|
-
"
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
"
|
|
380
|
-
"
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
"
|
|
386
|
-
"
|
|
387
|
-
"
|
|
388
|
-
"
|
|
389
|
-
"
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
"
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
"
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
"
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
"
|
|
422
|
-
"
|
|
423
|
-
"
|
|
424
|
-
"
|
|
425
|
-
"
|
|
426
|
-
"
|
|
427
|
-
"
|
|
428
|
-
"
|
|
429
|
-
"
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
"
|
|
436
|
-
"
|
|
437
|
-
"
|
|
438
|
-
"
|
|
439
|
-
"
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
"
|
|
443
|
-
"
|
|
444
|
-
"
|
|
445
|
-
"
|
|
446
|
-
"guarantee1": "Le prompt ne contient que votre schéma et des statistiques agrégées — jamais de données de lignes par défaut.",
|
|
447
|
-
"guarantee2": "Aucun identifiant, URL d’instance ni justificatif n’y est intégré.",
|
|
448
|
-
"guarantee3": "Les exécutions BYO ne font aucun appel réseau.",
|
|
449
|
-
"promptVersion": "Prompt {version}",
|
|
450
|
-
"schemaVersion": "Schéma {version}",
|
|
451
|
-
"headingRecommended": "Utilisez votre propre outil IA — aucune clé requise",
|
|
452
|
-
"recommended": "Recommandé"
|
|
257
|
+
"diagram": {
|
|
258
|
+
"ceiling": "Affichage des {shown} tables les plus connectées. {omitted} autres sont masquées — recherchez-en une pour l’ajouter.",
|
|
259
|
+
"legend": {
|
|
260
|
+
"declared": "Clé étrangère",
|
|
261
|
+
"inferred": "Déduit",
|
|
262
|
+
"virtual": "Ajouté dans Adminium"
|
|
263
|
+
},
|
|
264
|
+
"legendLabel": "Légende",
|
|
265
|
+
"node": {
|
|
266
|
+
"foreignKey": "Clé étrangère",
|
|
267
|
+
"more": "+{count} de plus",
|
|
268
|
+
"primaryKey": "Clé primaire"
|
|
269
|
+
},
|
|
270
|
+
"outline": {
|
|
271
|
+
"intro": "{tables} tables et {relations} relations, sous forme de liste.",
|
|
272
|
+
"more": " et {count} de plus",
|
|
273
|
+
"referencedBy": "Référencé par : {list}",
|
|
274
|
+
"references": "Références : {list}"
|
|
275
|
+
},
|
|
276
|
+
"saveLayout": "Enregistrer la disposition",
|
|
277
|
+
"search": "Rechercher une table ou une colonne",
|
|
278
|
+
"showDiagram": "Afficher le diagramme",
|
|
279
|
+
"showList": "Afficher en liste"
|
|
280
|
+
},
|
|
281
|
+
"documents": {
|
|
282
|
+
"cancel": "Annuler",
|
|
283
|
+
"connectionLabel": "Connexion",
|
|
284
|
+
"delete": "Supprimer",
|
|
285
|
+
"delivery": {
|
|
286
|
+
"email": "Envoyer à",
|
|
287
|
+
"noEmail": "À personne — garder sur la fiche",
|
|
288
|
+
"noEmailSlot": "Ce type de document n'a pas de champ d'adresse : il ne peut pas être envoyé.",
|
|
289
|
+
"noSmtp": "Aucun serveur e-mail n'est configuré pour cet Adminium, rien ne peut donc être envoyé. Configurez-en un dans Studio → Paramètres → E-mail.",
|
|
290
|
+
"stored": "Conservé sur la fiche, toujours."
|
|
291
|
+
},
|
|
292
|
+
"disabled": "désactivée",
|
|
293
|
+
"edit": "Modifier",
|
|
294
|
+
"empty": "Aucune correspondance pour l’instant.",
|
|
295
|
+
"grants": {
|
|
296
|
+
"refused": "Cette correspondance lit {tables}, que vous n’avez pas le droit de lire. Les documents qui en viennent échoueront pour vous.",
|
|
297
|
+
"title": "Vous n’avez pas accès à tout cela"
|
|
298
|
+
},
|
|
299
|
+
"intro": "Une correspondance indique quelles colonnes de quelle table font une sorte de document, ce qui le déclenche et où il va.",
|
|
300
|
+
"name": "Nommer cette correspondance",
|
|
301
|
+
"newFrom": "Nouvelle correspondance pour :",
|
|
302
|
+
"noProvider": "Aucun add-on installé ne peut encore établir de documents. Installez-en un depuis Add-ons et les correspondances possibles apparaîtront ici.",
|
|
303
|
+
"pickTable": "Choisir une table…",
|
|
304
|
+
"prefix": "Préfixe de numéro",
|
|
305
|
+
"render": {
|
|
306
|
+
"failedRow": "Rien n'a été dessiné : {reason}",
|
|
307
|
+
"intro": "Dessinez-en un maintenant, à partir d'une ligne de votre choix. Rien n'est envoyé nulle part — il reste sur la fiche comme les autres.",
|
|
308
|
+
"noRows": "Aucune ligne à dessiner pour l'instant.",
|
|
309
|
+
"open": "Ouvrir",
|
|
310
|
+
"pending": "Dessin en cours…",
|
|
311
|
+
"pick": "Dessiner celle-ci",
|
|
312
|
+
"ready": "Dessiné.",
|
|
313
|
+
"saveFirst": "Enregistrez d'abord la correspondance. Un document se dessine à partir d'une correspondance enregistrée : vous verrez ce qu'elle donne avant tout le monde.",
|
|
314
|
+
"search": "Rechercher des lignes",
|
|
315
|
+
"slow": "Aucun document n'est encore apparu. Il attend peut-être son tour, ou cette installation n'exécute aucune tâche de fond — rien ne sera dessiné tant qu'elle ne le fait pas.",
|
|
316
|
+
"slowTitle": "Toujours rien"
|
|
317
|
+
},
|
|
318
|
+
"save": "Enregistrer la correspondance",
|
|
319
|
+
"slot": {
|
|
320
|
+
"byDefault": "Rempli par Adminium",
|
|
321
|
+
"lineColumnOf": "{column} de chaque ligne",
|
|
322
|
+
"lineColumns": "Ce qui remplit chaque colonne d'une ligne",
|
|
323
|
+
"looksLikeLines": "ressemble à des lignes",
|
|
324
|
+
"noChildren": "Rien dans votre base ne pointe vers cette table : il n'y a donc aucune ligne à dessiner. Un document a besoin d'une table enfant avec une clé étrangère vers celle-ci.",
|
|
325
|
+
"noLines": "Aucune ligne",
|
|
326
|
+
"pii": "données masquées",
|
|
327
|
+
"typed": "Une valeur que je saisis",
|
|
328
|
+
"typedHint": "Saisie ici, non lue dans vos données — chaque document de cette correspondance reçoit la même valeur.",
|
|
329
|
+
"typedValue": "Valeur pour {slot}",
|
|
330
|
+
"unmapped": "Non rempli"
|
|
453
331
|
},
|
|
454
|
-
"
|
|
455
|
-
"
|
|
456
|
-
"
|
|
457
|
-
"
|
|
458
|
-
"
|
|
459
|
-
"
|
|
460
|
-
"
|
|
461
|
-
"
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
"
|
|
467
|
-
"
|
|
468
|
-
"
|
|
469
|
-
"
|
|
470
|
-
|
|
332
|
+
"step": {
|
|
333
|
+
"delivery": "Où il va",
|
|
334
|
+
"kind": "Sorte",
|
|
335
|
+
"mapping": "Ce qui remplit chaque champ",
|
|
336
|
+
"mappingHelp": "Chaque champ lit une colonne, ou prend une valeur que vous saisissez ici.",
|
|
337
|
+
"render": "Essayer sur une ligne",
|
|
338
|
+
"table": "Connexion et table",
|
|
339
|
+
"trigger": "Ce qui le déclenche"
|
|
340
|
+
},
|
|
341
|
+
"tableLabel": "Table",
|
|
342
|
+
"title": "Correspondances de documents",
|
|
343
|
+
"trigger": {
|
|
344
|
+
"created": "Quand une ligne est ajoutée",
|
|
345
|
+
"manual": "Uniquement à la demande",
|
|
346
|
+
"manualShort": "à la demande",
|
|
347
|
+
"note": "Les lignes venues d’un import ou écrites directement dans la base ne déclenchent rien — seules les écritures passant par Adminium le font.",
|
|
348
|
+
"noteTitle": "Ce qui compte comme changement",
|
|
349
|
+
"updated": "Quand une ligne change"
|
|
350
|
+
},
|
|
351
|
+
"unbound": "Reste à remplir : {slots}"
|
|
471
352
|
},
|
|
472
353
|
"enrich": {
|
|
473
|
-
"title": "Enrichir avec l’IA",
|
|
474
|
-
"subtitle": "Affinez éventuellement les libellés, groupes, énumérations et tableaux de bord générés à l’aide d’un LLM. La base heuristique fonctionne sans cela — ceci ajoute seulement des suggestions que vous vérifiez avant toute application.",
|
|
475
|
-
"intentLabel": "Comment souhaitez-vous enrichir ?",
|
|
476
|
-
"sectionsLegend": "Que doit décider l’IA ?",
|
|
477
|
-
"localesLegend": "Traduire les libellés en",
|
|
478
|
-
"localeLocked": "(requis)",
|
|
479
|
-
"samplingTitle": "Inclure des valeurs d’exemple",
|
|
480
|
-
"samplingHint": "Inclut jusqu’à 20 valeurs réelles par colonne non-PII dans l’invite.",
|
|
481
|
-
"samplingPreviewTitle": "Ce qui quitte cette machine",
|
|
482
|
-
"samplingPreviewBody": "Jusqu’à 20 valeurs les plus fréquentes par colonne non-PII, plus min/max pour les colonnes numériques et de date. Les colonnes marquées PII ne sont jamais échantillonnées. Tout le reste demeure purement agrégé. Vérifiez l’invite exacte avant de copier (BYO) — rien n’est envoyé sans votre action.",
|
|
483
|
-
"noSections": "Sélectionnez au moins un groupe de décisions à enrichir.",
|
|
484
|
-
"generatePrompt": "Générer l’invite",
|
|
485
|
-
"startProvider": "Démarrer l’enrichissement",
|
|
486
|
-
"startOver": "Recommencer",
|
|
487
|
-
"copied": "Copié",
|
|
488
|
-
"createFailed": "Impossible de construire l’invite d’enrichissement — réessayez.",
|
|
489
|
-
"createFailedTitle": "Impossible de démarrer",
|
|
490
|
-
"providerFallback": "votre fournisseur d’IA",
|
|
491
|
-
"fileTitle": "L’enrichissement par IA nécessite une base de données active",
|
|
492
|
-
"fileBody": "Les sources de type fichier de schéma n’ont pas encore d’instantané à enrichir. Connectez une base de données active pour utiliser l’enrichissement par IA, ou continuez — la base heuristique génère tout de même une application complète.",
|
|
493
|
-
"section": {
|
|
494
|
-
"labels": "Libellés et descriptions",
|
|
495
|
-
"groups": "Groupes de navigation",
|
|
496
|
-
"enums": "Sémantique des énumérations",
|
|
497
|
-
"relations": "Relations",
|
|
498
|
-
"keys": "Colonnes clés",
|
|
499
|
-
"templates": "Modèles de page",
|
|
500
|
-
"widgets": "Widgets de tableau de bord",
|
|
501
|
-
"pii": "PII et masquage",
|
|
502
|
-
"icons": "Icônes",
|
|
503
|
-
"microcopy": "Microcopie"
|
|
504
|
-
},
|
|
505
|
-
"provider": {
|
|
506
|
-
"title": "Utiliser mon fournisseur d’IA",
|
|
507
|
-
"description": "Lancez l’enrichissement maintenant avec votre fournisseur configuré. Vous vérifiez chaque suggestion sous forme de diff.",
|
|
508
|
-
"unconfigured": "Aucun fournisseur d’IA n’est encore configuré — copiez une invite dans votre propre outil ci-dessous, ou configurez d’abord un fournisseur.",
|
|
509
|
-
"settingsHint": "Vous voulez le lancer directement ?",
|
|
510
|
-
"settingsLink": "Configurer un fournisseur dans Paramètres → IA",
|
|
511
|
-
"networkDisabled": "Cet Adminium n'a pas d'accès Internet sortant : il ne peut joindre aucune API de fournisseur. Utilisez plutôt l'aller-retour copier-coller — même invite, même revue."
|
|
512
|
-
},
|
|
513
354
|
"byo": {
|
|
514
|
-
"cardTitle": "Copier une invite vers mon propre outil d’IA",
|
|
515
355
|
"cardDescription": "Copiez une invite autonome dans Claude Code, ChatGPT, n’importe quoi — puis recollez le JSON. Aucune clé nécessaire, rien ne quitte cette machine automatiquement.",
|
|
516
|
-
"
|
|
517
|
-
"
|
|
518
|
-
"promptLabelN": "Invite d’enrichissement {index} sur {total}",
|
|
519
|
-
"tokenChip": "≈ {tokens} jetons",
|
|
520
|
-
"copyPrompt": "Copier l’invite",
|
|
521
|
-
"copyPromptDone": "Invite copiée",
|
|
522
|
-
"download": "Télécharger .md",
|
|
523
|
-
"chunkTabs": "Segments d’invite",
|
|
356
|
+
"cardTitle": "Copier une invite vers mon propre outil d’IA",
|
|
357
|
+
"cardTitleRecommended": "Copier une invite vers mon propre outil IA — recommandé",
|
|
524
358
|
"chunkTab": "Invite {index}",
|
|
359
|
+
"chunkTabs": "Segments d’invite",
|
|
525
360
|
"chunkValid": "Segment {index} validé",
|
|
526
|
-
"
|
|
527
|
-
"pastePlaceholder": "Collez la réponse JSON ici…",
|
|
528
|
-
"validate": "Valider",
|
|
529
|
-
"valid": "Réponse validée",
|
|
530
|
-
"mergedTitle": "Les {count} segments sont validés et fusionnés",
|
|
531
|
-
"mergedTitleSingle": "Réponse validée",
|
|
532
|
-
"mergedBody": "Les suggestions sont prêtes à être vérifiées par rapport à la base heuristique.",
|
|
533
|
-
"errorsTitle": "La validation a trouvé {count} problèmes",
|
|
361
|
+
"continueReview": "Continuer vers la vérification",
|
|
534
362
|
"copyErrors": "Copier les erreurs pour votre outil d’IA",
|
|
535
363
|
"copyErrorsDone": "Erreurs copiées",
|
|
536
364
|
"copyErrorsHint": "Recollez ceci dans votre outil d’IA pour obtenir une réponse corrigée.",
|
|
365
|
+
"copyPrompt": "Copier l’invite",
|
|
366
|
+
"copyPromptDone": "Invite copiée",
|
|
367
|
+
"download": "Télécharger .md",
|
|
537
368
|
"droppedItems": "{count} suggestions ont été écartées lors de la validation — la vérification montre le reste.",
|
|
538
|
-
"
|
|
369
|
+
"errorsTitle": "La validation a trouvé {count} problèmes",
|
|
370
|
+
"guidance": "Exécutez ceci dans n’importe quel outil d’IA — Claude Code, ChatGPT, peu importe. Collez le JSON renvoyé ci-dessous.",
|
|
371
|
+
"mergedBody": "Les suggestions sont prêtes à être vérifiées par rapport à la base heuristique.",
|
|
372
|
+
"mergedTitle": "Les {count} segments sont validés et fusionnés",
|
|
373
|
+
"mergedTitleSingle": "Réponse validée",
|
|
374
|
+
"pasteLabel": "Collez la réponse JSON",
|
|
375
|
+
"pastePlaceholder": "Collez la réponse JSON ici…",
|
|
539
376
|
"pendingBody": "Collez la réponse JSON ci-dessus et validez-la pour passer à la vérification.",
|
|
540
377
|
"pendingBodyChunked": "Chaque segment doit être validé avant la fusion des suggestions. Collez et validez chaque invite ci-dessus.",
|
|
378
|
+
"pendingTitle": "Validez chaque invite pour continuer",
|
|
379
|
+
"promptLabel": "Invite d’enrichissement",
|
|
380
|
+
"promptLabelN": "Invite d’enrichissement {index} sur {total}",
|
|
541
381
|
"requestFailed": "Impossible de joindre le serveur pour valider — réessayez.",
|
|
542
|
-
"
|
|
543
|
-
"
|
|
544
|
-
"
|
|
382
|
+
"tokenChip": "≈ {tokens} jetons",
|
|
383
|
+
"valid": "Réponse validée",
|
|
384
|
+
"validate": "Valider",
|
|
385
|
+
"wholeDocument": "document entier"
|
|
545
386
|
},
|
|
387
|
+
"copied": "Copié",
|
|
388
|
+
"createFailed": "Impossible de construire l’invite d’enrichissement — réessayez.",
|
|
389
|
+
"createFailedTitle": "Impossible de démarrer",
|
|
546
390
|
"direct": {
|
|
547
|
-
"
|
|
548
|
-
"subtitle": "Envoi de votre schéma à",
|
|
391
|
+
"back": "Retour aux options",
|
|
549
392
|
"building": "Construction de l’invite…",
|
|
550
|
-
"logLabel": "Journal d’enrichissement",
|
|
551
393
|
"cancel": "Annuler",
|
|
552
|
-
"back": "Retour aux options",
|
|
553
|
-
"retry": "Réessayer",
|
|
554
|
-
"done": "Enrichissement terminé — vérifiez les suggestions.",
|
|
555
394
|
"continueReview": "Continuer vers la vérification",
|
|
395
|
+
"done": "Enrichissement terminé — vérifiez les suggestions.",
|
|
396
|
+
"errorTitle": "Échec de l’enrichissement",
|
|
556
397
|
"failed": "L’exécution du fournisseur a échoué. Vérifiez vos paramètres d’IA et réessayez.",
|
|
557
398
|
"jobFailed": "L’exécution de l’enrichissement ne s’est pas terminée.",
|
|
399
|
+
"logLabel": "Journal d’enrichissement",
|
|
400
|
+
"retry": "Réessayer",
|
|
558
401
|
"startFailed": "Impossible de démarrer l’exécution — réessayez.",
|
|
559
|
-
"
|
|
402
|
+
"subtitle": "Envoi de votre schéma à",
|
|
403
|
+
"title": "Enrichissement par IA"
|
|
404
|
+
},
|
|
405
|
+
"fileBody": "Les sources de type fichier de schéma n’ont pas encore d’instantané à enrichir. Connectez une base de données active pour utiliser l’enrichissement par IA, ou continuez — la base heuristique génère tout de même une application complète.",
|
|
406
|
+
"fileTitle": "L’enrichissement par IA nécessite une base de données active",
|
|
407
|
+
"generatePrompt": "Générer l’invite",
|
|
408
|
+
"intentLabel": "Comment souhaitez-vous enrichir ?",
|
|
409
|
+
"localeLocked": "(requis)",
|
|
410
|
+
"localesLegend": "Traduire les libellés en",
|
|
411
|
+
"noSections": "Sélectionnez au moins un groupe de décisions à enrichir.",
|
|
412
|
+
"provider": {
|
|
413
|
+
"configError": "Impossible de charger les paramètres du fournisseur — configurez-en un dans Paramètres → IA, puis revenez à cette étape.",
|
|
414
|
+
"description": "Lancez l’enrichissement maintenant avec votre fournisseur configuré. Vous vérifiez chaque suggestion sous forme de diff.",
|
|
415
|
+
"networkDisabled": "Cet Adminium n'a pas d'accès Internet sortant : il ne peut joindre aucune API de fournisseur. Utilisez plutôt l'aller-retour copier-coller — même invite, même revue.",
|
|
416
|
+
"readyBody": "Choisissez « Utiliser mon fournisseur d’IA » ci-dessus pour lancer l’enrichissement de cette connexion maintenant.",
|
|
417
|
+
"readyTitle": "Fournisseur d’IA configuré",
|
|
418
|
+
"setUpHere": "Configurer un fournisseur ici",
|
|
419
|
+
"setUpHide": "Masquer la configuration du fournisseur",
|
|
420
|
+
"settingsHint": "Vous voulez le lancer directement ?",
|
|
421
|
+
"settingsLink": "Configurer un fournisseur dans Paramètres → IA",
|
|
422
|
+
"title": "Utiliser mon fournisseur d’IA",
|
|
423
|
+
"unconfigured": "Aucun fournisseur d’IA n’est encore configuré — configurez-en un ci-dessous, ou copiez une invite dans votre propre outil d’IA."
|
|
424
|
+
},
|
|
425
|
+
"providerFallback": "votre fournisseur d’IA",
|
|
426
|
+
"samplingHint": "Inclut jusqu’à 20 valeurs réelles par colonne non-PII dans l’invite.",
|
|
427
|
+
"samplingPreviewBody": "Jusqu’à 20 valeurs les plus fréquentes par colonne non-PII, plus min/max pour les colonnes numériques et de date. Les colonnes marquées PII ne sont jamais échantillonnées. Tout le reste demeure purement agrégé. Vérifiez l’invite exacte avant de copier (BYO) — rien n’est envoyé sans votre action.",
|
|
428
|
+
"samplingPreviewTitle": "Ce qui quitte cette machine",
|
|
429
|
+
"samplingTitle": "Inclure des valeurs d’exemple",
|
|
430
|
+
"section": {
|
|
431
|
+
"enums": "Sémantique des énumérations",
|
|
432
|
+
"groups": "Groupes de navigation",
|
|
433
|
+
"icons": "Icônes",
|
|
434
|
+
"keys": "Colonnes clés",
|
|
435
|
+
"labels": "Libellés et descriptions",
|
|
436
|
+
"microcopy": "Microcopie",
|
|
437
|
+
"pii": "PII et masquage",
|
|
438
|
+
"relations": "Relations",
|
|
439
|
+
"templates": "Modèles de page",
|
|
440
|
+
"widgets": "Widgets de tableau de bord"
|
|
560
441
|
},
|
|
442
|
+
"sectionsLegend": "Que doit décider l’IA ?",
|
|
561
443
|
"skip": {
|
|
562
|
-
"
|
|
563
|
-
"description": "Générer à partir de la base heuristique. Vous pourrez enrichir plus tard depuis Paramètres → IA — ignorer n’est jamais pénalisé.",
|
|
444
|
+
"confirmBody": "L’application générée utilisera les libellés, groupes et tableaux de bord heuristiques. Continuez la génération — vous pouvez lancer l’enrichissement par IA à tout moment depuis Paramètres → IA.",
|
|
564
445
|
"confirmTitle": "Poursuite avec l’heuristique",
|
|
565
|
-
"
|
|
446
|
+
"description": "Générer à partir de la base heuristique. Vous pourrez enrichir plus tard depuis Paramètres → IA — ignorer n’est jamais pénalisé.",
|
|
447
|
+
"title": "Ignorer — utiliser uniquement l’heuristique"
|
|
448
|
+
},
|
|
449
|
+
"startOver": "Recommencer",
|
|
450
|
+
"startProvider": "Démarrer l’enrichissement",
|
|
451
|
+
"subtitle": "Affinez éventuellement les libellés, groupes, énumérations et tableaux de bord générés à l’aide d’un LLM. La base heuristique fonctionne sans cela — ceci ajoute seulement des suggestions que vous vérifiez avant toute application.",
|
|
452
|
+
"title": "Enrichir avec l’IA"
|
|
453
|
+
},
|
|
454
|
+
"generate": {
|
|
455
|
+
"errorTitle": "Échec de la génération",
|
|
456
|
+
"failed": "Échec de la génération — réessayez, ou relancez d’abord l’introspection.",
|
|
457
|
+
"fileBody": "Votre schéma a été analysé proprement et l’aperçu ci-dessus est réel. Générer une application fonctionnelle directement depuis un fichier de schéma (avec des lignes fictives) n’est pas encore disponible — connectez une base active pour générer dès aujourd’hui.",
|
|
458
|
+
"fileTitle": "Fichier de schéma analysé — la génération nécessite une base active",
|
|
459
|
+
"log": {
|
|
460
|
+
"classifying": "Classification du schéma…",
|
|
461
|
+
"composing": "Composition des modèles…",
|
|
462
|
+
"done": "{pages} pages générées dans {groups} groupes de navigation",
|
|
463
|
+
"writing": "Écriture des pages…"
|
|
464
|
+
},
|
|
465
|
+
"logLabel": "Journal de génération",
|
|
466
|
+
"openApp": "Ouvrir votre application",
|
|
467
|
+
"run": "Générer le tableau de bord",
|
|
468
|
+
"subtitle": "Une page par table incluse plus des tableaux de bord par domaine — intention :",
|
|
469
|
+
"successBody": "{pages} pages dans {groups} groupes de navigation — générées depuis votre schéma, modifiables dans le Studio.",
|
|
470
|
+
"successTitle": "Votre tableau de bord est prêt",
|
|
471
|
+
"title": "Générez votre application"
|
|
472
|
+
},
|
|
473
|
+
"hostedApps": {
|
|
474
|
+
"domains": {
|
|
475
|
+
"add": "Attacher un domaine",
|
|
476
|
+
"hostLabel": "Hôte",
|
|
477
|
+
"instanceLabel": "Instance",
|
|
478
|
+
"instanceOwn": "L'application elle-même",
|
|
479
|
+
"issuesTitle": "La carte des domaines a été refusée",
|
|
480
|
+
"none": "Aucun domaine attaché.",
|
|
481
|
+
"remove": "Retirer",
|
|
482
|
+
"save": "Enregistrer les domaines",
|
|
483
|
+
"savedBody": "Les attributions prennent effet en quelques secondes. Un hôte ne répond que lorsque son DNS et votre proxy atteignent réellement cette instance.",
|
|
484
|
+
"savedTitle": "Enregistré",
|
|
485
|
+
"subtitle": "Pointez le DNS d’un domaine vers votre proxy, transmettez l’en-tête Host à Adminium, puis attachez-le ici — cet hôte sert alors la surface au lieu de ce tableau de bord. Les certificats restent sur votre proxy.",
|
|
486
|
+
"surfaceLabel": "Surface",
|
|
487
|
+
"title": "Domaines"
|
|
488
|
+
},
|
|
489
|
+
"emptyBody": "Pointez ADMINIUM_SURFACES_DIR vers un répertoire de surfaces compilées — un dossier par app et par côté, chacun avec son index.html — puis redémarrez. Elles sont alors servies sous /apps/ et apparaissent ici.",
|
|
490
|
+
"emptyTitle": "Aucune surface d’app n’est servie",
|
|
491
|
+
"error": "Un problème est survenu",
|
|
492
|
+
"instances": {
|
|
493
|
+
"add": "Ajouter une instance",
|
|
494
|
+
"appLabel": "Application",
|
|
495
|
+
"body": "Servir la même application sur plusieurs bases. Chaque instance est accessible à /apps/<app>/<segment>/<side>/ et ne lit que la connexion que vous lui donnez.",
|
|
496
|
+
"empty": "Aucune instance supplémentaire.",
|
|
497
|
+
"failed": "Les instances n'ont pas été enregistrées",
|
|
498
|
+
"readsLabel": "Lit",
|
|
499
|
+
"remove": "Retirer",
|
|
500
|
+
"save": "Enregistrer les instances",
|
|
501
|
+
"slugLabel": "Segment d'URL",
|
|
502
|
+
"title": "Instances"
|
|
503
|
+
},
|
|
504
|
+
"subtitle": "Les surfaces d’app que cette instance sert — où chacune apparaît, et les domaines qui pointent vers elles.",
|
|
505
|
+
"surfaces": {
|
|
506
|
+
"boundKey": "Sert la clé",
|
|
507
|
+
"connectionLabel": "Lit",
|
|
508
|
+
"connectionUnset": "Celle qui est active",
|
|
509
|
+
"customer": "Client",
|
|
510
|
+
"mintLink": "En créer une sous API publique",
|
|
511
|
+
"noKey": "Aucune clé liée — cette surface ne peut pas lire de données tant qu’une clé n’est pas créée pour elle.",
|
|
512
|
+
"noNav": "Placement interne indisponible — recompilez cette surface avec le toolkit actuel pour qu’elle émette surface.json.",
|
|
513
|
+
"placementExternal": "Externe (URL propre uniquement)",
|
|
514
|
+
"placementInternal": "Dans la barre latérale (fondue)",
|
|
515
|
+
"placementLabel": "Placement",
|
|
516
|
+
"staff": "Équipe",
|
|
517
|
+
"subtitle": "Une surface équipe peut se fondre dans la barre latérale de ce tableau de bord ou rester autonome ; une surface client est publique et lit via sa clé liée.",
|
|
518
|
+
"title": "Surfaces"
|
|
519
|
+
},
|
|
520
|
+
"title": "Apps hébergées",
|
|
521
|
+
"install": {
|
|
522
|
+
"steps": {
|
|
523
|
+
"bundle": "Paquet",
|
|
524
|
+
"database": "Base de données",
|
|
525
|
+
"plan": "Plan de schéma",
|
|
526
|
+
"done": "Terminé"
|
|
527
|
+
},
|
|
528
|
+
"progress": "Progression de l’installation",
|
|
529
|
+
"failed": "Échec de l’installation",
|
|
530
|
+
"bundle": {
|
|
531
|
+
"title": "Téléverser le paquet de l’application",
|
|
532
|
+
"hint": "Le .tgz produit par `npm pack` pour une surface compilée — il contient manifest.json et un dossier staff/ ou customer/.",
|
|
533
|
+
"file": "Fichier du paquet (.tgz)",
|
|
534
|
+
"fileHint": "Rien n’est créé tant que vous n’avez pas confirmé à l’étape du plan de schéma.",
|
|
535
|
+
"key": "Clé de l’application",
|
|
536
|
+
"version": "Version",
|
|
537
|
+
"integrity": "Intégrité (facultatif)",
|
|
538
|
+
"integrityHint": "Collez la valeur sha512- de `npm pack --json` pour que le serveur vérifie ces octets exacts. Laissée vide, elle est calculée ici."
|
|
539
|
+
},
|
|
540
|
+
"database": {
|
|
541
|
+
"title": "Dans quelle base de données installer ?",
|
|
542
|
+
"hint": "Choisissez une connexion accessible en écriture. C’est là que les tables seront créées, et c’est ce que l’application lit ensuite.",
|
|
543
|
+
"tables": "Tables : {count}",
|
|
544
|
+
"readOnly": "Lecture seule",
|
|
545
|
+
"writable": "Accessible en écriture",
|
|
546
|
+
"noWritable": "Aucune connexion en écriture",
|
|
547
|
+
"allReadOnly": "Toutes les connexions ici utilisent un rôle en lecture seule, aucune application ne peut donc créer ses tables. Connectez-en d’abord une capable d’exécuter du DDL."
|
|
548
|
+
},
|
|
549
|
+
"plan": {
|
|
550
|
+
"title": "Vérifier le plan de schéma",
|
|
551
|
+
"hint": "Exactement ce qui sera créé dans votre base. Rien n’a encore été écrit.",
|
|
552
|
+
"refused": "Cette application ne peut pas être installée ici",
|
|
553
|
+
"create": "Créer",
|
|
554
|
+
"reuse": "Réutiliser l’existante",
|
|
555
|
+
"toggleDdl": "Afficher l’aperçu DDL",
|
|
556
|
+
"ddl": "Aperçu DDL",
|
|
557
|
+
"ddlNote": "À titre indicatif. Le serveur produit l’instruction exacte pour votre moteur, clés étrangères comprises.",
|
|
558
|
+
"summary": "{created} créées · {reused} réutilisées"
|
|
559
|
+
},
|
|
560
|
+
"done": {
|
|
561
|
+
"title": "Installée",
|
|
562
|
+
"body": "{key} est désormais servie. Choisissez ci-dessous où apparaît son côté personnel.",
|
|
563
|
+
"schema": "Tables créées : {created} · réutilisées : {reused}"
|
|
564
|
+
},
|
|
565
|
+
"cancel": "Annuler",
|
|
566
|
+
"back": "Retour",
|
|
567
|
+
"upload": "Téléverser",
|
|
568
|
+
"continue": "Continuer",
|
|
569
|
+
"confirm": "Installer",
|
|
570
|
+
"finish": "Gérer les applications",
|
|
571
|
+
"staged": "Fichiers décompressés : {files}",
|
|
572
|
+
"footerStep": "Étape {n} sur {total}",
|
|
573
|
+
"footerStepApp": "Étape {n} sur {total} · {app}",
|
|
574
|
+
"chosen": {
|
|
575
|
+
"title": "Installer {app}",
|
|
576
|
+
"hint": "Cette application est livrée avec votre version et se trouve déjà sur le disque. Rien n’est créé tant que vous n’avez pas confirmé le plan de schéma."
|
|
577
|
+
}
|
|
578
|
+
},
|
|
579
|
+
"installed": {
|
|
580
|
+
"title": "Applications installées",
|
|
581
|
+
"install": "Installer une application",
|
|
582
|
+
"emptyTitle": "Aucune application installée",
|
|
583
|
+
"emptyBody": "Téléversez un paquet de surface compilé pour en installer une. Les applications installées ici sont servies immédiatement — sans redémarrage, contrairement à un dossier.",
|
|
584
|
+
"uninstall": "Désinstaller",
|
|
585
|
+
"confirmTitle": "Désinstaller cette application ?",
|
|
586
|
+
"confirmBody": "Ses surfaces cessent d’être servies et le paquet est supprimé. Les tables qu’elle a créées dans votre base ne sont pas touchées.",
|
|
587
|
+
"confirmPrompt": "Saisissez {key} pour confirmer",
|
|
588
|
+
"confirmCancel": "Annuler",
|
|
589
|
+
"confirmClose": "Fermer",
|
|
590
|
+
"stagedTitle": "Téléversés mais non installés",
|
|
591
|
+
"stagedHint": "Écartez celui que vous avez renoncé à installer, ou téléversez à nouveau la même clé pour le remplacer.",
|
|
592
|
+
"discard": "Écarter",
|
|
593
|
+
"installedAt": "installé {when}"
|
|
594
|
+
},
|
|
595
|
+
"browse": {
|
|
596
|
+
"title": "Applications installables",
|
|
597
|
+
"subtitle": "Des applications prêtes à l’emploi livrées avec cette version. En installer une crée les tables nécessaires et sert ses écrans — rien ne se passe avant que vous confirmiez le plan.",
|
|
598
|
+
"search": "Rechercher des applications…",
|
|
599
|
+
"clear": "Effacer la recherche",
|
|
600
|
+
"all": "Toutes",
|
|
601
|
+
"by": "par {publisher}",
|
|
602
|
+
"install": "Installer",
|
|
603
|
+
"installed": "Installée",
|
|
604
|
+
"noMatch": "Aucune application ne correspond",
|
|
605
|
+
"noMatchBody": "Essayez un autre terme, ou une autre catégorie.",
|
|
606
|
+
"emptyTitle": "Aucune application à installer",
|
|
607
|
+
"emptyBody": "Les applications livrées avec cette version apparaissent ici. Faites pointer ADMINIUM_BUNDLED_APPS vers un dossier de paquets, ou téléversez-en un.",
|
|
608
|
+
"unreadable": "Le manifeste de ce paquet n’a pas pu être lu. Il ne peut pas être installé — écartez-le ci-dessous."
|
|
566
609
|
}
|
|
567
610
|
},
|
|
568
|
-
"
|
|
569
|
-
"
|
|
570
|
-
|
|
611
|
+
"hub": {
|
|
612
|
+
"action": {
|
|
613
|
+
"delete": "Supprimer",
|
|
614
|
+
"pause": "Mettre en pause",
|
|
615
|
+
"pausedHint": "Cette connexion est en pause — reprenez-la pour atteindre la base de données.",
|
|
616
|
+
"regional": "Paramètres régionaux",
|
|
617
|
+
"reintrospect": "Réintrospecter",
|
|
618
|
+
"reintrospectFile": "Les sources de type fichier de schéma n’ont pas de base de données active — téléversez à nouveau le fichier.",
|
|
619
|
+
"remap": "Remapper le schéma",
|
|
620
|
+
"rename": "Renommer",
|
|
621
|
+
"resume": "Reprendre",
|
|
622
|
+
"test": "Tester"
|
|
623
|
+
},
|
|
624
|
+
"card": {
|
|
625
|
+
"lastIntrospected": "Dernière introspection",
|
|
626
|
+
"latency": "Latence",
|
|
627
|
+
"latencyMs": "{latency, number} ms",
|
|
628
|
+
"never": "Jamais",
|
|
629
|
+
"pages": "Pages",
|
|
630
|
+
"paused": "Adminium ne se connecte pas à cette base de données. Ses pages se chargeront de nouveau dès que vous la reprendrez.",
|
|
631
|
+
"pausedSince": "En pause {when} — Adminium ne se connecte pas à cette base de données. Ses pages se chargeront de nouveau dès que vous la reprendrez.",
|
|
632
|
+
"readOnly": "Lecture seule",
|
|
633
|
+
"tables": "Tables",
|
|
634
|
+
"timezone": "Fuseau horaire",
|
|
635
|
+
"timezoneGuessed": "depuis ce serveur"
|
|
636
|
+
},
|
|
637
|
+
"connectNew": "Nouvelle connexion",
|
|
638
|
+
"delete": {
|
|
639
|
+
"body": "Cette action supprime « {name} » et les pages générées. Votre base de données n’est jamais touchée.",
|
|
640
|
+
"cancel": "Annuler",
|
|
641
|
+
"close": "Fermer",
|
|
642
|
+
"confirm": "Supprimer la connexion",
|
|
643
|
+
"failed": "Impossible de supprimer la connexion. Réessayez.",
|
|
644
|
+
"prompt": "Saisissez {name} pour confirmer",
|
|
645
|
+
"success": "Connexion « {name} » supprimée",
|
|
646
|
+
"title": "Supprimer la connexion"
|
|
647
|
+
},
|
|
648
|
+
"empty": {
|
|
649
|
+
"body": "Connectez une base de données : Adminium génère votre panneau d’administration à partir de son schéma.",
|
|
650
|
+
"cta": "Connecter une base de données",
|
|
651
|
+
"title": "Aucune source de données"
|
|
652
|
+
},
|
|
653
|
+
"hostedApps": "Apps hébergées",
|
|
654
|
+
"introspect": {
|
|
655
|
+
"failed": "Échec de l’introspection. Réessayez.",
|
|
656
|
+
"masksProposed": "{count, plural, one {# colonne proposée} other {# colonnes proposées}} au masquage — à vérifier dans l’éditeur de remappage.",
|
|
657
|
+
"noChanges": "Schéma inchangé — aucun nouvel instantané.",
|
|
658
|
+
"updated": "Schéma réintrospecté"
|
|
659
|
+
},
|
|
660
|
+
"pause": {
|
|
661
|
+
"body": "Adminium n’ouvre plus aucune connexion vers « {name} ». Ses {pages, plural, one {# page} other {# pages}}, ses rapports planifiés et ses applications hébergées cessent de charger des données jusqu’à ce que vous la repreniez.",
|
|
662
|
+
"confirm": "Mettre la connexion en pause",
|
|
663
|
+
"keeps": "Rien n’est supprimé — la connexion, son schéma et ses {pages, plural, one {# page} other {# pages}} sont conservés, et un clic les ramène.",
|
|
664
|
+
"pauseFailed": "Impossible de mettre la connexion en pause. Réessayez.",
|
|
665
|
+
"pausedToast": "Connexion « {name} » mise en pause",
|
|
666
|
+
"resumeFailed": "Impossible de reprendre la connexion. Réessayez.",
|
|
667
|
+
"resumedToast": "Connexion « {name} » reprise",
|
|
668
|
+
"title": "Mettre cette connexion en pause ?"
|
|
669
|
+
},
|
|
670
|
+
"regional": {
|
|
671
|
+
"currency": "Devise",
|
|
672
|
+
"currencyHelper": "Sert à formater les montants. Facultatif : ne pas la définir n'affecte que le formatage.",
|
|
673
|
+
"currencyPlaceholder": "Code ISO-4217",
|
|
674
|
+
"failed": "Impossible d'enregistrer les paramètres régionaux",
|
|
675
|
+
"guessedBody": "Adminium l'a repris de la machine sur laquelle il tourne ; personne ne l'a choisi ici. Enregistrez pour le confirmer, ou choisissez le fuseau dans lequel cette entreprise travaille réellement.",
|
|
676
|
+
"guessedTitle": "Ce fuseau vient du serveur",
|
|
677
|
+
"intro": "Ils décrivent l'entreprise à laquelle appartient cette base de données, et non la personne qui la consulte. Les applications servies par Adminium les lisent ici.",
|
|
678
|
+
"noMatch": "Aucun fuseau correspondant",
|
|
679
|
+
"noMatchCurrency": "Aucune devise correspondante",
|
|
680
|
+
"notSet": "Non défini",
|
|
681
|
+
"save": "Enregistrer",
|
|
682
|
+
"saved": "Paramètres régionaux mis à jour",
|
|
683
|
+
"timezone": "Fuseau horaire",
|
|
684
|
+
"timezoneHelper": "Les dates et heures s'affichent dans ce fuseau. Sans fuseau, les applications hébergées par Adminium basculent en UTC et l'indiquent à l'écran.",
|
|
685
|
+
"timezonePlaceholder": "Région/Ville",
|
|
686
|
+
"title": "Paramètres régionaux"
|
|
687
|
+
},
|
|
688
|
+
"rename": {
|
|
689
|
+
"failed": "La connexion n'a pas pu être renommée",
|
|
690
|
+
"helper": "Le nom de cette base partout dans Adminium — la carte, le groupe de la barre latérale au-dessus de ses pages, et chaque sélecteur qui la propose. La base elle-même n'est pas renommée.",
|
|
691
|
+
"label": "Nom",
|
|
692
|
+
"save": "Renommer",
|
|
693
|
+
"saved": "Connexion renommée",
|
|
694
|
+
"title": "Renommer la connexion"
|
|
695
|
+
},
|
|
696
|
+
"stats": {
|
|
697
|
+
"connections": "Connexions",
|
|
698
|
+
"healthy": "En bonne santé",
|
|
699
|
+
"pages": "Pages générées",
|
|
700
|
+
"tables": "Tables incluses"
|
|
701
|
+
},
|
|
702
|
+
"status": {
|
|
703
|
+
"connected": "Connectée",
|
|
704
|
+
"error": "Erreur",
|
|
705
|
+
"paused": "En pause",
|
|
706
|
+
"testing": "Test en cours…",
|
|
707
|
+
"unconfigured": "Brouillon"
|
|
708
|
+
},
|
|
709
|
+
"subtitle": "{healthy, number} sur {total, plural, one {# connexion} other {# connexions}} en bonne santé",
|
|
710
|
+
"subtitlePaused": "{healthy, number} sur {total, plural, one {# connexion} other {# connexions}} en bonne santé · {paused, number} en pause",
|
|
711
|
+
"test": {
|
|
712
|
+
"failed": "Échec du test de connexion",
|
|
713
|
+
"ok": "Connexion en bonne santé · {latency, number} ms"
|
|
714
|
+
},
|
|
715
|
+
"title": "Connexions de données"
|
|
716
|
+
},
|
|
717
|
+
"intent": {
|
|
718
|
+
"analytics": {
|
|
719
|
+
"description": "Tableaux de bord, graphiques et grilles en lecture seule. Pas de formulaires, pas d’écritures — chaque rôle plafonné à Lecteur.",
|
|
720
|
+
"title": "Analytique en lecture seule"
|
|
721
|
+
},
|
|
722
|
+
"crud": {
|
|
723
|
+
"description": "Une page d’édition par table plus recherche et import/export — un accueil minimal, sans tableaux de bord.",
|
|
724
|
+
"title": "Tables CRUD"
|
|
725
|
+
},
|
|
726
|
+
"fullAdmin": {
|
|
727
|
+
"description": "Tableaux de bord, pages CRUD, recherche, imports et exports — tout ce que votre schéma permet.",
|
|
728
|
+
"title": "Panneau d’administration complet"
|
|
729
|
+
},
|
|
730
|
+
"subtitle": "L’intention détermine quelles pages sont générées. Vous pourrez la changer plus tard — la changer propose une régénération, jamais une réécriture silencieuse.",
|
|
731
|
+
"support": {
|
|
732
|
+
"description": "Files d’attente, pages de tickets et de fiches clients d’abord. Suppressions désactivées par défaut. (Les modèles de files arrivent en M7 — l’ensemble de pages v1 correspond à l’admin complet.)",
|
|
733
|
+
"title": "Console de support"
|
|
734
|
+
},
|
|
735
|
+
"title": "De quoi avez-vous besoin ?",
|
|
736
|
+
"trust": "Nous ne lisons que votre schéma — jamais vos données de lignes pendant la configuration."
|
|
571
737
|
},
|
|
572
738
|
"llmRuns": {
|
|
573
739
|
"review": {
|
|
574
|
-
"
|
|
575
|
-
"
|
|
576
|
-
"
|
|
577
|
-
"snapshot": "Instantané",
|
|
578
|
-
"byo": "BYO",
|
|
579
|
-
"pathDirect": "API directe",
|
|
580
|
-
"pathByo": "Copier-coller",
|
|
581
|
-
"agree": "{n} d’accord",
|
|
582
|
-
"conflict": "{n} en conflit",
|
|
583
|
-
"new": "{n} nouvelles",
|
|
584
|
-
"rejects": "{n} rejets",
|
|
585
|
-
"countsAria": "Nombre de suggestions"
|
|
740
|
+
"applied": {
|
|
741
|
+
"body": "Les suggestions acceptées ci-dessous sont en lecture seule.",
|
|
742
|
+
"title": "Cette exécution a été appliquée"
|
|
586
743
|
},
|
|
744
|
+
"apply": {
|
|
745
|
+
"confirm": "Appliquer les modifications",
|
|
746
|
+
"empty": "Rien à appliquer.",
|
|
747
|
+
"subtitle": "Ces modifications sont écrites en une seule transaction et peuvent être annulées.",
|
|
748
|
+
"title": "Appliquer {n} suggestions"
|
|
749
|
+
},
|
|
750
|
+
"applyFailed": "Rien n’a été appliqué",
|
|
751
|
+
"applyUnknown": "Le serveur n’a pas dit pourquoi.",
|
|
587
752
|
"bulk": {
|
|
588
|
-
"thresholdLabel": "Seuil de confiance",
|
|
589
|
-
"thresholdAria": "Seuil de confiance pour « Tout accepter »",
|
|
590
753
|
"acceptAll": "Tout accepter ≥ {pct}%",
|
|
591
|
-
"clear": "Effacer la sélection"
|
|
754
|
+
"clear": "Effacer la sélection",
|
|
755
|
+
"thresholdAria": "Seuil de confiance pour « Tout accepter »",
|
|
756
|
+
"thresholdLabel": "Seuil de confiance"
|
|
592
757
|
},
|
|
593
|
-
"
|
|
594
|
-
"
|
|
595
|
-
"
|
|
758
|
+
"cat": {
|
|
759
|
+
"copy": "microcopie",
|
|
760
|
+
"dashboard": "tableau de bord",
|
|
761
|
+
"enum": "énumération",
|
|
762
|
+
"group": "groupe de navigation",
|
|
763
|
+
"key": "colonnes clés",
|
|
764
|
+
"label": "libellé",
|
|
765
|
+
"pii": "DCP",
|
|
766
|
+
"relation": "relation",
|
|
767
|
+
"template": "modèle de page",
|
|
768
|
+
"widget": "widget"
|
|
769
|
+
},
|
|
770
|
+
"empty": {
|
|
771
|
+
"body": "Cette exécution n’a produit aucune suggestion à examiner.",
|
|
772
|
+
"title": "Aucune suggestion"
|
|
773
|
+
},
|
|
774
|
+
"error": {
|
|
775
|
+
"title": "Impossible de charger cette exécution"
|
|
776
|
+
},
|
|
777
|
+
"footer": {
|
|
778
|
+
"apply": "Appliquer {n} suggestions acceptées",
|
|
779
|
+
"count": "{n} suggestions sélectionnées",
|
|
780
|
+
"failed": "Échec de l’application"
|
|
596
781
|
},
|
|
597
782
|
"group": {
|
|
598
|
-
"
|
|
599
|
-
"navigation": "Navigation et domaines",
|
|
783
|
+
"dashboards": "Tableaux de bord et widgets",
|
|
600
784
|
"enums": "Sémantique des énumérations",
|
|
601
|
-
"
|
|
785
|
+
"icons": "Icônes",
|
|
602
786
|
"keys": "Colonnes clés",
|
|
603
|
-
"
|
|
604
|
-
"
|
|
787
|
+
"labels": "Libellés et traductions",
|
|
788
|
+
"microcopy": "Microcopie",
|
|
789
|
+
"navigation": "Navigation et domaines",
|
|
605
790
|
"pii": "DCP et masquage",
|
|
606
|
-
"
|
|
607
|
-
"
|
|
791
|
+
"relations": "Relations",
|
|
792
|
+
"templates": "Modèles de page"
|
|
608
793
|
},
|
|
609
|
-
"
|
|
610
|
-
"agree": "
|
|
611
|
-
"
|
|
612
|
-
"
|
|
613
|
-
"
|
|
614
|
-
"
|
|
615
|
-
"
|
|
794
|
+
"header": {
|
|
795
|
+
"agree": "{n} d’accord",
|
|
796
|
+
"byo": "BYO",
|
|
797
|
+
"conflict": "{n} en conflit",
|
|
798
|
+
"countsAria": "Nombre de suggestions",
|
|
799
|
+
"model": "Modèle",
|
|
800
|
+
"new": "{n} nouvelles",
|
|
801
|
+
"pathByo": "Copier-coller",
|
|
802
|
+
"pathDirect": "API directe",
|
|
803
|
+
"rejects": "{n} rejets",
|
|
804
|
+
"snapshot": "Instantané",
|
|
805
|
+
"title": "Examiner les suggestions de l’IA"
|
|
806
|
+
},
|
|
807
|
+
"notReady": {
|
|
808
|
+
"body": "Une exécution doit être validée avant que ses suggestions puissent être examinées. Générez ou collez d’abord une réponse.",
|
|
809
|
+
"title": "Cette exécution n’a pas encore de suggestions à examiner"
|
|
616
810
|
},
|
|
617
811
|
"row": {
|
|
618
812
|
"acceptAria": "Accepter la suggestion {noun} pour {target}",
|
|
813
|
+
"confidenceAria": "Confiance {pct}%",
|
|
814
|
+
"hideTranslations": "Masquer les traductions",
|
|
619
815
|
"keptEdited": "conservé — modifié par vous",
|
|
816
|
+
"noAi": "Aucune suggestion de l’IA",
|
|
620
817
|
"rejectsCallout": "L’IA rejette une décision heuristique — confirmez avant d’accepter.",
|
|
621
|
-
"showTranslations": "Afficher les traductions"
|
|
622
|
-
"hideTranslations": "Masquer les traductions",
|
|
623
|
-
"confidenceAria": "Confiance {pct}%",
|
|
624
|
-
"noAi": "Aucune suggestion de l’IA"
|
|
625
|
-
},
|
|
626
|
-
"value": {
|
|
627
|
-
"none": "Aucune valeur",
|
|
628
|
-
"absent": "Aucun",
|
|
629
|
-
"dash": "—",
|
|
630
|
-
"display": "Affichage",
|
|
631
|
-
"key": "Clé",
|
|
632
|
-
"rank": "rang {n}",
|
|
633
|
-
"span": "largeur {n}",
|
|
634
|
-
"tableCount": "{n} tables",
|
|
635
|
-
"widgetCount": "{n} widgets",
|
|
636
|
-
"enumWorkflow": "Flux",
|
|
637
|
-
"enumCategory": "Catégorie",
|
|
638
|
-
"notPii": "Pas de DCP",
|
|
639
|
-
"label": "Libellé",
|
|
640
|
-
"description": "Description",
|
|
641
|
-
"subtitle": "Sous-titre de page",
|
|
642
|
-
"headline": "Titre de l’état vide",
|
|
643
|
-
"guidance": "Conseil de l’état vide"
|
|
818
|
+
"showTranslations": "Afficher les traductions"
|
|
644
819
|
},
|
|
645
|
-
"
|
|
646
|
-
"
|
|
647
|
-
"
|
|
648
|
-
"empty": "Rien à appliquer.",
|
|
649
|
-
"confirm": "Appliquer les modifications"
|
|
820
|
+
"section": {
|
|
821
|
+
"acceptedCount": "{n} acceptées",
|
|
822
|
+
"selectAllAria": "Tout sélectionner dans {group}"
|
|
650
823
|
},
|
|
651
|
-
"
|
|
652
|
-
"
|
|
653
|
-
"
|
|
654
|
-
"
|
|
824
|
+
"status": {
|
|
825
|
+
"agree": "Concorde",
|
|
826
|
+
"conflict": "Conflit",
|
|
827
|
+
"heuristicOnly": "Heuristique seule",
|
|
828
|
+
"locked": "Verrouillé",
|
|
829
|
+
"new": "Nouveau",
|
|
830
|
+
"rejects": "Rejette l’heuristique"
|
|
655
831
|
},
|
|
656
832
|
"toast": {
|
|
657
833
|
"applied": "{n} suggestions appliquées",
|
|
@@ -659,629 +835,1096 @@
|
|
|
659
835
|
"applyFailed": "Impossible d’appliquer les suggestions",
|
|
660
836
|
"undoFailed": "Impossible d’annuler cette modification"
|
|
661
837
|
},
|
|
662
|
-
"
|
|
663
|
-
"
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
"
|
|
667
|
-
"
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
"
|
|
671
|
-
"
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
"
|
|
675
|
-
"
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
"
|
|
679
|
-
"
|
|
680
|
-
"enum": "énumération",
|
|
681
|
-
"relation": "relation",
|
|
682
|
-
"pii": "DCP",
|
|
683
|
-
"template": "modèle de page",
|
|
684
|
-
"group": "groupe de navigation",
|
|
685
|
-
"dashboard": "tableau de bord",
|
|
686
|
-
"widget": "widget",
|
|
687
|
-
"copy": "microcopie"
|
|
838
|
+
"value": {
|
|
839
|
+
"absent": "Aucun",
|
|
840
|
+
"dash": "—",
|
|
841
|
+
"description": "Description",
|
|
842
|
+
"display": "Affichage",
|
|
843
|
+
"enumCategory": "Catégorie",
|
|
844
|
+
"enumWorkflow": "Flux",
|
|
845
|
+
"guidance": "Conseil de l’état vide",
|
|
846
|
+
"headline": "Titre de l’état vide",
|
|
847
|
+
"key": "Clé",
|
|
848
|
+
"label": "Libellé",
|
|
849
|
+
"none": "Aucune valeur",
|
|
850
|
+
"notPii": "Pas de DCP",
|
|
851
|
+
"rank": "rang {n}",
|
|
852
|
+
"span": "largeur {n}",
|
|
853
|
+
"subtitle": "Sous-titre de page",
|
|
854
|
+
"tableCount": "{n} tables",
|
|
855
|
+
"widgetCount": "{n} widgets"
|
|
688
856
|
}
|
|
689
857
|
}
|
|
690
858
|
},
|
|
691
|
-
"wizard": {
|
|
692
|
-
"title": "Nouvelle connexion",
|
|
693
|
-
"back": "Retour",
|
|
694
|
-
"continue": "Continuer",
|
|
695
|
-
"progress": "Progression de la configuration",
|
|
696
|
-
"persistFailed": "Impossible d’enregistrer votre sélection de tables — réessayez.",
|
|
697
|
-
"persistFailedTitle": "Échec de l’enregistrement",
|
|
698
|
-
"bridgeAppliedTitle": "Chaîne de connexion reçue",
|
|
699
|
-
"bridgeAppliedBody": "Transmise depuis adminium.dev par votre navigateur — elle est allée directement à cette machine et n’a jamais été téléversée. Vérifiez-la ci-dessous, puis continuez.",
|
|
700
|
-
"bridgeFailedTitle": "Ce transfert n’a pas pu être utilisé",
|
|
701
|
-
"bridgeFailedBody": "Il a déjà été utilisé ou a expiré. Collez plutôt votre chaîne de connexion ci-dessous.",
|
|
702
|
-
"step": {
|
|
703
|
-
"source": "Source",
|
|
704
|
-
"test": "Analyser",
|
|
705
|
-
"tables": "Tables",
|
|
706
|
-
"meta": "Stockage méta",
|
|
707
|
-
"intent": "Intention",
|
|
708
|
-
"enrich": "Enrichir",
|
|
709
|
-
"generate": "Générer"
|
|
710
|
-
}
|
|
711
|
-
},
|
|
712
859
|
"meta": {
|
|
713
|
-
"
|
|
714
|
-
|
|
860
|
+
"move": {
|
|
861
|
+
"copying": "Déplacement des tables d’Adminium…",
|
|
862
|
+
"copyingBody": "Copie de chaque table adminium_ vers la nouvelle base. Vos données sources ne sont pas touchées, et rien n’est basculé tant que la copie n’est pas vérifiée.",
|
|
863
|
+
"failed": "Impossible de déplacer les tables d’Adminium — réessayez.",
|
|
864
|
+
"restarting": "Redémarrage…",
|
|
865
|
+
"restartingBody": "La copie est terminée. Adminium redémarre sur la nouvelle base — cette page continuera d’elle-même dans quelques secondes.",
|
|
866
|
+
"timeout": "Adminium a déplacé ses tables mais n’est pas encore revenu. Vos données sont en sécurité dans la nouvelle base — rechargez cette page dans un instant.",
|
|
867
|
+
"title": "Déplacement des tables d’Adminium"
|
|
868
|
+
},
|
|
715
869
|
"sameDb": {
|
|
716
|
-
"title": "Même base de données",
|
|
717
870
|
"description": "Les tables adminium_* sont créées à côté de vos tables sources. La configuration la plus simple — nécessite un rôle avec droits d’écriture et CREATE TABLE.",
|
|
718
|
-
"
|
|
871
|
+
"disabledFile": "Un fichier de schéma n’a pas de base active — choisissez une base séparée pour les tables d’Adminium.",
|
|
719
872
|
"disabledNoDdl": "Ce rôle ne peut pas exécuter de DDL — les migrations d’Adminium exigent CREATE TABLE. Choisissez une base séparée pour les tables d’Adminium.",
|
|
720
|
-
"
|
|
873
|
+
"disabledReadOnly": "Votre rôle est en lecture seule — Adminium n’écrit jamais dans cette base. Choisissez une base séparée pour les tables d’Adminium.",
|
|
874
|
+
"title": "Même base de données"
|
|
721
875
|
},
|
|
722
876
|
"separate": {
|
|
723
|
-
"title": "Base de données séparée",
|
|
724
877
|
"description": "Adminium garde ses tables dans une autre base. Votre source reste intacte — requis pour les sources en lecture seule.",
|
|
725
878
|
"dsn": "Chaîne de connexion de la base méta",
|
|
879
|
+
"errorTitle": "Magasin méta incompatible",
|
|
726
880
|
"helper": "Nécessite des droits d’écriture + DDL — Adminium y exécute ses propres migrations.",
|
|
727
|
-
"test": "Tester la connexion",
|
|
728
|
-
"ok": "Compatible — écriture ✓ · DDL ✓",
|
|
729
881
|
"insufficient": "Ce rôle ne peut pas héberger le magasin méta — Adminium y a besoin des droits d’écriture et CREATE TABLE.",
|
|
730
|
-
"
|
|
882
|
+
"ok": "Compatible — écriture ✓ · DDL ✓",
|
|
883
|
+
"test": "Tester la connexion",
|
|
884
|
+
"title": "Base de données séparée"
|
|
731
885
|
},
|
|
886
|
+
"subtitle": "Pages, rôles, journal d’audit et paramètres vivent dans des tables préfixées adminium_ — jamais mêlés à vos données.",
|
|
732
887
|
"testFailed": "Échec de la connexion.",
|
|
888
|
+
"title": "Où Adminium doit-il ranger ses propres tables ?",
|
|
733
889
|
"v1Note": {
|
|
734
|
-
"
|
|
735
|
-
"
|
|
736
|
-
},
|
|
737
|
-
"move": {
|
|
738
|
-
"title": "Déplacement des tables d’Adminium",
|
|
739
|
-
"copying": "Déplacement des tables d’Adminium…",
|
|
740
|
-
"restarting": "Redémarrage…",
|
|
741
|
-
"copyingBody": "Copie de chaque table adminium_ vers la nouvelle base. Vos données sources ne sont pas touchées, et rien n’est basculé tant que la copie n’est pas vérifiée.",
|
|
742
|
-
"restartingBody": "La copie est terminée. Adminium redémarre sur la nouvelle base — cette page continuera d’elle-même dans quelques secondes.",
|
|
743
|
-
"failed": "Impossible de déplacer les tables d’Adminium — réessayez.",
|
|
744
|
-
"timeout": "Adminium a déplacé ses tables mais n’est pas encore revenu. Vos données sont en sécurité dans la nouvelle base — rechargez cette page dans un instant."
|
|
890
|
+
"body": "Ce serveur garde déjà ses propres tables dans une base configurée, et cette étape ne les déplace pas. Elle vérifie que votre choix est compatible avec cette connexion — le serveur applique la même règle indépendamment (409 META_PLACEMENT_INVALID).",
|
|
891
|
+
"title": "À propos de cette installation"
|
|
745
892
|
},
|
|
746
893
|
"willMove": {
|
|
747
|
-
"
|
|
748
|
-
"
|
|
894
|
+
"body": "Adminium utilise actuellement son magasin SQLite intégré. « Continuer » copie ce magasin dans la base choisie et redémarre dessus — comptes, pages et paramètres suivent, vous restez connecté.",
|
|
895
|
+
"title": "Cette étape va déplacer les tables d’Adminium"
|
|
749
896
|
}
|
|
750
897
|
},
|
|
751
|
-
"
|
|
752
|
-
"
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
"
|
|
757
|
-
"
|
|
758
|
-
},
|
|
759
|
-
"
|
|
760
|
-
"
|
|
761
|
-
"
|
|
898
|
+
"pages": {
|
|
899
|
+
"action": {
|
|
900
|
+
"delete": "Supprimer la page",
|
|
901
|
+
"duplicate": "Dupliquer",
|
|
902
|
+
"edit": "Modifier la page",
|
|
903
|
+
"hide": "Masquer dans la barre latérale",
|
|
904
|
+
"show": "Afficher dans la barre latérale"
|
|
905
|
+
},
|
|
906
|
+
"attachments": {
|
|
907
|
+
"accept": "Types de fichiers acceptés",
|
|
908
|
+
"acceptHint": "N’en choisir aucun accepte tout ce que cet espace de travail autorise. Un choix ici ne peut que restreindre cette liste, jamais l’élargir.",
|
|
909
|
+
"column": {
|
|
910
|
+
"adoptHint": "Cette table possède déjà cette colonne ; rien n’est créé — elle est utilisée telle quelle.",
|
|
911
|
+
"bound": "Les fichiers sont stockés dans la colonne {column} de cette table.",
|
|
912
|
+
"boundHint": "Désactiver les pièces jointes plus tard ne délie que cette page. La colonne et ses fichiers restent intacts.",
|
|
913
|
+
"confirm": "Exécuter",
|
|
914
|
+
"create": "Créer la colonne",
|
|
915
|
+
"createHint": "Adminium ajoute une colonne texte à cette table. Vous verrez l’instruction exacte avant toute exécution.",
|
|
916
|
+
"createdHint": "La colonne existe désormais. Enregistrez cette page pour terminer.",
|
|
917
|
+
"failed": "Cela n’a pas fonctionné",
|
|
918
|
+
"invalid": "Un nom de colonne doit commencer par une lettre et ne contenir que des minuscules, des chiffres et des tirets bas.",
|
|
919
|
+
"label": "Colonne qui contient les fichiers",
|
|
920
|
+
"required": "Donnez un nom à la colonne.",
|
|
921
|
+
"tooLong": "Ce nom est trop long pour une colonne.",
|
|
922
|
+
"use": "Utiliser cette colonne",
|
|
923
|
+
"wrongType": "Cette table possède déjà une colonne de ce nom, et elle ne peut pas contenir une référence de fichier. Choisissez un autre nom."
|
|
924
|
+
},
|
|
925
|
+
"destination": "Où vont les fichiers",
|
|
926
|
+
"destinationDefault": "La destination par défaut",
|
|
927
|
+
"destinationHint": "Laissez la destination par défaut, sauf si les fichiers de cette table ont leur place ailleurs.",
|
|
928
|
+
"destinationIsDefault": "{name} (par défaut)",
|
|
929
|
+
"destinationLocal": "Le disque de ce serveur",
|
|
930
|
+
"enable": "Autoriser les pièces jointes sur les enregistrements de cette table",
|
|
931
|
+
"enableHint": "Les fichiers sont liés du côté d’Adminium : cette table n’a donc besoin d’aucune nouvelle colonne — cela fonctionne sur une connexion en lecture seule, comme sur une table que vous préférez ne pas modifier.",
|
|
932
|
+
"enableHintColumn": "Les fichiers sont stockés dans une colonne de cette table : ils apparaissent donc dans les boîtes de dialogue Nouveau et Modifier ainsi que sur chaque enregistrement.",
|
|
933
|
+
"enableHintSidecar": "Les fichiers sont liés du côté d’Adminium à la place. Ils apparaissent sur la page de chaque enregistrement, pas dans la boîte de dialogue Nouveau.",
|
|
934
|
+
"maxBytes": "Fichier le plus volumineux (Mo)",
|
|
935
|
+
"maxBytesHint": "Laissez vide pour suivre la limite de l’espace de travail. Un nombre ici ne peut que l’abaisser.",
|
|
936
|
+
"maxCount": "Nombre maximal de fichiers par enregistrement",
|
|
937
|
+
"maxCountHint": "Laissez vide pour en accepter autant qu’un enregistrement en a besoin.",
|
|
938
|
+
"sidecar": {
|
|
939
|
+
"noPrivilege": "Le rôle de cette connexion ne peut pas modifier de tables, Adminium ne peut donc pas y ajouter de colonne.",
|
|
940
|
+
"readOnlyIntent": "Cette connexion est configurée pour l’analyse en lecture seule, Adminium ne peut donc pas y ajouter de colonne.",
|
|
941
|
+
"readOnlyRole": "Cette connexion se connecte avec un rôle en lecture seule, Adminium ne peut donc pas y ajouter de colonne.",
|
|
942
|
+
"schemaFile": "Cette connexion a été créée à partir d’un fichier de schéma, Adminium ne peut donc pas y ajouter de colonne."
|
|
943
|
+
},
|
|
944
|
+
"type": {
|
|
945
|
+
"office": "Documents Office",
|
|
946
|
+
"text": "Texte brut"
|
|
947
|
+
}
|
|
762
948
|
},
|
|
763
|
-
"
|
|
764
|
-
"
|
|
765
|
-
"
|
|
949
|
+
"columns": {
|
|
950
|
+
"addFromLinked": "Depuis les tables liées",
|
|
951
|
+
"addFromTable": "Depuis {table}",
|
|
952
|
+
"addLinkedFrom": "Tables qui pointent ici",
|
|
953
|
+
"addLinkedFromHelp": "Comptez les lignes qui pointent vers chaque enregistrement, ou additionnez l’un de leurs nombres.",
|
|
954
|
+
"addLinkedHelp": "Affiche une valeur de la table vers laquelle pointe une colonne de liaison.",
|
|
955
|
+
"addNoMatches": "Aucune colonne ne correspond à « {query} ».",
|
|
956
|
+
"addOpen": "Ajouter une colonne",
|
|
957
|
+
"addSearch": "Rechercher des colonnes…",
|
|
958
|
+
"addTitle": "Ajouter une colonne",
|
|
959
|
+
"addVia": "via {column}",
|
|
960
|
+
"avatar": "Avatar",
|
|
961
|
+
"avatarToggle": "Afficher un monogramme à côté de {name}",
|
|
962
|
+
"countBadge": "Nombre",
|
|
963
|
+
"dragHandle": "Réordonner {name}",
|
|
964
|
+
"empty": "Pas encore de colonnes — ajoutez-en ci-dessous.",
|
|
965
|
+
"file": {
|
|
966
|
+
"acceptHelp": "Ne cochez aucun type pour accepter tout ce que cet espace de travail accepte. Choisir des types ne peut que restreindre cette liste — une colonne ne peut jamais accepter un type que l’espace de travail refuse.",
|
|
967
|
+
"acceptLabel": "Types acceptés",
|
|
968
|
+
"badge": "Fichier",
|
|
969
|
+
"destinationDefault": "La destination par défaut",
|
|
970
|
+
"destinationHelp": "L’endroit où sont conservés les octets téléversés via cette colonne.",
|
|
971
|
+
"destinationLabel": "Destination",
|
|
972
|
+
"inlineHelp": "Seules les images sont dessinées dans la cellule. Tout le reste demeure une pastille portant son nom et sa taille, quel que soit ce réglage.",
|
|
973
|
+
"inlineLabel": "L’afficher dans le tableau",
|
|
974
|
+
"maxCountHelp": "Laissez vide pour accepter autant de fichiers qu’un enregistrement en a besoin.",
|
|
975
|
+
"maxCountLabel": "Nombre maximal de fichiers par enregistrement",
|
|
976
|
+
"maxCountToggle": "Nombre maximal de fichiers pour {name}",
|
|
977
|
+
"maxHelp": "Laissez vide pour utiliser la limite de l’espace de travail. Une colonne ne peut qu’en demander moins.",
|
|
978
|
+
"maxLabel": "Fichier le plus volumineux (Mo)",
|
|
979
|
+
"maxToggle": "Fichier le plus volumineux accepté par {name}, en Mo",
|
|
980
|
+
"multipleHelp": "La colonne stocke une liste de fichiers au lieu d’un seul. Les valeurs uniques existantes continuent de fonctionner — elles sont lues comme une liste d’un élément.",
|
|
981
|
+
"multipleLabel": "Contenir plusieurs fichiers",
|
|
982
|
+
"ref": {
|
|
983
|
+
"id": "L’identifiant de fichier d’Adminium",
|
|
984
|
+
"key": "La clé dans la destination",
|
|
985
|
+
"url": "Un lien vers le fichier"
|
|
986
|
+
},
|
|
987
|
+
"refHelp": "Ce qui est écrit dans cette colonne lorsqu’un fichier est téléversé. Les valeurs déjà stockées continuent de fonctionner — ceci ne change que la suivante.",
|
|
988
|
+
"refLabel": "Valeur stockée",
|
|
989
|
+
"refTooNarrow": "Cette colonne est trop courte pour contenir cette valeur. Choisissez-en une qu’elle peut contenir, ou élargissez la colonne dans la base de données.",
|
|
990
|
+
"refWidth": "{shape} — nécessite {needs} caractères, cette colonne en contient {holds}",
|
|
991
|
+
"switch": "Fichier",
|
|
992
|
+
"switchToggle": "{name} stocke un fichier",
|
|
993
|
+
"type": {
|
|
994
|
+
"csv": "CSV",
|
|
995
|
+
"gif": "GIF",
|
|
996
|
+
"heic": "HEIC",
|
|
997
|
+
"jpeg": "JPEG",
|
|
998
|
+
"json": "JSON",
|
|
999
|
+
"markdown": "Markdown",
|
|
1000
|
+
"mp3": "Audio MP3",
|
|
1001
|
+
"mp4": "Vidéo MP4",
|
|
1002
|
+
"office": "Documents Office",
|
|
1003
|
+
"ogg": "Ogg",
|
|
1004
|
+
"pdf": "PDF",
|
|
1005
|
+
"png": "PNG",
|
|
1006
|
+
"svg": "SVG",
|
|
1007
|
+
"text": "Texte brut",
|
|
1008
|
+
"wav": "Audio WAV",
|
|
1009
|
+
"webm": "WebM",
|
|
1010
|
+
"webp": "WebP",
|
|
1011
|
+
"zip": "ZIP"
|
|
1012
|
+
}
|
|
1013
|
+
},
|
|
1014
|
+
"fold": {
|
|
1015
|
+
"avg": "Moyenne",
|
|
1016
|
+
"max": "Max",
|
|
1017
|
+
"min": "Min",
|
|
1018
|
+
"sum": "Somme"
|
|
1019
|
+
},
|
|
1020
|
+
"foldAdd": "Ajouter",
|
|
1021
|
+
"foldLabel": "Agrégat",
|
|
1022
|
+
"followColumn": "Suivre {name}",
|
|
1023
|
+
"header": "En-tête de {name}",
|
|
1024
|
+
"help": "Glissez pour réordonner les colonnes, renommez leurs en-têtes et choisissez celles qui apparaissent dans le tableau.",
|
|
1025
|
+
"lookupBack": "Retour",
|
|
1026
|
+
"lookupBadge": "Liée",
|
|
1027
|
+
"lookupBroken": "Ce lien ne se résout plus",
|
|
1028
|
+
"lookupBrokenBody": "Le schéma a changé pendant votre navigation. Recommencez le lien.",
|
|
1029
|
+
"lookupBrowse": "Choisissez quoi afficher depuis {table}",
|
|
1030
|
+
"mask": "Masquer",
|
|
1031
|
+
"maskHelp": "Le masquage cache une valeur derrière un bouton d’affichage pour les lecteurs autorisés à la voir. Le fait que la donnée quitte ou non la base se règle sur la connexion, pas ici.",
|
|
1032
|
+
"maskToggle": "Masquer {name} derrière un bouton d’affichage",
|
|
1033
|
+
"masked": "Masquée",
|
|
1034
|
+
"none": {
|
|
1035
|
+
"body": "Les colonnes sont lues dans la table lors de la génération de la page. Liez cette page à une table puis régénérez pour les renseigner.",
|
|
1036
|
+
"title": "Cette page n’a pas encore de colonnes"
|
|
1037
|
+
},
|
|
1038
|
+
"pk": "Clé",
|
|
1039
|
+
"remove": "Retirer {name}",
|
|
1040
|
+
"schemaUnavailable": "Les colonnes de la base n’ont pas pu être listées ; impossible d’ajouter des colonnes ici.",
|
|
1041
|
+
"shown": "Affichée",
|
|
1042
|
+
"toggle": "Afficher {name} dans le tableau"
|
|
766
1043
|
},
|
|
767
|
-
"
|
|
768
|
-
"
|
|
769
|
-
"
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
"generate": {
|
|
773
|
-
"title": "Générez votre application",
|
|
774
|
-
"subtitle": "Une page par table incluse plus des tableaux de bord par domaine — intention :",
|
|
775
|
-
"run": "Générer le tableau de bord",
|
|
776
|
-
"openApp": "Ouvrir votre application",
|
|
777
|
-
"logLabel": "Journal de génération",
|
|
778
|
-
"log": {
|
|
779
|
-
"classifying": "Classification du schéma…",
|
|
780
|
-
"composing": "Composition des modèles…",
|
|
781
|
-
"writing": "Écriture des pages…",
|
|
782
|
-
"done": "{pages} pages générées dans {groups} groupes de navigation"
|
|
1044
|
+
"create": {
|
|
1045
|
+
"failed": "Impossible de créer la page",
|
|
1046
|
+
"submit": "Créer la page",
|
|
1047
|
+
"subtitle": "Choisissez ce que cette page affiche et son apparence. L’aperçu suit vos choix.",
|
|
1048
|
+
"title": "Nouvelle page"
|
|
783
1049
|
},
|
|
784
|
-
"
|
|
785
|
-
"
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
"remap": {
|
|
792
|
-
"column": {
|
|
793
|
-
"nullable": "nullable",
|
|
794
|
-
"labelOverride": "Libellé d’affichage",
|
|
795
|
-
"labelHelper": "Inféré : {name}",
|
|
796
|
-
"logicalType": "Type logique",
|
|
797
|
-
"logicalTypeHelper": "Inféré : {type} (depuis {dbType}) — mappé par l’adaptateur ; non remplaçable en v1.",
|
|
798
|
-
"semantic": "Type sémantique",
|
|
799
|
-
"unclassified": "Pas encore classifié.",
|
|
800
|
-
"semanticHelper": "Classificateur : {tag} · confiance {confidence}% · source : {source}",
|
|
801
|
-
"semanticInferred": "inféré : {tag}",
|
|
802
|
-
"currency": "Devise",
|
|
803
|
-
"currencyHelper": "Code ISO 4217 appliqué au formatage monétaire.",
|
|
804
|
-
"pii": "Masquer par défaut",
|
|
805
|
-
"piiHelper": "Les valeurs masquées s’affichent caviardées ; le démasquage requiert la permission data.unmask_pii et est consigné dans le journal d’audit.",
|
|
806
|
-
"enum": "Sémantique de l’énumération",
|
|
807
|
-
"enumKind": "Nature de l’énumération",
|
|
808
|
-
"enumWorkflow": "Flux",
|
|
809
|
-
"enumCategory": "Catégorie",
|
|
810
|
-
"enumLabelFor": "Libellé pour {value}",
|
|
811
|
-
"enumToneFor": "Tonalité pour {value}",
|
|
812
|
-
"enumToneAuto": "auto",
|
|
813
|
-
"enumHelper": "Les énumérations de flux pilotent les pastilles de statut et les colonnes de tableau ; les tonalités associent les valeurs à l’échelle de teintes sémantiques."
|
|
1050
|
+
"createButton": "Nouvelle page",
|
|
1051
|
+
"delete": {
|
|
1052
|
+
"body": "Cette action est irréversible. Les vues enregistrées et les dispositions personnelles de cette page sont supprimées pour tout le monde.",
|
|
1053
|
+
"bodyGenerated": "Cette page provient de la génération du schéma : elle réapparaîtra à la prochaine génération. Les vues enregistrées et les dispositions personnelles sont supprimées pour tout le monde.",
|
|
1054
|
+
"confirm": "Supprimer la page",
|
|
1055
|
+
"prompt": "Saisissez {slug} pour confirmer",
|
|
1056
|
+
"title": "Supprimer cette page ?"
|
|
814
1057
|
},
|
|
815
|
-
"
|
|
816
|
-
"
|
|
817
|
-
"
|
|
818
|
-
"
|
|
819
|
-
"
|
|
820
|
-
"
|
|
821
|
-
"
|
|
822
|
-
"
|
|
1058
|
+
"derived": {
|
|
1059
|
+
"add": "Ajouter une colonne",
|
|
1060
|
+
"atLeast": "est au moins",
|
|
1061
|
+
"cancel": "Annuler",
|
|
1062
|
+
"emptyBody": "Synthétisez d’abord une table liée dans la carte Colonnes — les règles ici s’appuient sur ces nombres.",
|
|
1063
|
+
"emptyTitle": "Aucun nombre calculé pour l’instant",
|
|
1064
|
+
"fieldBadge": "Calculé",
|
|
1065
|
+
"foldBadge": "Synthèse",
|
|
1066
|
+
"help": "Calculez des nombres à partir des synthèses ci-dessus et des colonnes de cet enregistrement. Ils sont calculés au chargement de la page et ne peuvent pas être triés.",
|
|
1067
|
+
"label": "En-tête de colonne",
|
|
1068
|
+
"minus": "moins",
|
|
1069
|
+
"numberHelp": "Les nombres sont des décimaux simples — 500 ou 12.50, jamais 1,000 ni 5e3.",
|
|
1070
|
+
"operandA": "Nombre",
|
|
1071
|
+
"operandB": "Nombre",
|
|
1072
|
+
"operator": "Opérateur",
|
|
1073
|
+
"otherwise": "sinon",
|
|
1074
|
+
"percentOf": "pour cent de cet enregistrement",
|
|
1075
|
+
"plus": "plus",
|
|
1076
|
+
"preset": {
|
|
1077
|
+
"combine": "Additionner ou soustraire deux nombres",
|
|
1078
|
+
"percent": "Pourcentage d’un nombre",
|
|
1079
|
+
"rule": "Règle avec un seuil"
|
|
1080
|
+
},
|
|
1081
|
+
"previewHelp": "Valeurs d’exemple, calculées par le même code que la page.",
|
|
1082
|
+
"previewTitle": "Aperçu",
|
|
1083
|
+
"remove": "Retirer {name}",
|
|
1084
|
+
"thenShow": "alors afficher"
|
|
823
1085
|
},
|
|
824
|
-
"
|
|
825
|
-
"
|
|
826
|
-
"
|
|
827
|
-
"
|
|
828
|
-
"labelHelper": "Inféré : {name}",
|
|
829
|
-
"icon": "Icône",
|
|
830
|
-
"navGroup": "Groupe de navigation",
|
|
831
|
-
"navGroupHelper": "Le placement dans la navigation est décidé par le générateur — un remplacement table.navGroup ne fait pas partie du vocabulaire v1.",
|
|
832
|
-
"include": "Inclure dans l’application générée",
|
|
833
|
-
"includeHelper": "Les tables exclues n’ont aucune page et disparaissent de la navigation.",
|
|
834
|
-
"shape": "Forme de la table (classifiée)",
|
|
835
|
-
"role": "Rôle",
|
|
836
|
-
"unclassified": "Non classifiée",
|
|
837
|
-
"kind": "Nature",
|
|
838
|
-
"hierarchy": "Hiérarchie",
|
|
839
|
-
"selfFk": "Auto-référence via {column}",
|
|
840
|
-
"polymorphic": "Paires polymorphes",
|
|
841
|
-
"rows": "Estimation du nombre de lignes",
|
|
842
|
-
"shapeHelper": "La classification est recalculée à chaque introspection ; les remplacements se superposent et survivent à la régénération."
|
|
1086
|
+
"duplicate": {
|
|
1087
|
+
"failed": "Impossible de dupliquer la page",
|
|
1088
|
+
"submit": "Dupliquer",
|
|
1089
|
+
"title": "Dupliquer la page"
|
|
843
1090
|
},
|
|
844
|
-
"
|
|
845
|
-
"
|
|
846
|
-
"
|
|
847
|
-
"
|
|
848
|
-
"
|
|
849
|
-
"
|
|
850
|
-
"
|
|
851
|
-
"
|
|
852
|
-
"
|
|
853
|
-
"
|
|
854
|
-
"
|
|
855
|
-
"
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
"
|
|
860
|
-
"
|
|
861
|
-
"
|
|
862
|
-
"
|
|
863
|
-
"
|
|
864
|
-
"
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
"
|
|
868
|
-
"
|
|
869
|
-
"
|
|
870
|
-
"
|
|
871
|
-
"
|
|
1091
|
+
"editor": {
|
|
1092
|
+
"appearance": "Apparence",
|
|
1093
|
+
"attachments": "Pièces jointes",
|
|
1094
|
+
"columns": "Colonnes",
|
|
1095
|
+
"contentInvalid": "La configuration de cette page est illisible",
|
|
1096
|
+
"contentInvalidBody": "Elle provient d’une version plus récente, ou elle est corrompue. Régénérez la page ou supprimez-la.",
|
|
1097
|
+
"contentUnavailable": "Impossible de charger le contenu de la page",
|
|
1098
|
+
"contentUnavailableBody": "Les informations ci-dessus peuvent tout de même être enregistrées.",
|
|
1099
|
+
"data": "Données",
|
|
1100
|
+
"derived": "Nombres calculés",
|
|
1101
|
+
"details": "Détails",
|
|
1102
|
+
"generated": {
|
|
1103
|
+
"body": "Vos modifications sont conservées lors d’une nouvelle génération : la page est marquée comme modifiée et laissée intacte. En revanche, une suppression ne tient que jusqu’à ce que la génération suivante la recrée.",
|
|
1104
|
+
"title": "Cette page a été générée à partir de votre schéma"
|
|
1105
|
+
},
|
|
1106
|
+
"itemsPending": "Enregistrez d’abord la modification ci-dessus — le contenu de la page est reconstruit à partir du nouveau modèle et de la nouvelle table.",
|
|
1107
|
+
"missing": "Cette page n’existe plus",
|
|
1108
|
+
"missingBody": "Elle a peut-être été supprimée, ou retirée par une génération.",
|
|
1109
|
+
"notBindable": "Ce modèle n’est pas lié à une seule table",
|
|
1110
|
+
"notBindableBody": "Son contenu se construit widget par widget. Ouvrez la page et utilisez « Modifier » pour les ajouter.",
|
|
1111
|
+
"openPage": "Ouvrir la page",
|
|
1112
|
+
"recompose": "Cette page va être reconstruite",
|
|
1113
|
+
"recomposeBody": "L’enregistrement remplace son contenu par une nouvelle disposition pour le modèle et la table ci-dessus. Les ajustements de colonnes et les modifications de widgets de cette page seront perdus.",
|
|
1114
|
+
"save": "Enregistrer les modifications",
|
|
1115
|
+
"saveFailed": "Impossible d’enregistrer les modifications",
|
|
1116
|
+
"schemaFailed": "Impossible de lister les tables",
|
|
1117
|
+
"schemaFailedBody": "Cette connexion n’a peut-être pas encore été analysée. Lancez l’introspection depuis Studio → Connexions de données.",
|
|
1118
|
+
"title": "Modifier la page"
|
|
872
1119
|
},
|
|
873
|
-
"title": "Remappage du schéma",
|
|
874
|
-
"subtitle": "{tables} tables · {applied} remplacements appliqués",
|
|
875
|
-
"saveFailed": "Échec de l’enregistrement : {message}",
|
|
876
|
-
"loadFailed": "Impossible de charger le schéma de cette connexion.",
|
|
877
|
-
"inspector": "Inspecteur",
|
|
878
1120
|
"empty": {
|
|
879
|
-
"
|
|
880
|
-
"
|
|
1121
|
+
"body": "Connectez une base de données pour générer des pages automatiquement, ou créez-en une à la main.",
|
|
1122
|
+
"title": "Aucune page pour l’instant"
|
|
881
1123
|
},
|
|
882
|
-
"
|
|
883
|
-
"
|
|
884
|
-
"
|
|
1124
|
+
"field": {
|
|
1125
|
+
"connection": "Source de données",
|
|
1126
|
+
"connectionNone": "Aucune",
|
|
1127
|
+
"group": "Groupe de la barre latérale",
|
|
1128
|
+
"groupHint": "La section de la barre latérale où elle apparaît.",
|
|
1129
|
+
"icon": "Icône",
|
|
1130
|
+
"iconHint": "Affichée à côté du nom de la page dans la barre latérale.",
|
|
1131
|
+
"iconPick": "Choisir l’icône de la page",
|
|
1132
|
+
"newRowLabel": "Bouton d’ajout",
|
|
1133
|
+
"newRowLabelHint": "Le texte du bouton qui ajoute un enregistrement. Laissez vide pour utiliser le libellé par défaut, qui est traduit.",
|
|
1134
|
+
"padding": "Marge de la page",
|
|
1135
|
+
"slug": "Adresse de la page",
|
|
1136
|
+
"slugHint": "Minuscules, chiffres et tirets. Seulement la dernière partie — le reste de l’adresse est ajouté pour vous.",
|
|
1137
|
+
"slugTaken": "Une autre page utilise déjà cette adresse.",
|
|
1138
|
+
"slugWarning": "Modifier l’adresse casse les liens et les favoris existants vers cette page.",
|
|
1139
|
+
"table": "Table",
|
|
1140
|
+
"tableCreateHint": "La table que cette page lit. Choisissez-en une maintenant et la page est prête à l’emploi ; laissez vide pour la lier plus tard.",
|
|
1141
|
+
"tableNeedsConnection": "Choisissez d’abord une source de données.",
|
|
1142
|
+
"tableNone": "Non liée",
|
|
1143
|
+
"template": "Modèle",
|
|
1144
|
+
"templateHint": "Détermine ce que la page peut contenir. Modifiable par la suite.",
|
|
1145
|
+
"title": "Titre",
|
|
1146
|
+
"titleHint": "Affiché dans la barre latérale et dans l’en-tête de la page.",
|
|
1147
|
+
"visible": "Afficher dans la barre latérale",
|
|
1148
|
+
"visibleHint": "Une page masquée reste accessible à son URL pour qui possède le lien.",
|
|
1149
|
+
"width": "Largeur du contenu",
|
|
1150
|
+
"widthHint": "Largeur maximale de la colonne de contenu de la page sur un grand écran."
|
|
885
1151
|
},
|
|
886
|
-
"
|
|
887
|
-
"
|
|
888
|
-
"
|
|
889
|
-
"
|
|
890
|
-
"noMatches": "Aucune table ne correspond à votre recherche.",
|
|
891
|
-
"collapse": "Replier la table",
|
|
892
|
-
"expand": "Déplier la table",
|
|
893
|
-
"unsaved": "Modification non enregistrée",
|
|
894
|
-
"excluded": "Exclue"
|
|
1152
|
+
"icon": {
|
|
1153
|
+
"noMatches": "Aucune icône ne correspond à cette recherche.",
|
|
1154
|
+
"none": "Choisir une icône",
|
|
1155
|
+
"search": "Rechercher des icônes"
|
|
895
1156
|
},
|
|
896
|
-
"
|
|
897
|
-
"
|
|
898
|
-
"
|
|
899
|
-
"unique": "UNIQUE",
|
|
900
|
-
"pii": "PII",
|
|
901
|
-
"masked": "Masquée"
|
|
1157
|
+
"list": {
|
|
1158
|
+
"count": "{count, plural, one {# page} other {# pages}}",
|
|
1159
|
+
"title": "Pages"
|
|
902
1160
|
},
|
|
903
|
-
"
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
"publicApi": {
|
|
907
|
-
"error": "Something went wrong",
|
|
908
|
-
"scopes": {
|
|
909
|
-
"deleteTitle": "Delete this scope",
|
|
910
|
-
"deleteBody": "Any page using a key bound to this scope stops loading data. Keys are not deleted — revoke them first if that is what you meant.",
|
|
911
|
-
"deletePrompt": "Type the scope name to confirm",
|
|
912
|
-
"deleteConfirm": "Delete scope",
|
|
913
|
-
"issuesTitle": "This scope did not compile",
|
|
914
|
-
"title": "Scopes",
|
|
915
|
-
"subtitle": "A scope is the whole of what a key may reach — the tables, the exact columns, and a filter the caller can narrow but never remove.",
|
|
916
|
-
"emptyTitle": "No scopes yet",
|
|
917
|
-
"emptyBody": "Create one below. It is checked against your live schema before it is saved.",
|
|
918
|
-
"keyCount": "{count, plural, =0 {no keys} one {# key} other {# keys}}",
|
|
919
|
-
"delete": "Delete",
|
|
920
|
-
"nameLabel": "Name",
|
|
921
|
-
"connectionLabel": "Connection ID",
|
|
922
|
-
"documentLabel": "Scope document",
|
|
923
|
-
"documentHint": "Compiled against your schema when you save. Every column a caller can reach is listed here and nowhere else.",
|
|
924
|
-
"create": "Create scope",
|
|
925
|
-
"formLabel": "Create a scope"
|
|
926
|
-
},
|
|
927
|
-
"cancel": "Cancel",
|
|
928
|
-
"close": "Close",
|
|
929
|
-
"title": "Public API",
|
|
930
|
-
"subtitle": "Let your own customer- or staff-facing pages read this database, through a scope you define.",
|
|
931
|
-
"notRegistered": {
|
|
932
|
-
"title": "Not enabled on this server",
|
|
933
|
-
"body": "Set ADMINIUM_PUBLIC_API_ORIGINS to the exact origins allowed to call it, then restart. Until then these routes are not served at all."
|
|
1161
|
+
"loadFailed": {
|
|
1162
|
+
"body": "La gestion des pages requiert l’autorisation « Gérer les pages ». Demandez à un administrateur de l’attribuer à l’un de vos rôles.",
|
|
1163
|
+
"title": "Impossible de charger les pages"
|
|
934
1164
|
},
|
|
935
|
-
"
|
|
936
|
-
"
|
|
937
|
-
"
|
|
1165
|
+
"origin": {
|
|
1166
|
+
"generated": "Générée",
|
|
1167
|
+
"llm": "Assistant",
|
|
1168
|
+
"manifest": "Extension",
|
|
1169
|
+
"system": "Système",
|
|
1170
|
+
"user": "Personnalisée"
|
|
938
1171
|
},
|
|
939
|
-
"
|
|
940
|
-
"
|
|
1172
|
+
"padding": {
|
|
1173
|
+
"custom": "Personnalisée…",
|
|
1174
|
+
"default": "Par défaut pour ce modèle",
|
|
1175
|
+
"none": "Aucune",
|
|
1176
|
+
"standard": "Standard (28 × 24)",
|
|
1177
|
+
"x": "Côtés (px)",
|
|
1178
|
+
"y": "Haut et bas (px)"
|
|
941
1179
|
},
|
|
942
|
-
"
|
|
943
|
-
"
|
|
944
|
-
"
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
"
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
"
|
|
951
|
-
"
|
|
952
|
-
"
|
|
953
|
-
"
|
|
954
|
-
"
|
|
955
|
-
"
|
|
956
|
-
"
|
|
957
|
-
"
|
|
958
|
-
"
|
|
959
|
-
|
|
1180
|
+
"preview": {
|
|
1181
|
+
"note": "Une illustration de la disposition, pas de vos données. La vraie page se remplit une fois enregistrée.",
|
|
1182
|
+
"untitled": "Page sans titre"
|
|
1183
|
+
},
|
|
1184
|
+
"row": {
|
|
1185
|
+
"menu": "Actions pour {title}"
|
|
1186
|
+
},
|
|
1187
|
+
"sidebar": {
|
|
1188
|
+
"discard": "Abandonner",
|
|
1189
|
+
"emptyGroup": "Aucune page dans ce groupe.",
|
|
1190
|
+
"help": "Réordonnez les pages au sein d’un groupe, ou déplacez-en une vers un autre groupe. Les changements s’appliquent à tout le monde.",
|
|
1191
|
+
"moveDown": "Descendre {title}",
|
|
1192
|
+
"moveTo": "Déplacer {title} vers un groupe",
|
|
1193
|
+
"moveUp": "Monter {title}",
|
|
1194
|
+
"save": "Enregistrer l’ordre",
|
|
1195
|
+
"saveFailed": "Impossible d’enregistrer le nouvel ordre",
|
|
1196
|
+
"ungrouped": {
|
|
1197
|
+
"body": "Ces pages fonctionnent à leur URL mais n’apparaissent nulle part dans la barre latérale. Ouvrez chacune d’elles et choisissez un groupe.",
|
|
1198
|
+
"title": "Certaines pages n’appartiennent à aucun groupe"
|
|
1199
|
+
}
|
|
960
1200
|
},
|
|
961
1201
|
"status": {
|
|
962
|
-
"
|
|
963
|
-
|
|
964
|
-
},
|
|
965
|
-
"hostedApps": {
|
|
966
|
-
"title": "Apps hébergées",
|
|
967
|
-
"subtitle": "Les surfaces d’app que cette instance sert — où chacune apparaît, et les domaines qui pointent vers elles.",
|
|
968
|
-
"error": "Un problème est survenu",
|
|
969
|
-
"emptyTitle": "Aucune surface d’app n’est servie",
|
|
970
|
-
"emptyBody": "Pointez ADMINIUM_SURFACES_DIR vers un répertoire de surfaces compilées — un dossier par app et par côté, chacun avec son index.html — puis redémarrez. Elles sont alors servies sous /apps/ et apparaissent ici.",
|
|
971
|
-
"surfaces": {
|
|
972
|
-
"title": "Surfaces",
|
|
973
|
-
"subtitle": "Une surface équipe peut se fondre dans la barre latérale de ce tableau de bord ou rester autonome ; une surface client est publique et lit via sa clé liée.",
|
|
974
|
-
"staff": "Équipe",
|
|
975
|
-
"customer": "Client",
|
|
976
|
-
"noNav": "Placement interne indisponible — recompilez cette surface avec le toolkit actuel pour qu’elle émette surface.json.",
|
|
977
|
-
"noKey": "Aucune clé liée — cette surface ne peut pas lire de données tant qu’une clé n’est pas créée pour elle.",
|
|
978
|
-
"mintLink": "En créer une sous API publique",
|
|
979
|
-
"boundKey": "Sert la clé",
|
|
980
|
-
"placementLabel": "Placement",
|
|
981
|
-
"placementInternal": "Dans la barre latérale (fondue)",
|
|
982
|
-
"placementExternal": "Externe (URL propre uniquement)",
|
|
983
|
-
"connectionLabel": "Lit",
|
|
984
|
-
"connectionUnset": "Celle qui est active"
|
|
1202
|
+
"hidden": "Masquée",
|
|
1203
|
+
"live": "Active"
|
|
985
1204
|
},
|
|
986
|
-
"
|
|
987
|
-
|
|
988
|
-
"
|
|
989
|
-
"
|
|
990
|
-
"savedTitle": "Enregistré",
|
|
991
|
-
"savedBody": "Les attributions prennent effet en quelques secondes. Un hôte ne répond que lorsque son DNS et votre proxy atteignent réellement cette instance.",
|
|
992
|
-
"none": "Aucun domaine attaché.",
|
|
993
|
-
"hostLabel": "Hôte",
|
|
994
|
-
"surfaceLabel": "Surface",
|
|
995
|
-
"remove": "Retirer",
|
|
996
|
-
"add": "Attacher un domaine",
|
|
997
|
-
"save": "Enregistrer les domaines",
|
|
998
|
-
"instanceLabel": "Instance",
|
|
999
|
-
"instanceOwn": "L'application elle-même"
|
|
1205
|
+
"subtitle": "Ajoutez, modifiez et organisez les pages de votre application, ainsi que leur ordre dans la barre latérale.",
|
|
1206
|
+
"tab": {
|
|
1207
|
+
"pages": "Toutes les pages",
|
|
1208
|
+
"sidebar": "Ordre de la barre latérale"
|
|
1000
1209
|
},
|
|
1001
|
-
"
|
|
1002
|
-
|
|
1003
|
-
"
|
|
1004
|
-
"
|
|
1005
|
-
"
|
|
1006
|
-
"
|
|
1007
|
-
"
|
|
1008
|
-
"
|
|
1009
|
-
"
|
|
1010
|
-
"empty": "Aucune instance supplémentaire.",
|
|
1011
|
-
"failed": "Les instances n'ont pas été enregistrées"
|
|
1210
|
+
"title": "Pages",
|
|
1211
|
+
"width": {
|
|
1212
|
+
"content": "Contenu (900 px)",
|
|
1213
|
+
"dash": "Tableau de bord (1320 px)",
|
|
1214
|
+
"default": "Valeur par défaut de ce modèle",
|
|
1215
|
+
"full": "Pleine largeur (sans limite)",
|
|
1216
|
+
"narrow": "Étroite (720 px)",
|
|
1217
|
+
"page": "Page (1080 px)",
|
|
1218
|
+
"wide": "Large (1800 px)"
|
|
1012
1219
|
}
|
|
1013
1220
|
},
|
|
1014
|
-
"
|
|
1015
|
-
"
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
"
|
|
1020
|
-
"
|
|
1021
|
-
"
|
|
1022
|
-
"
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
"
|
|
1026
|
-
"
|
|
1027
|
-
"
|
|
1028
|
-
"
|
|
1029
|
-
"
|
|
1030
|
-
"
|
|
1031
|
-
"
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
"
|
|
1035
|
-
"
|
|
1036
|
-
},
|
|
1037
|
-
"title": "Modules",
|
|
1038
|
-
"subtitle": "Des capacités supplémentaires pour vos applications — expédition, graphisme, données. Chacune indique ce dont elle a besoin avant l’installation.",
|
|
1039
|
-
"error": "Une erreur est survenue",
|
|
1040
|
-
"browse": {
|
|
1041
|
-
"title": "Disponibles",
|
|
1042
|
-
"online": "Inclut les modules du catalogue en ligne. Rechercher des versions plus récentes est une action distincte.",
|
|
1043
|
-
"offline": "Affiche les modules livrés avec cette version. La navigation en ligne est désactivée et rien ici n’a contacté Internet.",
|
|
1044
|
-
"refresh": "Rechercher des nouveautés",
|
|
1045
|
-
"emptyTitle": "Aucun module disponible",
|
|
1046
|
-
"emptyBody": "Cette version n’en contient aucun et le catalogue en ligne est désactivé.",
|
|
1047
|
-
"bundled": "Inclus",
|
|
1048
|
-
"upgrade": "v{version} disponible",
|
|
1049
|
-
"download": "Télécharger",
|
|
1050
|
-
"install": "Installer",
|
|
1051
|
-
"discard": "Supprimer",
|
|
1052
|
-
"upgradeAction": "Mettre à jour",
|
|
1053
|
-
"toggle": "Parcourir le catalogue en ligne"
|
|
1221
|
+
"publicApi": {
|
|
1222
|
+
"cancel": "Annuler",
|
|
1223
|
+
"close": "Fermer",
|
|
1224
|
+
"error": "Un problème est survenu",
|
|
1225
|
+
"keys": {
|
|
1226
|
+
"appHint": "La surface client de l’app sert alors cette clé elle-même — la faire tourner n’exige aucune recompilation.",
|
|
1227
|
+
"appLabel": "Lier à une surface d’app hébergée (facultatif)",
|
|
1228
|
+
"appNone": "Non liée",
|
|
1229
|
+
"create": "Créer la clé",
|
|
1230
|
+
"emptyBody": "Créez d’abord une portée, puis créez-lui une clé.",
|
|
1231
|
+
"emptyTitle": "Aucune clé pour l’instant",
|
|
1232
|
+
"formLabel": "Créer une clé",
|
|
1233
|
+
"nameLabel": "Nom",
|
|
1234
|
+
"reveal": "Afficher la clé",
|
|
1235
|
+
"revoke": "Révoquer",
|
|
1236
|
+
"rotate": "Faire tourner",
|
|
1237
|
+
"scopeIsAuthBody": "Une clé atteint exactement ce que sa portée énumère, et rien d’autre. Elle n’utilise ni les rôles ni les autorisations de table, et elle ne peut rien lire via le reste de l’API.",
|
|
1238
|
+
"scopeIsAuthTitle": "La portée est la seule autorisation",
|
|
1239
|
+
"scopeLabel": "Portée",
|
|
1240
|
+
"scopePlaceholder": "Choisissez une portée",
|
|
1241
|
+
"subtitle": "Elles vont dans le JavaScript de votre page, donc n’importe qui peut les lire. C’est normal — une clé ne peut jamais faire que ce que sa portée autorise.",
|
|
1242
|
+
"title": "Clés"
|
|
1054
1243
|
},
|
|
1055
|
-
"
|
|
1056
|
-
"
|
|
1057
|
-
"
|
|
1058
|
-
"emptyBody": "Installez un module ci-dessus et il apparaîtra ici avec ses hôtes et sa connexion.",
|
|
1059
|
-
"connected": "Connecté",
|
|
1060
|
-
"notConnected": "Non connecté",
|
|
1061
|
-
"egress": "Peut contacter : {hosts}",
|
|
1062
|
-
"on": "activé",
|
|
1063
|
-
"off": "désactivé",
|
|
1064
|
-
"disconnect": "Déconnecter",
|
|
1065
|
-
"uninstall": "Désinstaller"
|
|
1244
|
+
"notRegistered": {
|
|
1245
|
+
"body": "Définissez ADMINIUM_PUBLIC_API_ORIGINS avec les origines exactes autorisées à l’appeler, puis redémarrez. D’ici là, ces routes ne sont pas servies du tout.",
|
|
1246
|
+
"title": "Non activée sur ce serveur"
|
|
1066
1247
|
},
|
|
1067
|
-
"
|
|
1068
|
-
"
|
|
1069
|
-
"disconnectTitle": "Déconnecter ce module",
|
|
1070
|
-
"uninstallTitle": "Désinstaller ce module",
|
|
1071
|
-
"discardTitle": "Supprimer ce téléchargement",
|
|
1072
|
-
"disconnectBody": "Ses clés sont supprimées et il cesse ses appels. Chaque table et chaque ligne qu’il a créées restent telles quelles, et vous pouvez le reconnecter à tout moment.",
|
|
1073
|
-
"uninstallBody": "Ses clés sont supprimées et ses fichiers retirés de ce serveur. Chaque table et chaque ligne qu’il a créées restent telles quelles. Vous pourrez le réinstaller plus tard.",
|
|
1074
|
-
"discardBody": "Les fichiers téléchargés sont supprimés. Rien n’a été installé, donc rien d’autre ne change — vous pouvez le retélécharger quand vous voulez.",
|
|
1075
|
-
"cancel": "Annuler",
|
|
1076
|
-
"disconnect": "Déconnecter",
|
|
1077
|
-
"uninstall": "Désinstaller",
|
|
1078
|
-
"discard": "Supprimer"
|
|
1248
|
+
"origins": {
|
|
1249
|
+
"label": "Origines autorisées à l’appeler"
|
|
1079
1250
|
},
|
|
1080
|
-
"
|
|
1081
|
-
|
|
1082
|
-
"
|
|
1083
|
-
"
|
|
1084
|
-
"
|
|
1251
|
+
"scopes": {
|
|
1252
|
+
"connectionLabel": "Identifiant de connexion",
|
|
1253
|
+
"create": "Créer la portée",
|
|
1254
|
+
"delete": "Supprimer",
|
|
1255
|
+
"deleteBody": "Toute page utilisant une clé liée à cette portée cesse de charger des données. Les clés ne sont pas supprimées — révoquez-les d’abord si c’est ce que vous vouliez.",
|
|
1256
|
+
"deleteConfirm": "Supprimer la portée",
|
|
1257
|
+
"deletePrompt": "Saisissez le nom de la portée pour confirmer",
|
|
1258
|
+
"deleteTitle": "Supprimer cette portée",
|
|
1259
|
+
"documentHint": "Compilé par rapport à votre schéma lors de l’enregistrement. Toutes les colonnes qu’un appelant peut atteindre sont listées ici et nulle part ailleurs. Une valeur par défaut peut être '{'\"$generate\": \"uuid\"'}' ou '{'\"$generate\": \"now\"'}' — le serveur les remplit à la création, pour qu’un visiteur puisse ajouter une ligne sans choisir son id.",
|
|
1260
|
+
"documentLabel": "Document de portée",
|
|
1261
|
+
"emptyBody": "Créez-en une ci-dessous. Elle est vérifiée par rapport à votre schéma actif avant d’être enregistrée.",
|
|
1262
|
+
"emptyTitle": "Aucune portée pour l’instant",
|
|
1263
|
+
"formLabel": "Créer une portée",
|
|
1264
|
+
"issuesTitle": "Cette portée n’a pas compilé",
|
|
1265
|
+
"keyCount": "{count, plural, =0 {aucune clé} one {# clé} other {# clés}}",
|
|
1266
|
+
"nameLabel": "Nom",
|
|
1267
|
+
"subtitle": "Une portée est tout ce qu’une clé peut atteindre — les tables, les colonnes exactes et un filtre que l’appelant peut restreindre mais jamais retirer.",
|
|
1268
|
+
"title": "Portées"
|
|
1085
1269
|
},
|
|
1086
|
-
"
|
|
1087
|
-
"
|
|
1088
|
-
"body": "Le réglage est enregistré, mais les fonctions réseau sont coupées sur ce serveur et cela prime. Les modules déjà téléchargés fonctionnent, et vous pouvez en téléverser un."
|
|
1270
|
+
"status": {
|
|
1271
|
+
"heading": "Statut"
|
|
1089
1272
|
},
|
|
1090
|
-
"
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
"
|
|
1094
|
-
"
|
|
1095
|
-
"version": "Version",
|
|
1096
|
-
"sha": "Intégrité (sha512-…)",
|
|
1097
|
-
"shaHint": "La valeur `integrity` affichée par `npm pack --json`. Refusé si les octets n’y correspondent pas.",
|
|
1098
|
-
"submit": "Téléverser"
|
|
1273
|
+
"subtitle": "Laissez vos propres pages destinées aux clients ou au personnel lire cette base de données, via une portée que vous définissez.",
|
|
1274
|
+
"title": "API publique",
|
|
1275
|
+
"toggle": {
|
|
1276
|
+
"hint": "La désactiver arrête immédiatement toutes les requêtes publiques. Rien n’est supprimé — les clés, les portées et les données sont conservées.",
|
|
1277
|
+
"label": "Servir l’API publique"
|
|
1099
1278
|
}
|
|
1100
1279
|
},
|
|
1101
|
-
"
|
|
1102
|
-
"
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
"
|
|
1107
|
-
"
|
|
1280
|
+
"remap": {
|
|
1281
|
+
"badge": {
|
|
1282
|
+
"fk": "FK",
|
|
1283
|
+
"masked": "Masquée",
|
|
1284
|
+
"pii": "PII",
|
|
1285
|
+
"pk": "PK",
|
|
1286
|
+
"unique": "UNIQUE"
|
|
1108
1287
|
},
|
|
1109
|
-
"
|
|
1110
|
-
"
|
|
1111
|
-
"
|
|
1288
|
+
"column": {
|
|
1289
|
+
"currency": "Devise",
|
|
1290
|
+
"currencyHelper": "Code ISO 4217 appliqué au formatage monétaire.",
|
|
1291
|
+
"enum": "Sémantique de l’énumération",
|
|
1292
|
+
"enumCategory": "Catégorie",
|
|
1293
|
+
"enumHelper": "Les énumérations de flux pilotent les pastilles de statut et les colonnes de tableau ; les tonalités associent les valeurs à l’échelle de teintes sémantiques.",
|
|
1294
|
+
"enumKind": "Nature de l’énumération",
|
|
1295
|
+
"enumLabelFor": "Libellé pour {value}",
|
|
1296
|
+
"enumToneAuto": "auto",
|
|
1297
|
+
"enumToneFor": "Tonalité pour {value}",
|
|
1298
|
+
"enumWorkflow": "Flux",
|
|
1299
|
+
"labelHelper": "Inféré : {name}",
|
|
1300
|
+
"labelOverride": "Libellé d’affichage",
|
|
1301
|
+
"logicalType": "Type logique",
|
|
1302
|
+
"logicalTypeHelper": "Inféré : {type} (depuis {dbType}) — mappé par l’adaptateur ; non remplaçable en v1.",
|
|
1303
|
+
"nullable": "nullable",
|
|
1304
|
+
"pii": "Masquer par défaut",
|
|
1305
|
+
"piiHelper": "Les valeurs masquées s’affichent caviardées ; le démasquage requiert la permission data.unmask_pii et est consigné dans le journal d’audit.",
|
|
1306
|
+
"semantic": "Type sémantique",
|
|
1307
|
+
"semanticHelper": "Classificateur : {tag} · confiance {confidence}% · source : {source}",
|
|
1308
|
+
"semanticInferred": "inféré : {tag}",
|
|
1309
|
+
"unclassified": "Pas encore classifié."
|
|
1112
1310
|
},
|
|
1113
|
-
"
|
|
1114
|
-
"
|
|
1115
|
-
"
|
|
1311
|
+
"diff": {
|
|
1312
|
+
"count": "{count} modifications",
|
|
1313
|
+
"one": "1 modification",
|
|
1314
|
+
"regenerate": "Régénérer les pages",
|
|
1315
|
+
"revertAll": "Tout annuler",
|
|
1316
|
+
"revertOne": "Annuler {change}",
|
|
1317
|
+
"save": "Enregistrer les remplacements",
|
|
1318
|
+
"saved": "Remplacements enregistrés."
|
|
1116
1319
|
},
|
|
1117
1320
|
"empty": {
|
|
1118
|
-
"
|
|
1119
|
-
"
|
|
1321
|
+
"description": "Sélectionnez un élément dans l’arborescence du schéma pour remapper son libellé, son type, ses relations ou son masquage.",
|
|
1322
|
+
"title": "Choisissez une table ou une colonne"
|
|
1120
1323
|
},
|
|
1121
|
-
"
|
|
1122
|
-
|
|
1123
|
-
|
|
1324
|
+
"inspector": "Inspecteur",
|
|
1325
|
+
"loadFailed": "Impossible de charger le schéma de cette connexion.",
|
|
1326
|
+
"mode": {
|
|
1327
|
+
"design": "Conception",
|
|
1328
|
+
"diagram": "Diagramme",
|
|
1329
|
+
"remap": "Libellés et relations"
|
|
1124
1330
|
},
|
|
1125
|
-
"
|
|
1126
|
-
|
|
1127
|
-
"
|
|
1128
|
-
"
|
|
1331
|
+
"modeLabel": "Mode d’édition",
|
|
1332
|
+
"noDesign": {
|
|
1333
|
+
"noPrivilege": "Le rôle de cette connexion ne peut ni créer ni modifier de tables. Accordez-lui des privilèges de schéma, ou connectez un rôle qui en dispose.",
|
|
1334
|
+
"readOnlyIntent": "Cette connexion a été configurée pour de l'analytique en lecture seule. Modifiez son intention dans les Paramètres pour modifier son schéma.",
|
|
1335
|
+
"readOnlyRole": "Cette connexion utilise un rôle en lecture seule ; Adminium ne peut donc pas modifier son schéma.",
|
|
1336
|
+
"schemaFile": "Cette connexion a été créée à partir d'un fichier de schéma ; il n'y a donc aucune base de données à modifier. Les libellés et les relations fonctionnent toujours."
|
|
1337
|
+
},
|
|
1338
|
+
"relations": {
|
|
1339
|
+
"accept": "Accepter",
|
|
1340
|
+
"accepted": "Acceptée",
|
|
1341
|
+
"add": "Ajouter une relation virtuelle",
|
|
1342
|
+
"addButton": "Ajouter la relation",
|
|
1343
|
+
"cardinality": "Cardinalité",
|
|
1344
|
+
"confidence": "inférée · {pct}%",
|
|
1345
|
+
"declared": "Clés étrangères déclarées",
|
|
1346
|
+
"fromColumn": "Colonne source",
|
|
1347
|
+
"fromPlaceholder": "customer_id",
|
|
1348
|
+
"inferred": "Relations inférées",
|
|
1349
|
+
"noColumns": "Aucune colonne correspondante",
|
|
1350
|
+
"noTables": "Aucune table correspondante",
|
|
1351
|
+
"noneDeclared": "Aucune clé étrangère déclarée ne touche cette table.",
|
|
1352
|
+
"noneInferred": "Rien d’inféré pour cette table.",
|
|
1353
|
+
"overrideBadge": "remplacement",
|
|
1354
|
+
"overrides": "Relations de remplacement (appliquées)",
|
|
1355
|
+
"suppress": "Écarter",
|
|
1356
|
+
"suppressed": "Écartée",
|
|
1357
|
+
"toColumn": "Colonne cible",
|
|
1358
|
+
"toTable": "Table cible"
|
|
1359
|
+
},
|
|
1360
|
+
"saveFailed": "Échec de l’enregistrement : {message}",
|
|
1361
|
+
"subtitle": "{tables} tables · {applied} remplacements appliqués",
|
|
1362
|
+
"table": {
|
|
1363
|
+
"hierarchy": "Hiérarchie",
|
|
1364
|
+
"icon": "Icône",
|
|
1365
|
+
"iconPicker": "Icône de la table",
|
|
1366
|
+
"include": "Inclure dans l’application générée",
|
|
1367
|
+
"includeHelper": "Les tables exclues n’ont aucune page et disparaissent de la navigation.",
|
|
1368
|
+
"kind": "Nature",
|
|
1369
|
+
"labelHelper": "Inféré : {name}",
|
|
1370
|
+
"labelOverride": "Libellé d’affichage",
|
|
1371
|
+
"navGroup": "Groupe de navigation",
|
|
1372
|
+
"navGroupHelper": "Le placement dans la navigation est décidé par le générateur — un remplacement table.navGroup ne fait pas partie du vocabulaire v1.",
|
|
1373
|
+
"polymorphic": "Paires polymorphes",
|
|
1374
|
+
"role": "Rôle",
|
|
1375
|
+
"rows": "Estimation du nombre de lignes",
|
|
1376
|
+
"selfFk": "Auto-référence via {column}",
|
|
1377
|
+
"shape": "Forme de la table (classifiée)",
|
|
1378
|
+
"shapeHelper": "La classification est recalculée à chaque introspection ; les remplacements se superposent et survivent à la régénération.",
|
|
1129
1379
|
"system": "Système",
|
|
1130
|
-
"
|
|
1380
|
+
"unclassified": "Non classifiée"
|
|
1131
1381
|
},
|
|
1132
|
-
"
|
|
1133
|
-
"
|
|
1382
|
+
"tabs": {
|
|
1383
|
+
"details": "Détails",
|
|
1384
|
+
"relations": "Relations"
|
|
1134
1385
|
},
|
|
1135
|
-
"
|
|
1136
|
-
|
|
1137
|
-
"
|
|
1138
|
-
"
|
|
1139
|
-
"
|
|
1140
|
-
"
|
|
1386
|
+
"title": "Schéma",
|
|
1387
|
+
"toast": {
|
|
1388
|
+
"regenerateFailed": "Échec de la régénération",
|
|
1389
|
+
"regenerated": "{created} créées · {updated} mises à jour · {unchanged} inchangées",
|
|
1390
|
+
"regeneratedDetail": "Les pages que vous avez modifiées à la main sont préservées — seules les pages dont le generated_hash est intact ont été régénérées sur place.",
|
|
1391
|
+
"saved": "Remplacements de schéma enregistrés",
|
|
1392
|
+
"savedDetail": "Le schéma appliqué ci-dessous reflète vos modifications."
|
|
1141
1393
|
},
|
|
1142
|
-
"
|
|
1143
|
-
"
|
|
1144
|
-
"
|
|
1145
|
-
"
|
|
1146
|
-
"
|
|
1394
|
+
"tree": {
|
|
1395
|
+
"collapse": "Replier la table",
|
|
1396
|
+
"excluded": "Exclue",
|
|
1397
|
+
"expand": "Déplier la table",
|
|
1398
|
+
"label": "Schéma",
|
|
1399
|
+
"noMatches": "Aucune table ne correspond à votre recherche.",
|
|
1400
|
+
"search": "Rechercher des tables et des colonnes",
|
|
1401
|
+
"searchPlaceholder": "Rechercher des tables…",
|
|
1402
|
+
"unsaved": "Modification non enregistrée"
|
|
1147
1403
|
},
|
|
1148
|
-
"
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1404
|
+
"unavailableBody": "Cette version n’inclut pas encore l’éditeur de remappage (09-T12). Relancez la génération une fois qu’il sera disponible pour remapper les libellés, les types et les relations.",
|
|
1405
|
+
"unavailableTitle": "Éditeur de remappage du schéma indisponible"
|
|
1406
|
+
},
|
|
1407
|
+
"review": {
|
|
1408
|
+
"unavailableBody": "Cette version n’inclut pas encore l’écran de revue d’enrichissement (06-T14). Il arrive avec le flux diff-et-application.",
|
|
1409
|
+
"unavailableTitle": "Écran de revue indisponible"
|
|
1410
|
+
},
|
|
1411
|
+
"settings": {
|
|
1412
|
+
"globalDefaultsNav": "Valeurs par défaut globales",
|
|
1413
|
+
"title": "Paramètres",
|
|
1414
|
+
"workspaceSection": "Espace de travail"
|
|
1415
|
+
},
|
|
1416
|
+
"settingsAi": {
|
|
1417
|
+
"byo": {
|
|
1418
|
+
"body": "Studio peut générer un prompt autonome à partir de votre schéma. Exécutez-le dans Claude Code, ChatGPT ou l’outil de votre choix, puis collez le JSON renvoyé dans l’assistant de connexion. Même validation, même revue, même résultat que la voie directe.",
|
|
1419
|
+
"guarantee1": "Le prompt ne contient que votre schéma et des statistiques agrégées — jamais de données de lignes par défaut.",
|
|
1420
|
+
"guarantee2": "Aucun identifiant, URL d’instance ni justificatif n’y est intégré.",
|
|
1421
|
+
"guarantee3": "Les exécutions BYO ne font aucun appel réseau.",
|
|
1422
|
+
"guaranteeTitle": "Garantie sans télémétrie",
|
|
1423
|
+
"heading": "Pas de clé ? Utilisez votre propre outil IA",
|
|
1424
|
+
"headingRecommended": "Utilisez votre propre outil IA — aucune clé requise",
|
|
1425
|
+
"promptVersion": "Prompt {version}",
|
|
1426
|
+
"recommended": "Recommandé",
|
|
1427
|
+
"schemaVersion": "Schéma {version}",
|
|
1428
|
+
"subtitle": "L’aller-retour copier-coller — rien ne quitte cette machine."
|
|
1152
1429
|
},
|
|
1153
|
-
"
|
|
1154
|
-
"
|
|
1155
|
-
"body": "Cette action est irréversible. Les vues enregistrées et les dispositions personnelles de cette page sont supprimées pour tout le monde.",
|
|
1156
|
-
"bodyGenerated": "Cette page provient de la génération du schéma : elle réapparaîtra à la prochaine génération. Les vues enregistrées et les dispositions personnelles sont supprimées pour tout le monde.",
|
|
1157
|
-
"prompt": "Saisissez {slug} pour confirmer",
|
|
1158
|
-
"confirm": "Supprimer la page"
|
|
1430
|
+
"configure": {
|
|
1431
|
+
"heading": "Configurer {provider}"
|
|
1159
1432
|
},
|
|
1160
1433
|
"field": {
|
|
1161
|
-
"
|
|
1162
|
-
"
|
|
1163
|
-
"
|
|
1164
|
-
"
|
|
1165
|
-
"
|
|
1166
|
-
"
|
|
1167
|
-
"
|
|
1168
|
-
"
|
|
1169
|
-
"
|
|
1170
|
-
"
|
|
1171
|
-
"
|
|
1172
|
-
"
|
|
1173
|
-
"
|
|
1174
|
-
"
|
|
1175
|
-
"
|
|
1176
|
-
"
|
|
1177
|
-
"
|
|
1178
|
-
"tableNeedsConnection": "Choisissez d’abord une source de données.",
|
|
1179
|
-
"connection": "Source de données",
|
|
1180
|
-
"connectionNone": "Aucune",
|
|
1181
|
-
"iconPick": "Choisir l’icône de la page",
|
|
1182
|
-
"padding": "Marge de la page",
|
|
1183
|
-
"width": "Largeur du contenu",
|
|
1184
|
-
"widthHint": "Largeur maximale de la colonne de contenu de la page sur un grand écran."
|
|
1434
|
+
"baseUrl": "URL de base",
|
|
1435
|
+
"baseUrlHelper": "La racine du point de terminaison qui sert /chat/completions.",
|
|
1436
|
+
"baseUrlOptional": "Laissez tel quel, sauf si Ollama tourne sur un autre hôte.",
|
|
1437
|
+
"key": "Clé API",
|
|
1438
|
+
"keyMask": "sk-…{last4}",
|
|
1439
|
+
"keyOptional": "Facultatif — certains points de terminaison n’exigent aucune clé.",
|
|
1440
|
+
"keyReplace": "Remplacer la clé",
|
|
1441
|
+
"keyStored": "Stockée chiffrée. Remplacez-la pour utiliser une autre clé.",
|
|
1442
|
+
"keyWriteOnly": "En écriture seule : une fois enregistrée, elle n’est jamais réaffichée.",
|
|
1443
|
+
"model": "Modèle",
|
|
1444
|
+
"modelFreeText": "Saisissez l’identifiant exact du modèle servi par votre point de terminaison.",
|
|
1445
|
+
"modelLive": "Chargé en direct depuis le fournisseur.",
|
|
1446
|
+
"modelLoading": "Chargement…",
|
|
1447
|
+
"modelPlaceholder": "Sélectionner un modèle…",
|
|
1448
|
+
"modelStatic": "Une liste éprouvée ; saisissez un identifiant personnalisé après l’enregistrement pour l’actualiser.",
|
|
1449
|
+
"noKeyBody": "Ollama tourne localement, donc rien ne quitte cette machine.",
|
|
1450
|
+
"noKeyTitle": "Aucune clé API requise"
|
|
1185
1451
|
},
|
|
1186
|
-
"
|
|
1187
|
-
"
|
|
1188
|
-
"
|
|
1189
|
-
"
|
|
1190
|
-
"
|
|
1191
|
-
"
|
|
1192
|
-
|
|
1193
|
-
|
|
1452
|
+
"history": {
|
|
1453
|
+
"byo": "BYO",
|
|
1454
|
+
"colChunks": "Blocs",
|
|
1455
|
+
"colDate": "Date",
|
|
1456
|
+
"colSource": "Source",
|
|
1457
|
+
"colStatus": "Statut",
|
|
1458
|
+
"connection": "Connexion",
|
|
1459
|
+
"directPath": "Directe",
|
|
1460
|
+
"empty": "Aucune exécution d’enrichissement pour l’instant. Enrichissez un schéma depuis l’assistant de connexion pour voir l’historique ici.",
|
|
1461
|
+
"errorBody": "Rechargez la page pour réessayer.",
|
|
1462
|
+
"errorTitle": "Impossible de charger les exécutions",
|
|
1463
|
+
"heading": "Historique des exécutions",
|
|
1464
|
+
"noConnections": "Connectez d’abord une base de données — les exécutions d’enrichissement sont enregistrées par connexion.",
|
|
1465
|
+
"openReview": "Ouvrir la revue de l’exécution du {date}",
|
|
1466
|
+
"subtitle": "Exécutions d’enrichissement passées. Ouvrez-en une pour revoir ses suggestions.",
|
|
1467
|
+
"tableLabel": "Exécutions d’enrichissement"
|
|
1468
|
+
},
|
|
1469
|
+
"provider": {
|
|
1470
|
+
"active": "Actif",
|
|
1471
|
+
"anthropic": {
|
|
1472
|
+
"desc": "Modèles Claude via l’API Anthropic.",
|
|
1473
|
+
"label": "Anthropic"
|
|
1194
1474
|
},
|
|
1195
|
-
"
|
|
1196
|
-
"
|
|
1197
|
-
"
|
|
1198
|
-
"
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
"
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
"
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
"
|
|
1211
|
-
"
|
|
1475
|
+
"heading": "Fournisseur IA",
|
|
1476
|
+
"networkDisabledBody": "Cet Adminium est configuré sans accès Internet sortant : il ne peut joindre aucune API de fournisseur. Utilisez l'aller-retour copier-coller ci-dessous — ni clé ni réseau requis.",
|
|
1477
|
+
"networkDisabledTitle": "Les fournisseurs IA directs sont désactivés sur cette installation",
|
|
1478
|
+
"ollama": {
|
|
1479
|
+
"desc": "Modèles exécutés localement via Ollama — sans clé, sans cloud.",
|
|
1480
|
+
"label": "Ollama (local)"
|
|
1481
|
+
},
|
|
1482
|
+
"openai": {
|
|
1483
|
+
"desc": "Modèles GPT via l’API OpenAI.",
|
|
1484
|
+
"label": "OpenAI"
|
|
1485
|
+
},
|
|
1486
|
+
"openaiCompatible": {
|
|
1487
|
+
"desc": "Tout point de terminaison au format OpenAI — Groq, Together, vLLM, LM Studio.",
|
|
1488
|
+
"label": "Compatible OpenAI"
|
|
1489
|
+
},
|
|
1490
|
+
"requiresNetwork": "Nécessite Internet et une clé API",
|
|
1491
|
+
"subtitle": "Choisissez comment Adminium atteint un modèle pour enrichir votre schéma. Les clés sont stockées chiffrées et ne sont jamais réaffichées."
|
|
1212
1492
|
},
|
|
1213
|
-
"
|
|
1214
|
-
"
|
|
1215
|
-
"
|
|
1216
|
-
"
|
|
1217
|
-
"
|
|
1218
|
-
"
|
|
1219
|
-
"
|
|
1220
|
-
"
|
|
1221
|
-
"
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1493
|
+
"runStatus": {
|
|
1494
|
+
"applied": "Appliqué",
|
|
1495
|
+
"awaitingResponse": "En attente de réponse",
|
|
1496
|
+
"discarded": "Abandonné",
|
|
1497
|
+
"draft": "Brouillon",
|
|
1498
|
+
"failed": "Échoué",
|
|
1499
|
+
"partiallyApplied": "Partiellement appliqué",
|
|
1500
|
+
"running": "En cours",
|
|
1501
|
+
"validated": "Validé"
|
|
1502
|
+
},
|
|
1503
|
+
"save": "Enregistrer le fournisseur",
|
|
1504
|
+
"saveFailed": "Impossible d’enregistrer le fournisseur IA. Réessayez.",
|
|
1505
|
+
"saved": "Fournisseur IA enregistré",
|
|
1506
|
+
"subtitle": "Connectez un modèle pour qu’Adminium suggère des libellés, des groupes, des relations et plus encore — toujours revus sous forme de diff avant toute application.",
|
|
1507
|
+
"test": "Tester la connexion",
|
|
1508
|
+
"testError": "Échec du test",
|
|
1509
|
+
"testErrorBody": "Impossible de joindre le fournisseur. Vérifiez la clé et l’URL de base.",
|
|
1510
|
+
"testHintDirty": "Enregistrez vos modifications avant de tester.",
|
|
1511
|
+
"testOk": "Connecté à {model} en {latency} ms",
|
|
1512
|
+
"testUnknownModel": "le fournisseur",
|
|
1513
|
+
"testing": "Test du fournisseur en cours…",
|
|
1514
|
+
"title": "Enrichissement par IA"
|
|
1515
|
+
},
|
|
1516
|
+
"settingsHub": {
|
|
1517
|
+
"addOnsCard": {
|
|
1518
|
+
"body": "Parcourez, installez et connectez des modules — blocs supplémentaires, packs de données et intégrations — ou téléversez-en un vous-même.",
|
|
1519
|
+
"cta": "Ouvrir les modules",
|
|
1520
|
+
"heading": "Modules"
|
|
1521
|
+
},
|
|
1522
|
+
"aiCard": {
|
|
1523
|
+
"body": "Configurez un fournisseur IA (ou l’aller-retour copier-coller) pour enrichir libellés, groupes et relations.",
|
|
1524
|
+
"cta": "Ouvrir les réglages IA",
|
|
1525
|
+
"heading": "Enrichissement par IA"
|
|
1526
|
+
},
|
|
1527
|
+
"danger": {
|
|
1528
|
+
"deleteCta": "Supprimer la connexion",
|
|
1529
|
+
"deleteDesc": "Supprime la connexion et les pages générées. Votre base de données n’est pas touchée. Irréversible.",
|
|
1530
|
+
"empty": "Rien à supprimer — aucune connexion pour l’instant.",
|
|
1531
|
+
"heading": "Zone de danger",
|
|
1532
|
+
"subtitle": "Actions irréversibles."
|
|
1533
|
+
},
|
|
1534
|
+
"defaultsCard": {
|
|
1535
|
+
"body": "Le thème, la couleur d’accent, la densité et la langue de tout l’espace de travail se trouvent dans les valeurs par défaut globales.",
|
|
1536
|
+
"cta": "Ouvrir les valeurs par défaut globales",
|
|
1537
|
+
"heading": "Valeurs par défaut d’apparence et de langue"
|
|
1538
|
+
},
|
|
1539
|
+
"email": {
|
|
1540
|
+
"attachmentCap": {
|
|
1541
|
+
"error": "Entre {min, number} et {max, number} Mo.",
|
|
1542
|
+
"helper": "La taille maximale des pièces jointes d’un même message.",
|
|
1543
|
+
"label": "Limite des pièces jointes (Mo)"
|
|
1544
|
+
},
|
|
1545
|
+
"from": {
|
|
1546
|
+
"error": "Saisissez une adresse e-mail.",
|
|
1547
|
+
"helper": "Une adresse seule, ou un nom d’affichage devant.",
|
|
1548
|
+
"label": "Adresse d’expéditeur"
|
|
1549
|
+
},
|
|
1550
|
+
"heading": "E-mail (SMTP)",
|
|
1551
|
+
"host": {
|
|
1552
|
+
"error": "Un nom d’hôte ou une adresse IP uniquement — sans schéma, port ni identifiants.",
|
|
1553
|
+
"label": "Hôte SMTP"
|
|
1554
|
+
},
|
|
1555
|
+
"pass": {
|
|
1556
|
+
"error": "Ce nom d’utilisateur exige un mot de passe.",
|
|
1557
|
+
"helper": "Chiffré au stockage et jamais réaffiché. Laissez vide pour conserver l’actuel.",
|
|
1558
|
+
"label": "Mot de passe"
|
|
1559
|
+
},
|
|
1560
|
+
"port": {
|
|
1561
|
+
"error": "Entre {min, number} et {max, number}.",
|
|
1562
|
+
"label": "Port"
|
|
1563
|
+
},
|
|
1564
|
+
"remove": "Supprimer le serveur de messagerie",
|
|
1565
|
+
"review": {
|
|
1566
|
+
"password": "Remplacé",
|
|
1567
|
+
"removed": "Supprimé"
|
|
1568
|
+
},
|
|
1569
|
+
"secure": {
|
|
1570
|
+
"helper": "Activé pour le port 465. Désactivé démarre en clair puis passe à STARTTLS, ce qu’attend le port 587.",
|
|
1571
|
+
"label": "TLS implicite"
|
|
1572
|
+
},
|
|
1573
|
+
"senders": {
|
|
1574
|
+
"add": "Ajouter un expéditeur",
|
|
1575
|
+
"address": "Adresse",
|
|
1576
|
+
"error": "Saisissez une adresse e-mail.",
|
|
1577
|
+
"heading": "Expéditeurs",
|
|
1578
|
+
"helper": "Adresses depuis lesquelles un e-mail peut être envoyé. L’adresse d’expédition SMTP est toujours disponible.",
|
|
1579
|
+
"implicit": "Adresse d’expédition SMTP",
|
|
1580
|
+
"name": "Nom affiché",
|
|
1581
|
+
"remove": "Retirer l’expéditeur",
|
|
1582
|
+
"review": "Expéditeurs"
|
|
1583
|
+
},
|
|
1584
|
+
"unconfigured": "Aucun serveur de messagerie n’est configuré, donc Adminium ne peut envoyer ni réinitialisation de mot de passe, ni invitation, ni rapport planifié.",
|
|
1585
|
+
"user": {
|
|
1586
|
+
"helper": "Laissez vide si le relais ne demande pas d’authentification.",
|
|
1587
|
+
"label": "Nom d’utilisateur"
|
|
1225
1588
|
}
|
|
1226
1589
|
},
|
|
1227
|
-
"
|
|
1228
|
-
"
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
"
|
|
1234
|
-
"
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
"
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
"lookupBack": "Retour",
|
|
1251
|
-
"lookupBrowse": "Choisissez quoi afficher depuis {table}",
|
|
1252
|
-
"lookupBroken": "Ce lien ne se résout plus",
|
|
1253
|
-
"lookupBrokenBody": "Le schéma a changé pendant votre navigation. Recommencez le lien.",
|
|
1254
|
-
"schemaUnavailable": "Les colonnes de la base n’ont pas pu être listées ; impossible d’ajouter des colonnes ici.",
|
|
1255
|
-
"none": {
|
|
1256
|
-
"title": "Cette page n’a pas encore de colonnes",
|
|
1257
|
-
"body": "Les colonnes sont lues dans la table lors de la génération de la page. Liez cette page à une table puis régénérez pour les renseigner."
|
|
1590
|
+
"identity": {
|
|
1591
|
+
"appName": {
|
|
1592
|
+
"error": "Saisissez un nom de 60 caractères maximum.",
|
|
1593
|
+
"helper": "Affiché dans la barre latérale, le titre du navigateur et les e-mails.",
|
|
1594
|
+
"label": "Nom de l’application"
|
|
1595
|
+
},
|
|
1596
|
+
"heading": "Identité de l’espace de travail",
|
|
1597
|
+
"logo": {
|
|
1598
|
+
"badType": "Choisissez une image PNG, JPEG, WebP, GIF ou SVG.",
|
|
1599
|
+
"drop": "Déposez une image ici",
|
|
1600
|
+
"helper": "PNG, JPEG, WebP, GIF ou SVG, jusqu’à 1 Mo. Remplace la marque intégrée partout.",
|
|
1601
|
+
"label": "Logo",
|
|
1602
|
+
"remove": "Supprimer",
|
|
1603
|
+
"removed": "Logo supprimé",
|
|
1604
|
+
"replace": "Remplacer le logo",
|
|
1605
|
+
"tooLarge": "Cette image dépasse 1 Mo.",
|
|
1606
|
+
"undo": "Annuler",
|
|
1607
|
+
"upload": "Importer un logo",
|
|
1608
|
+
"uploaded": "Logo mis à jour"
|
|
1609
|
+
},
|
|
1610
|
+
"showVersion": {
|
|
1611
|
+
"helper": "Le numéro de build à côté du logo. Désactivé, il masque votre version.",
|
|
1612
|
+
"label": "Version dans la barre latérale"
|
|
1258
1613
|
}
|
|
1259
1614
|
},
|
|
1260
|
-
"
|
|
1261
|
-
"
|
|
1262
|
-
"
|
|
1263
|
-
"
|
|
1615
|
+
"pagesCard": {
|
|
1616
|
+
"body": "Ajoutez, modifiez et supprimez des pages, changez leur contenu et réordonnez la barre latérale.",
|
|
1617
|
+
"cta": "Gérer les pages",
|
|
1618
|
+
"heading": "Pages"
|
|
1264
1619
|
},
|
|
1265
|
-
"
|
|
1266
|
-
"
|
|
1267
|
-
"
|
|
1620
|
+
"publicApiCard": {
|
|
1621
|
+
"body": "Laissez vos propres pages destinées aux clients ou au personnel lire cette base de données, via une portée que vous définissez.",
|
|
1622
|
+
"cta": "Ouvrir l’API publique",
|
|
1623
|
+
"heading": "API publique"
|
|
1268
1624
|
},
|
|
1269
|
-
"
|
|
1270
|
-
"
|
|
1271
|
-
"
|
|
1272
|
-
"
|
|
1273
|
-
"
|
|
1274
|
-
"
|
|
1275
|
-
"
|
|
1625
|
+
"review": {
|
|
1626
|
+
"cancel": "Annuler",
|
|
1627
|
+
"change": "{before} → {after}",
|
|
1628
|
+
"close": "Fermer",
|
|
1629
|
+
"confirm": "Enregistrer les modifications",
|
|
1630
|
+
"hidden": "Masqué",
|
|
1631
|
+
"off": "Désactivé",
|
|
1632
|
+
"on": "Activé",
|
|
1633
|
+
"shown": "Affiché",
|
|
1634
|
+
"subtitle": "Vérifiez vos modifications avant d’enregistrer.",
|
|
1635
|
+
"title": "Enregistrer les paramètres de l’espace de travail"
|
|
1276
1636
|
},
|
|
1277
|
-
"
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
"
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1637
|
+
"save": "Enregistrer les modifications",
|
|
1638
|
+
"saveFailed": "Impossible d’enregistrer les paramètres de l’espace de travail. Réessayez.",
|
|
1639
|
+
"saved": "Paramètres de l’espace de travail mis à jour",
|
|
1640
|
+
"security": {
|
|
1641
|
+
"allowSignup": {
|
|
1642
|
+
"desc": "N’importe qui peut créer un compte — désactivé, l’espace de travail reste sur invitation uniquement.",
|
|
1643
|
+
"label": "Autoriser l’auto-inscription"
|
|
1644
|
+
},
|
|
1645
|
+
"heading": "Sécurité",
|
|
1646
|
+
"passwordMin": {
|
|
1647
|
+
"error": "Entre {min, number} et {max, number} caractères.",
|
|
1648
|
+
"label": "Longueur minimale du mot de passe"
|
|
1649
|
+
},
|
|
1650
|
+
"require2fa": {
|
|
1651
|
+
"desc": "Chaque membre doit activer la 2FA pour se connecter.",
|
|
1652
|
+
"label": "Exiger l’authentification à deux facteurs",
|
|
1653
|
+
"note": "Indicatif, pas bloquant : les membres sans 2FA sont dirigés vers sa configuration et ne peuvent plus la désactiver, mais leur connexion n’est jamais bloquée, et les clés API ne sont pas concernées."
|
|
1654
|
+
},
|
|
1655
|
+
"sessionTtl": {
|
|
1656
|
+
"error": "Entre {min, number} et {max, number} heures.",
|
|
1657
|
+
"label": "Durée de session (heures)"
|
|
1658
|
+
}
|
|
1659
|
+
},
|
|
1660
|
+
"storageCard": {
|
|
1661
|
+
"body": "Choisissez où vivent les fichiers téléversés, les exports et les autres octets stockés — ce serveur, un bucket ou votre propre serveur.",
|
|
1662
|
+
"cta": "Ouvrir le stockage",
|
|
1663
|
+
"heading": "Stockage"
|
|
1664
|
+
},
|
|
1665
|
+
"subtitle": "Identité, sécurité et actions destructrices pour cet espace de travail.",
|
|
1666
|
+
"superAdminOnly": "Seul un super administrateur peut modifier l’identité et les paramètres de sécurité de l’espace de travail.",
|
|
1667
|
+
"superAdminOnlyTitle": "Super administrateur requis",
|
|
1668
|
+
"title": "Paramètres de l’espace de travail",
|
|
1669
|
+
"translationsCard": {
|
|
1670
|
+
"body": "Reformulez n’importe quel texte d’Adminium, choisissez les langues proposées et ajoutez les vôtres.",
|
|
1671
|
+
"cta": "Ouvrir les traductions",
|
|
1672
|
+
"heading": "Langues et traductions"
|
|
1285
1673
|
}
|
|
1674
|
+
},
|
|
1675
|
+
"source": {
|
|
1676
|
+
"dsn": {
|
|
1677
|
+
"helper": "postgres://utilisateur:motdepasse@hote:5432/base — mysql:// et sqlite: fonctionnent aussi.",
|
|
1678
|
+
"incomplete": "Ajoutez l’hôte et la base, p. ex. postgres://user@host:5432/db",
|
|
1679
|
+
"invalidScheme": "Schéma non reconnu — attendu : postgres://, mysql://, mariadb:// ou sqlite:",
|
|
1680
|
+
"label": "Chaîne de connexion",
|
|
1681
|
+
"quickFill": "Remplissage rapide :"
|
|
1682
|
+
},
|
|
1683
|
+
"engine": {
|
|
1684
|
+
"label": "Moteur de base de données",
|
|
1685
|
+
"mysql": "MySQL / MariaDB",
|
|
1686
|
+
"postgres": "PostgreSQL",
|
|
1687
|
+
"sqlite": "SQLite"
|
|
1688
|
+
},
|
|
1689
|
+
"fields": {
|
|
1690
|
+
"database": "Base de données",
|
|
1691
|
+
"host": "Hôte",
|
|
1692
|
+
"password": "Mot de passe",
|
|
1693
|
+
"port": "Port",
|
|
1694
|
+
"preview": "Aperçu de la chaîne de connexion :",
|
|
1695
|
+
"ssl": "Mode SSL",
|
|
1696
|
+
"user": "Utilisateur"
|
|
1697
|
+
},
|
|
1698
|
+
"file": {
|
|
1699
|
+
"columns": "colonnes",
|
|
1700
|
+
"detectedAs": "Détecté : {format}",
|
|
1701
|
+
"dropHint": "SQL DDL / pg_dump, Prisma, Drizzle, TypeORM, Sequelize, Rails schema.rb, modèles Django, Adminium JSON",
|
|
1702
|
+
"dropTitle": "Déposez votre fichier de schéma ici, ou parcourez",
|
|
1703
|
+
"errorTitle": "Impossible d’analyser le fichier",
|
|
1704
|
+
"moreWarnings": "+{count} avertissements supplémentaires — la liste complète apparaît à l’étape d’analyse.",
|
|
1705
|
+
"parseFailed": "Nous n’avons pas pu analyser ce fichier. Si la détection automatique s’est trompée, choisissez le format explicitement et réessayez.",
|
|
1706
|
+
"parsing": "Lecture du fichier de schéma téléversé…",
|
|
1707
|
+
"pitch": "Aucune connexion à la base requise — nous analysons votre fichier de schéma et construisons les mêmes tableaux de bord.",
|
|
1708
|
+
"requestFailed": "Échec du téléversement — vérifiez votre connexion et réessayez.",
|
|
1709
|
+
"tables": "tables",
|
|
1710
|
+
"unsupported": "Format non reconnu — SQL DDL, Prisma, Drizzle, TypeORM, Sequelize, Rails schema.rb, modèles Django et Adminium JSON sont pris en charge. Choisissez-en un explicitement et réessayez.",
|
|
1711
|
+
"warnings": "avertissements"
|
|
1712
|
+
},
|
|
1713
|
+
"format": {
|
|
1714
|
+
"auto": "Détection automatique",
|
|
1715
|
+
"django": "models.py Django",
|
|
1716
|
+
"drizzle": "Drizzle ORM",
|
|
1717
|
+
"helper": "Laissez la détection automatique, sauf si elle se trompe.",
|
|
1718
|
+
"json": "JSON Adminium",
|
|
1719
|
+
"label": "Format du schéma",
|
|
1720
|
+
"prisma": "Schéma Prisma",
|
|
1721
|
+
"rails": "schema.rb Rails",
|
|
1722
|
+
"sequelize": "Modèles Sequelize",
|
|
1723
|
+
"sql": "DDL SQL / pg_dump",
|
|
1724
|
+
"typeorm": "Entités TypeORM"
|
|
1725
|
+
},
|
|
1726
|
+
"mode": {
|
|
1727
|
+
"dsn": "Chaîne de connexion",
|
|
1728
|
+
"fields": "Champs individuels",
|
|
1729
|
+
"file": "Fichier de schéma"
|
|
1730
|
+
},
|
|
1731
|
+
"modeLabel": "Mode de saisie de la source",
|
|
1732
|
+
"name": "Nom de la connexion",
|
|
1733
|
+
"namePlaceholder": "Postgres de production",
|
|
1734
|
+
"readOnlyRole": {
|
|
1735
|
+
"body": "Lors de la configuration, Adminium ne lit que les métadonnées du schéma — jamais vos lignes. Nous recommandons un utilisateur dédié avec des droits SELECT uniquement ; vous choisirez où Adminium conserve ses propres tables à l’étape de stockage des métadonnées.",
|
|
1736
|
+
"title": "Utilisez un rôle en lecture seule"
|
|
1737
|
+
},
|
|
1738
|
+
"sqlite": {
|
|
1739
|
+
"file": "Chemin du fichier de base de données",
|
|
1740
|
+
"helper": "SQLite est un fichier, pas un serveur — indiquez le chemin absolu sur la machine qui exécute Adminium."
|
|
1741
|
+
},
|
|
1742
|
+
"subtitle": "Pointez Adminium vers une base de données et nous générerons un tableau de bord d’administration à partir de son schéma.",
|
|
1743
|
+
"title": "Connectez votre base de données"
|
|
1744
|
+
},
|
|
1745
|
+
"storage": {
|
|
1746
|
+
"actionFailed": "Cela n’a pas fonctionné",
|
|
1747
|
+
"add": "Ajouter une destination",
|
|
1748
|
+
"availableOnDisk": "{size} disponibles sur ce disque",
|
|
1749
|
+
"default": "Par défaut",
|
|
1750
|
+
"defaultBlockedByDisabled": "Une destination désactivée ne peut pas être la destination par défaut. Activez-la d’abord.",
|
|
1751
|
+
"delete": {
|
|
1752
|
+
"blockedBody": "{name} contient encore {count, plural, one {# fichier} other {# fichiers}}. Déplacez-les d’abord vers une autre destination, puis supprimez-la.",
|
|
1753
|
+
"blockedTitle": "Cette destination contient encore des fichiers",
|
|
1754
|
+
"body": "Adminium oublie {name} et ses identifiants. Rien de ce qui y est stocké n’est touché — le bucket ou le serveur vous appartient, et des fichiers encore enregistrés sur cette destination feront échouer la suppression.",
|
|
1755
|
+
"confirm": "Supprimer la destination",
|
|
1756
|
+
"title": "Supprimer cette destination"
|
|
1757
|
+
},
|
|
1758
|
+
"deleteButton": "Supprimer",
|
|
1759
|
+
"disable": "Désactiver",
|
|
1760
|
+
"disabled": "Désactivée",
|
|
1761
|
+
"driver": {
|
|
1762
|
+
"local": "Un chemin sur cette machine",
|
|
1763
|
+
"s3": "Bucket compatible S3",
|
|
1764
|
+
"webdav": "Serveur WebDAV"
|
|
1765
|
+
},
|
|
1766
|
+
"edit": "Modifier",
|
|
1767
|
+
"editor": {
|
|
1768
|
+
"createTitle": "Ajouter une destination",
|
|
1769
|
+
"editTitle": "Modifier la destination",
|
|
1770
|
+
"subtitle": "Adminium lit et écrit à travers cette destination en votre nom ; c’est une infrastructure que vous contrôlez."
|
|
1771
|
+
},
|
|
1772
|
+
"enable": "Activer",
|
|
1773
|
+
"field": {
|
|
1774
|
+
"accessKeyId": "Identifiant de clé d’accès",
|
|
1775
|
+
"bucket": "Bucket",
|
|
1776
|
+
"driver": "Type",
|
|
1777
|
+
"driverLocked": "Changer le type d’une destination qui contient déjà des fichiers rendrait ces fichiers inaccessibles.",
|
|
1778
|
+
"endpoint": "Point de terminaison",
|
|
1779
|
+
"endpointDerived": "Laissez vide pour AWS lui-même — le point de terminaison découle de la région.",
|
|
1780
|
+
"name": "Nom",
|
|
1781
|
+
"namePlaceholder": "Bucket des téléversements",
|
|
1782
|
+
"password": "Mot de passe",
|
|
1783
|
+
"pathStyle": "Adressage par chemin",
|
|
1784
|
+
"pathStyleToggle": "Adresser le bucket comme un chemin plutôt que comme un nom d’hôte",
|
|
1785
|
+
"prefix": "Préfixe",
|
|
1786
|
+
"prefixHelper": "Un dossier à l’intérieur de la destination. Deux destinations sur un même bucket qui ne diffèrent que par ce champ partagent le bucket sans partager d’espace de noms.",
|
|
1787
|
+
"preset": "Fournisseur",
|
|
1788
|
+
"presetHelper": "Renseigne le point de terminaison, la région et le style d’adressage. Ce que le fournisseur ne peut pas savoir de votre compte reste vide, à vous de le saisir.",
|
|
1789
|
+
"publicBaseUrl": "URL de base publique",
|
|
1790
|
+
"publicBaseUrlHelper": "Facultatif. L’endroit où ces objets sont lisibles sans Adminium — un CDN devant un bucket public. Utilisé uniquement lorsqu’une colonne stocke un lien.",
|
|
1791
|
+
"region": "Région",
|
|
1792
|
+
"root": "Répertoire",
|
|
1793
|
+
"rootHelper": "Un chemin absolu dans lequel ce serveur peut écrire — un volume monté ou un partage réseau. Pas le répertoire par défaut, qui figure déjà en première ligne de la liste.",
|
|
1794
|
+
"secretAccessKey": "Clé d’accès secrète",
|
|
1795
|
+
"secretKept": "Une clé est enregistrée. Laissez les deux champs vides pour la conserver ; remplissez-les tous les deux pour la remplacer.",
|
|
1796
|
+
"url": "URL de la collection",
|
|
1797
|
+
"urlHelper": "La collection dans laquelle Adminium écrit, telle que votre serveur la publie.",
|
|
1798
|
+
"username": "Nom d’utilisateur"
|
|
1799
|
+
},
|
|
1800
|
+
"fileCount": "{count, plural, one {# fichier} other {# fichiers}}",
|
|
1801
|
+
"kind": {
|
|
1802
|
+
"archive": "Lots archivés du journal d’audit",
|
|
1803
|
+
"branding": "Le logo de l’espace de travail",
|
|
1804
|
+
"export": "Fichiers issus des exports de données",
|
|
1805
|
+
"import": "CSV téléversés et leurs rapports d’erreurs",
|
|
1806
|
+
"schema": "Fichiers de schéma importés",
|
|
1807
|
+
"upload": "Fichiers joints à des enregistrements"
|
|
1808
|
+
},
|
|
1809
|
+
"list": {
|
|
1810
|
+
"subtitle": "Les nouveaux fichiers vont vers la destination par défaut. Les fichiers existants restent où ils sont tant que vous ne les déplacez pas.",
|
|
1811
|
+
"title": "Destinations"
|
|
1812
|
+
},
|
|
1813
|
+
"loadFailed": {
|
|
1814
|
+
"forbidden": "Changer l’endroit où les fichiers sont stockés requiert l’autorisation « Gérer le stockage ». Demandez à un administrateur de l’attribuer à l’un de vos rôles.",
|
|
1815
|
+
"title": "Impossible de charger les destinations"
|
|
1816
|
+
},
|
|
1817
|
+
"localDisk": "Le disque de ce serveur",
|
|
1818
|
+
"move": {
|
|
1819
|
+
"from": "Depuis",
|
|
1820
|
+
"kinds": "Limiter à",
|
|
1821
|
+
"kindsHelp": "Ne cochez rien pour tous les déplacer. Les téléversements sont les fichiers que les gens joignent ; le reste, ce sont les artefacts produits par Adminium.",
|
|
1822
|
+
"open": "Déplacer des fichiers…",
|
|
1823
|
+
"start": "Démarrer le déplacement",
|
|
1824
|
+
"startedBody": "Il s’exécute en arrière-plan sous la tâche {jobId} et se poursuit même si vous quittez cette page. Les compteurs ci-dessous évoluent à mesure que les fichiers arrivent — rechargez la page pour les voir.",
|
|
1825
|
+
"startedTitle": "Le déplacement a commencé",
|
|
1826
|
+
"subtitle": "Copie tous les fichiers d’une destination vers une autre, puis oublie l’ancienne copie. Les téléchargements continuent de fonctionner pendant toute l’opération.",
|
|
1827
|
+
"title": "Déplacer des fichiers",
|
|
1828
|
+
"to": "Vers"
|
|
1829
|
+
},
|
|
1830
|
+
"preset": {
|
|
1831
|
+
"aws": "AWS S3",
|
|
1832
|
+
"b2": "Backblaze B2",
|
|
1833
|
+
"minio": "MinIO ou un autre serveur compatible S3",
|
|
1834
|
+
"r2": "Cloudflare R2",
|
|
1835
|
+
"spaces": "DigitalOcean Spaces",
|
|
1836
|
+
"tigris": "Tigris",
|
|
1837
|
+
"wasabi": "Wasabi"
|
|
1838
|
+
},
|
|
1839
|
+
"save": "Enregistrer la destination",
|
|
1840
|
+
"secret": {
|
|
1841
|
+
"partialBody": "Remplissez les deux champs pour remplacer les identifiants enregistrés, ou videz-les tous les deux pour les conserver. N’en enregistrer qu’un seul conserverait discrètement les anciens.",
|
|
1842
|
+
"partialTitle": "Des identifiants à moitié saisis n’en sont pas"
|
|
1843
|
+
},
|
|
1844
|
+
"setDefault": "Définir par défaut",
|
|
1845
|
+
"status": {
|
|
1846
|
+
"error": "Injoignable",
|
|
1847
|
+
"ok": "Joignable",
|
|
1848
|
+
"untested": "Non testée"
|
|
1849
|
+
},
|
|
1850
|
+
"subtitle": "L’endroit où cette instance conserve les fichiers téléversés, les exports et les autres octets stockés.",
|
|
1851
|
+
"test": {
|
|
1852
|
+
"button": "Tester",
|
|
1853
|
+
"failed": "Impossible de joindre cette destination",
|
|
1854
|
+
"ok": "Atteinte en {ms} ms",
|
|
1855
|
+
"unreachable": "Le test n’a pas pu être exécuté"
|
|
1856
|
+
},
|
|
1857
|
+
"title": "Stockage",
|
|
1858
|
+
"usedBytes": "{size} utilisés"
|
|
1859
|
+
},
|
|
1860
|
+
"tables": {
|
|
1861
|
+
"emptyFilter": "Aucune table ne correspond à votre filtre.",
|
|
1862
|
+
"highVolume": "gros volume",
|
|
1863
|
+
"highVolumeNote": "Les tables de plus de 100 000 lignes démarrent décochées — les tables techniques ont rarement leur place dans un tableau de bord.",
|
|
1864
|
+
"importNoCounts": "Les fichiers de schéma ne contiennent pas de nombres de lignes — la colonne affiche — tant qu’aucune base réelle n’est connectée.",
|
|
1865
|
+
"joinHidden": "{count} tables de jointure/système sont masquées d’avance — elles alimentent toujours les relations plusieurs-à-plusieurs.",
|
|
1866
|
+
"listLabel": "Tables incluables",
|
|
1867
|
+
"pii": "PII",
|
|
1868
|
+
"search": "Filtrer les tables…",
|
|
1869
|
+
"subtitle": "Choisissez lesquelles inclure. Vous pourrez en changer à tout moment.",
|
|
1870
|
+
"title": "Choisissez vos tables"
|
|
1871
|
+
},
|
|
1872
|
+
"test": {
|
|
1873
|
+
"errorTitle": "Échec de la connexion",
|
|
1874
|
+
"hint": {
|
|
1875
|
+
"auth": "Échec de l’authentification — vérifiez le nom d’utilisateur et le mot de passe dans votre DSN.",
|
|
1876
|
+
"hostUnreachable": "Hôte injoignable — vérifiez le nom d’hôte et le port, et que la base accepte les connexions depuis cette machine (ajoutez nos IP à la liste d’autorisation).",
|
|
1877
|
+
"metaPlacement": "Cette source ne peut pas héberger les tables méta d’Adminium — continuez avec une base méta séparée.",
|
|
1878
|
+
"permission": "Le rôle s’est connecté mais n’a pas les droits de lecture du schéma — accordez USAGE sur le schéma à votre rôle d’introspection.",
|
|
1879
|
+
"timeout": "La base n’a pas répondu à temps — vérifiez le chemin réseau et la charge, puis réessayez.",
|
|
1880
|
+
"tls": "Échec de la négociation TLS — essayez sslmode=require, ou téléversez le certificat CA attendu par votre serveur.",
|
|
1881
|
+
"unknown": "Échec de la connexion — vérifiez la DSN et réessayez."
|
|
1882
|
+
},
|
|
1883
|
+
"log": {
|
|
1884
|
+
"connectFailed": "Échec de la connexion.",
|
|
1885
|
+
"connected": "Connecté ({latency} ms) · introspection en lecture seule",
|
|
1886
|
+
"connecting": "Établissement d’une connexion sécurisée…",
|
|
1887
|
+
"detected": "{tables} tables · {columns} colonnes détectées",
|
|
1888
|
+
"found": "{tables} tables · {columns} colonnes trouvées",
|
|
1889
|
+
"jobFailed": "Échec de l’introspection.",
|
|
1890
|
+
"mapping": "Correspondance des types de colonnes → widgets de saisie",
|
|
1891
|
+
"moreWarnings": "+{count} avertissements du parseur supplémentaires",
|
|
1892
|
+
"networkFailed": "Échec de la requête — vérifiez votre connexion et réessayez.",
|
|
1893
|
+
"parsingFile": "Analyse de {file}…",
|
|
1894
|
+
"piiDone": "Analyse PII terminée — {count} colonnes masquées par défaut",
|
|
1895
|
+
"piiDoneUnknown": "Analyse PII terminée",
|
|
1896
|
+
"piiScan": "Recherche de colonnes PII…",
|
|
1897
|
+
"readingFile": "Lecture du fichier de schéma téléversé…",
|
|
1898
|
+
"readingSchema": "Lecture du schéma : public",
|
|
1899
|
+
"ready": "Prêt",
|
|
1900
|
+
"relations": "Détection des relations…"
|
|
1901
|
+
},
|
|
1902
|
+
"logLabel": "Journal d’introspection",
|
|
1903
|
+
"retry": "Réessayer",
|
|
1904
|
+
"subtitle": "Introspection des tables, colonnes et relations. Cela prend quelques secondes.",
|
|
1905
|
+
"title": "Analyse de votre schéma",
|
|
1906
|
+
"trust": "Nous ne faisons que lire votre schéma et vos données. Rien n’est modifié."
|
|
1907
|
+
},
|
|
1908
|
+
"title": "Studio",
|
|
1909
|
+
"wizard": {
|
|
1910
|
+
"back": "Retour",
|
|
1911
|
+
"bridgeAppliedBody": "Transmise depuis adminium.dev par votre navigateur — elle est allée directement à cette machine et n’a jamais été téléversée. Vérifiez-la ci-dessous, puis continuez.",
|
|
1912
|
+
"bridgeAppliedTitle": "Chaîne de connexion reçue",
|
|
1913
|
+
"bridgeFailedBody": "Il a déjà été utilisé ou a expiré. Collez plutôt votre chaîne de connexion ci-dessous.",
|
|
1914
|
+
"bridgeFailedTitle": "Ce transfert n’a pas pu être utilisé",
|
|
1915
|
+
"continue": "Continuer",
|
|
1916
|
+
"persistFailed": "Impossible d’enregistrer votre sélection de tables — réessayez.",
|
|
1917
|
+
"persistFailedTitle": "Échec de l’enregistrement",
|
|
1918
|
+
"progress": "Progression de la configuration",
|
|
1919
|
+
"step": {
|
|
1920
|
+
"enrich": "Enrichir",
|
|
1921
|
+
"generate": "Générer",
|
|
1922
|
+
"intent": "Intention",
|
|
1923
|
+
"meta": "Stockage méta",
|
|
1924
|
+
"source": "Source",
|
|
1925
|
+
"tables": "Tables",
|
|
1926
|
+
"test": "Analyser"
|
|
1927
|
+
},
|
|
1928
|
+
"title": "Nouvelle connexion"
|
|
1286
1929
|
}
|
|
1287
1930
|
}
|