react-cheminfo 0.24.0 → 0.26.0
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/README.md +73 -2
- package/bin/check-messages.mjs +229 -0
- package/lib/about/ui/AboutBuild.d.ts.map +1 -1
- package/lib/about/ui/AboutBuild.js +15 -4
- package/lib/about/ui/AboutBuild.js.map +1 -1
- package/lib/about/ui/AboutCitations.d.ts.map +1 -1
- package/lib/about/ui/AboutCitations.js +3 -1
- package/lib/about/ui/AboutCitations.js.map +1 -1
- package/lib/about/ui/AboutPage.d.ts.map +1 -1
- package/lib/about/ui/AboutPage.js +9 -1
- package/lib/about/ui/AboutPage.js.map +1 -1
- package/lib/about/ui/AboutProvidedBy.d.ts.map +1 -1
- package/lib/about/ui/AboutProvidedBy.js +8 -3
- package/lib/about/ui/AboutProvidedBy.js.map +1 -1
- package/lib/capsule/ui/Capsule.d.ts +30 -0
- package/lib/capsule/ui/Capsule.d.ts.map +1 -0
- package/lib/capsule/ui/Capsule.js +12 -0
- package/lib/capsule/ui/Capsule.js.map +1 -0
- package/lib/capsule/ui/CapsuleFilter.d.ts +19 -3
- package/lib/capsule/ui/CapsuleFilter.d.ts.map +1 -1
- package/lib/capsule/ui/CapsuleFilter.js +14 -44
- package/lib/capsule/ui/CapsuleFilter.js.map +1 -1
- package/lib/capsule/ui/capsuleFilterCapsules.d.ts +15 -0
- package/lib/capsule/ui/capsuleFilterCapsules.d.ts.map +1 -0
- package/lib/capsule/ui/capsuleFilterCapsules.js +47 -0
- package/lib/capsule/ui/capsuleFilterCapsules.js.map +1 -0
- package/lib/chart/ui/ChartTrackingLayer.d.ts.map +1 -1
- package/lib/chart/ui/ChartTrackingLayer.js +4 -2
- package/lib/chart/ui/ChartTrackingLayer.js.map +1 -1
- package/lib/chrome/ui/SiteHeader.d.ts +1 -1
- package/lib/chrome/ui/SiteHeader.d.ts.map +1 -1
- package/lib/chrome/ui/SiteHeader.js +4 -2
- package/lib/chrome/ui/SiteHeader.js.map +1 -1
- package/lib/citation/ui/CitationMenu.d.ts +1 -1
- package/lib/citation/ui/CitationMenu.d.ts.map +1 -1
- package/lib/citation/ui/CitationMenu.js +7 -3
- package/lib/citation/ui/CitationMenu.js.map +1 -1
- package/lib/citation/ui/CiteButton.d.ts +1 -1
- package/lib/citation/ui/CiteButton.d.ts.map +1 -1
- package/lib/citation/ui/CiteButton.js +3 -1
- package/lib/citation/ui/CiteButton.js.map +1 -1
- package/lib/citation/ui/CopyFormatEntries.d.ts.map +1 -1
- package/lib/citation/ui/CopyFormatEntries.js +3 -1
- package/lib/citation/ui/CopyFormatEntries.js.map +1 -1
- package/lib/citation/ui/WorkEntry.d.ts.map +1 -1
- package/lib/citation/ui/WorkEntry.js +3 -1
- package/lib/citation/ui/WorkEntry.js.map +1 -1
- package/lib/citation/ui/entries.d.ts.map +1 -1
- package/lib/citation/ui/entries.js +8 -2
- package/lib/citation/ui/entries.js.map +1 -1
- package/lib/citation/ui/useCopyFeedback.d.ts.map +1 -1
- package/lib/citation/ui/useCopyFeedback.js +9 -4
- package/lib/citation/ui/useCopyFeedback.js.map +1 -1
- package/lib/clipboard/ui/ClickToCopy.d.ts.map +1 -1
- package/lib/clipboard/ui/ClickToCopy.js +12 -6
- package/lib/clipboard/ui/ClickToCopy.js.map +1 -1
- package/lib/clipboard/ui/CopyButton.d.ts +3 -3
- package/lib/clipboard/ui/CopyButton.d.ts.map +1 -1
- package/lib/clipboard/ui/CopyButton.js +7 -4
- package/lib/clipboard/ui/CopyButton.js.map +1 -1
- package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleEditor.js +15 -10
- package/lib/color/ui/ColorScaleEditor.js.map +1 -1
- package/lib/color/ui/ColorScaleEntry.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleEntry.js +4 -2
- package/lib/color/ui/ColorScaleEntry.js.map +1 -1
- package/lib/color/ui/ColorScaleLegend.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleLegend.js +7 -1
- package/lib/color/ui/ColorScaleLegend.js.map +1 -1
- package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleSelect.js +8 -4
- package/lib/color/ui/ColorScaleSelect.js.map +1 -1
- package/lib/confirm/ui/ConfirmButton.d.ts +2 -2
- package/lib/confirm/ui/ConfirmButton.d.ts.map +1 -1
- package/lib/confirm/ui/ConfirmButton.js +4 -2
- package/lib/confirm/ui/ConfirmButton.js.map +1 -1
- package/lib/core.d.ts +1 -0
- package/lib/core.d.ts.map +1 -1
- package/lib/core.js +1 -0
- package/lib/core.js.map +1 -1
- package/lib/credits/ui/CreditsList.d.ts.map +1 -1
- package/lib/credits/ui/CreditsList.js +3 -1
- package/lib/credits/ui/CreditsList.js.map +1 -1
- package/lib/delimited/ui/DelimitedTextDialog.d.ts.map +1 -1
- package/lib/delimited/ui/DelimitedTextDialog.js +5 -2
- package/lib/delimited/ui/DelimitedTextDialog.js.map +1 -1
- package/lib/delimited/ui/DelimitedTextPanel.d.ts.map +1 -1
- package/lib/delimited/ui/DelimitedTextPanel.js +8 -8
- package/lib/delimited/ui/DelimitedTextPanel.js.map +1 -1
- package/lib/download/ui/FigureDownload.d.ts +2 -2
- package/lib/download/ui/FigureDownload.d.ts.map +1 -1
- package/lib/download/ui/FigureDownload.js +4 -2
- package/lib/download/ui/FigureDownload.js.map +1 -1
- package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -1
- package/lib/download/ui/FigureDownloadPanel.js +24 -18
- package/lib/download/ui/FigureDownloadPanel.js.map +1 -1
- package/lib/ecosystem/core/sites.d.ts.map +1 -1
- package/lib/ecosystem/core/sites.js +4 -2
- package/lib/ecosystem/core/sites.js.map +1 -1
- package/lib/ecosystem/ui/EcosystemButton.d.ts +1 -1
- package/lib/ecosystem/ui/EcosystemButton.d.ts.map +1 -1
- package/lib/ecosystem/ui/EcosystemButton.js +4 -2
- package/lib/ecosystem/ui/EcosystemButton.js.map +1 -1
- package/lib/ecosystem/ui/EcosystemLinks.d.ts +1 -1
- package/lib/ecosystem/ui/EcosystemLinks.d.ts.map +1 -1
- package/lib/ecosystem/ui/EcosystemLinks.js +5 -2
- package/lib/ecosystem/ui/EcosystemLinks.js.map +1 -1
- package/lib/ecosystem/ui/EcosystemMenu.d.ts.map +1 -1
- package/lib/ecosystem/ui/EcosystemMenu.js +3 -1
- package/lib/ecosystem/ui/EcosystemMenu.js.map +1 -1
- package/lib/ecosystem/ui/SiteGroupSection.d.ts.map +1 -1
- package/lib/ecosystem/ui/SiteGroupSection.js +3 -1
- package/lib/ecosystem/ui/SiteGroupSection.js.map +1 -1
- package/lib/ecosystem/ui/SiteTile.d.ts.map +1 -1
- package/lib/ecosystem/ui/SiteTile.js +3 -1
- package/lib/ecosystem/ui/SiteTile.js.map +1 -1
- package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
- package/lib/ecosystem/ui/glyphs.js +6 -5
- package/lib/ecosystem/ui/glyphs.js.map +1 -1
- package/lib/error/ui/ErrorFallback.d.ts +2 -2
- package/lib/error/ui/ErrorFallback.d.ts.map +1 -1
- package/lib/error/ui/ErrorFallback.js +4 -2
- package/lib/error/ui/ErrorFallback.js.map +1 -1
- package/lib/help/ui/HelpBody.d.ts.map +1 -1
- package/lib/help/ui/HelpBody.js +3 -1
- package/lib/help/ui/HelpBody.js.map +1 -1
- package/lib/help/ui/HelpIcon.d.ts +2 -1
- package/lib/help/ui/HelpIcon.d.ts.map +1 -1
- package/lib/help/ui/HelpIcon.js +4 -2
- package/lib/help/ui/HelpIcon.js.map +1 -1
- package/lib/help/ui/HelpToolbarButton.d.ts.map +1 -1
- package/lib/help/ui/HelpToolbarButton.js +3 -1
- package/lib/help/ui/HelpToolbarButton.js.map +1 -1
- package/lib/help/ui/helpName.d.ts +5 -1
- package/lib/help/ui/helpName.d.ts.map +1 -1
- package/lib/help/ui/helpName.js +4 -2
- package/lib/help/ui/helpName.js.map +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts +21 -0
- package/lib/i18n/core/chromeCatalog.d.ts.map +1 -0
- package/lib/i18n/core/chromeCatalog.js +29 -0
- package/lib/i18n/core/chromeCatalog.js.map +1 -0
- package/lib/i18n/core/index.d.ts +12 -0
- package/lib/i18n/core/index.d.ts.map +1 -0
- package/lib/i18n/core/index.js +6 -0
- package/lib/i18n/core/index.js.map +1 -0
- package/lib/i18n/core/languages.d.ts +32 -0
- package/lib/i18n/core/languages.d.ts.map +1 -0
- package/lib/i18n/core/languages.js +41 -0
- package/lib/i18n/core/languages.js.map +1 -0
- package/lib/i18n/core/messageCatalog.d.ts +113 -0
- package/lib/i18n/core/messageCatalog.d.ts.map +1 -0
- package/lib/i18n/core/messageCatalog.js +135 -0
- package/lib/i18n/core/messageCatalog.js.map +1 -0
- package/lib/i18n/core/messageValues.d.ts +3 -0
- package/lib/i18n/core/messageValues.d.ts.map +1 -0
- package/lib/i18n/core/messageValues.js +2 -0
- package/lib/i18n/core/messageValues.js.map +1 -0
- package/lib/i18n/core/session.d.ts +51 -0
- package/lib/i18n/core/session.d.ts.map +1 -0
- package/lib/i18n/core/session.js +64 -0
- package/lib/i18n/core/session.js.map +1 -0
- package/lib/i18n/core/translateSetup.d.ts +28 -0
- package/lib/i18n/core/translateSetup.d.ts.map +1 -0
- package/lib/i18n/core/translateSetup.js +30 -0
- package/lib/i18n/core/translateSetup.js.map +1 -0
- package/lib/i18n/ui/LanguageSelect.d.ts +37 -0
- package/lib/i18n/ui/LanguageSelect.d.ts.map +1 -0
- package/lib/i18n/ui/LanguageSelect.js +27 -0
- package/lib/i18n/ui/LanguageSelect.js.map +1 -0
- package/lib/i18n/ui/index.d.ts +6 -0
- package/lib/i18n/ui/index.d.ts.map +1 -0
- package/lib/i18n/ui/index.js +4 -0
- package/lib/i18n/ui/index.js.map +1 -0
- package/lib/i18n/ui/useLanguage.d.ts +23 -0
- package/lib/i18n/ui/useLanguage.d.ts.map +1 -0
- package/lib/i18n/ui/useLanguage.js +36 -0
- package/lib/i18n/ui/useLanguage.js.map +1 -0
- package/lib/i18n/ui/useT.d.ts +47 -0
- package/lib/i18n/ui/useT.d.ts.map +1 -0
- package/lib/i18n/ui/useT.js +51 -0
- package/lib/i18n/ui/useT.js.map +1 -0
- package/lib/locales/de.json +442 -0
- package/lib/locales/en.json +442 -0
- package/lib/locales/es.json +442 -0
- package/lib/locales/fr.json +442 -0
- package/lib/molecule3d/core/gestures.d.ts +10 -0
- package/lib/molecule3d/core/gestures.d.ts.map +1 -1
- package/lib/molecule3d/core/gestures.js +39 -7
- package/lib/molecule3d/core/gestures.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DExport.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DExport.js +3 -1
- package/lib/molecule3d/ui/Molecule3DExport.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DHelp.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DHelp.js +7 -2
- package/lib/molecule3d/ui/Molecule3DHelp.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DOptions.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DOptions.js +9 -9
- package/lib/molecule3d/ui/Molecule3DOptions.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.js +8 -8
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DToolbar.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DToolbar.js +15 -10
- package/lib/molecule3d/ui/Molecule3DToolbar.js.map +1 -1
- package/lib/molecule3d/ui/MoleculeViewer3D.d.ts.map +1 -1
- package/lib/molecule3d/ui/MoleculeViewer3D.js +6 -3
- package/lib/molecule3d/ui/MoleculeViewer3D.js.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.js +3 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.js.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalControls.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalControls.js +12 -15
- package/lib/orbital/ui/AtomicOrbitalControls.js.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalViewer.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalViewer.js +6 -3
- package/lib/orbital/ui/AtomicOrbitalViewer.js.map +1 -1
- package/lib/orbital/ui/capability.d.ts +4 -0
- package/lib/orbital/ui/capability.d.ts.map +1 -1
- package/lib/orbital/ui/capability.js +4 -0
- package/lib/orbital/ui/capability.js.map +1 -1
- package/lib/overlay/ui/OverlayBar.d.ts +1 -1
- package/lib/overlay/ui/OverlayBar.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayBar.js +6 -3
- package/lib/overlay/ui/OverlayBar.js.map +1 -1
- package/lib/overlay/ui/OverlayInfo.d.ts +1 -1
- package/lib/overlay/ui/OverlayInfo.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayInfo.js +5 -2
- package/lib/overlay/ui/OverlayInfo.js.map +1 -1
- package/lib/overlay/ui/OverlayPanel.d.ts +9 -2
- package/lib/overlay/ui/OverlayPanel.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayPanel.js +5 -11
- package/lib/overlay/ui/OverlayPanel.js.map +1 -1
- package/lib/overlay/ui/OverlayReadout.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayReadout.js +3 -1
- package/lib/overlay/ui/OverlayReadout.js.map +1 -1
- package/lib/pedagogy/ui/ExerciseActions.d.ts +1 -1
- package/lib/pedagogy/ui/ExerciseActions.d.ts.map +1 -1
- package/lib/pedagogy/ui/ExerciseActions.js +9 -2
- package/lib/pedagogy/ui/ExerciseActions.js.map +1 -1
- package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts +1 -1
- package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts.map +1 -1
- package/lib/pedagogy/ui/ExerciseProgressHeader.js +9 -5
- package/lib/pedagogy/ui/ExerciseProgressHeader.js.map +1 -1
- package/lib/pedagogy/ui/GlossaryIndex.d.ts +1 -1
- package/lib/pedagogy/ui/GlossaryIndex.d.ts.map +1 -1
- package/lib/pedagogy/ui/GlossaryIndex.js +6 -8
- package/lib/pedagogy/ui/GlossaryIndex.js.map +1 -1
- package/lib/pedagogy/ui/HintLadder.d.ts +2 -2
- package/lib/pedagogy/ui/HintLadder.d.ts.map +1 -1
- package/lib/pedagogy/ui/HintLadder.js +8 -2
- package/lib/pedagogy/ui/HintLadder.js.map +1 -1
- package/lib/pedagogy/ui/SyntaxTooltip.d.ts +4 -4
- package/lib/pedagogy/ui/SyntaxTooltip.d.ts.map +1 -1
- package/lib/pedagogy/ui/SyntaxTooltip.js +4 -2
- package/lib/pedagogy/ui/SyntaxTooltip.js.map +1 -1
- package/lib/pedagogy/ui/TutorialStepStrip.d.ts.map +1 -1
- package/lib/pedagogy/ui/TutorialStepStrip.js +7 -2
- package/lib/pedagogy/ui/TutorialStepStrip.js.map +1 -1
- package/lib/periodic/ui/CategoryLegend.d.ts.map +1 -1
- package/lib/periodic/ui/CategoryLegend.js +3 -1
- package/lib/periodic/ui/CategoryLegend.js.map +1 -1
- package/lib/periodic/ui/ElementCell.d.ts.map +1 -1
- package/lib/periodic/ui/ElementCell.js +7 -1
- package/lib/periodic/ui/ElementCell.js.map +1 -1
- package/lib/periodic/ui/PeriodicTable.d.ts.map +1 -1
- package/lib/periodic/ui/PeriodicTable.js +3 -1
- package/lib/periodic/ui/PeriodicTable.js.map +1 -1
- package/lib/periodic/ui/PeriodicTableChrome.d.ts.map +1 -1
- package/lib/periodic/ui/PeriodicTableChrome.js +4 -2
- package/lib/periodic/ui/PeriodicTableChrome.js.map +1 -1
- package/lib/share/ui/ShareButton.d.ts +2 -2
- package/lib/share/ui/ShareButton.d.ts.map +1 -1
- package/lib/share/ui/ShareButton.js +5 -2
- package/lib/share/ui/ShareButton.js.map +1 -1
- package/lib/share/ui/ShareConfigOptions.d.ts.map +1 -1
- package/lib/share/ui/ShareConfigOptions.js +4 -2
- package/lib/share/ui/ShareConfigOptions.js.map +1 -1
- package/lib/share/ui/ShareDialog.d.ts.map +1 -1
- package/lib/share/ui/ShareDialog.js +3 -1
- package/lib/share/ui/ShareDialog.js.map +1 -1
- package/lib/share/ui/ShareDialogContent.d.ts.map +1 -1
- package/lib/share/ui/ShareDialogContent.js +10 -1
- package/lib/share/ui/ShareDialogContent.js.map +1 -1
- package/lib/share/ui/SharePresetTabs.d.ts.map +1 -1
- package/lib/share/ui/SharePresetTabs.js +3 -1
- package/lib/share/ui/SharePresetTabs.js.map +1 -1
- package/lib/slides/ui/BackToSlides.d.ts.map +1 -1
- package/lib/slides/ui/BackToSlides.js +4 -2
- package/lib/slides/ui/BackToSlides.js.map +1 -1
- package/lib/slides/ui/EmbedSlide.d.ts.map +1 -1
- package/lib/slides/ui/EmbedSlide.js +3 -1
- package/lib/slides/ui/EmbedSlide.js.map +1 -1
- package/lib/slides/ui/Slide.d.ts.map +1 -1
- package/lib/slides/ui/Slide.js +3 -1
- package/lib/slides/ui/Slide.js.map +1 -1
- package/lib/slides/ui/SlideshowBar.d.ts.map +1 -1
- package/lib/slides/ui/SlideshowBar.js +5 -3
- package/lib/slides/ui/SlideshowBar.js.map +1 -1
- package/lib/slides/ui/TalkList.d.ts +1 -1
- package/lib/slides/ui/TalkList.d.ts.map +1 -1
- package/lib/slides/ui/TalkList.js +4 -2
- package/lib/slides/ui/TalkList.js.map +1 -1
- package/lib/structure/core/editorGuide.d.ts +14 -0
- package/lib/structure/core/editorGuide.d.ts.map +1 -1
- package/lib/structure/core/editorGuide.js +117 -19
- package/lib/structure/core/editorGuide.js.map +1 -1
- package/lib/structure/core/editorToolbar.d.ts +3 -1
- package/lib/structure/core/editorToolbar.d.ts.map +1 -1
- package/lib/structure/core/editorToolbar.js +44 -23
- package/lib/structure/core/editorToolbar.js.map +1 -1
- package/lib/structure/ui/EditorHelpButton.d.ts.map +1 -1
- package/lib/structure/ui/EditorHelpButton.js +3 -2
- package/lib/structure/ui/EditorHelpButton.js.map +1 -1
- package/lib/structure/ui/StructureEditor.d.ts.map +1 -1
- package/lib/structure/ui/StructureEditor.js +3 -1
- package/lib/structure/ui/StructureEditor.js.map +1 -1
- package/lib/structure/ui/StructureEditorHelp.d.ts.map +1 -1
- package/lib/structure/ui/StructureEditorHelp.js +12 -3
- package/lib/structure/ui/StructureEditorHelp.js.map +1 -1
- package/lib/structure/ui/ToolbarTooltip.d.ts.map +1 -1
- package/lib/structure/ui/ToolbarTooltip.js +5 -3
- package/lib/structure/ui/ToolbarTooltip.js.map +1 -1
- package/lib/translate/core/index.d.ts +1 -1
- package/lib/translate/core/index.d.ts.map +1 -1
- package/lib/translate/core/start.d.ts +35 -2
- package/lib/translate/core/start.d.ts.map +1 -1
- package/lib/translate/core/start.js +23 -4
- package/lib/translate/core/start.js.map +1 -1
- package/lib/ui.d.ts +1 -0
- package/lib/ui.d.ts.map +1 -1
- package/lib/ui.js +1 -0
- package/lib/ui.js.map +1 -1
- package/package.json +4 -2
- package/src/about/ui/AboutBuild.tsx +23 -16
- package/src/about/ui/AboutCitations.tsx +3 -1
- package/src/about/ui/AboutPage.tsx +38 -12
- package/src/about/ui/AboutProvidedBy.tsx +13 -3
- package/src/capsule/ui/Capsule.tsx +48 -0
- package/src/capsule/ui/CapsuleFilter.tsx +38 -114
- package/src/capsule/ui/capsuleFilterCapsules.tsx +110 -0
- package/src/chart/ui/ChartTrackingLayer.tsx +4 -2
- package/src/chrome/ui/SiteHeader.tsx +5 -3
- package/src/citation/ui/CitationMenu.tsx +9 -5
- package/src/citation/ui/CiteButton.tsx +4 -2
- package/src/citation/ui/CopyFormatEntries.tsx +3 -1
- package/src/citation/ui/WorkEntry.tsx +5 -3
- package/src/citation/ui/entries.tsx +9 -2
- package/src/citation/ui/useCopyFeedback.ts +11 -4
- package/src/clipboard/ui/ClickToCopy.tsx +15 -5
- package/src/clipboard/ui/CopyButton.tsx +14 -10
- package/src/color/ui/ColorScaleEditor.tsx +17 -15
- package/src/color/ui/ColorScaleEntry.tsx +7 -3
- package/src/color/ui/ColorScaleLegend.tsx +7 -1
- package/src/color/ui/ColorScaleSelect.tsx +12 -6
- package/src/confirm/ui/ConfirmButton.tsx +9 -11
- package/src/core.ts +1 -0
- package/src/credits/ui/CreditsList.tsx +5 -1
- package/src/delimited/ui/DelimitedTextDialog.tsx +10 -10
- package/src/delimited/ui/DelimitedTextPanel.tsx +19 -12
- package/src/download/ui/FigureDownload.tsx +7 -5
- package/src/download/ui/FigureDownloadPanel.tsx +31 -25
- package/src/ecosystem/core/sites.ts +4 -2
- package/src/ecosystem/ui/EcosystemButton.tsx +5 -3
- package/src/ecosystem/ui/EcosystemLinks.tsx +10 -10
- package/src/ecosystem/ui/EcosystemMenu.tsx +3 -1
- package/src/ecosystem/ui/SiteGroupSection.tsx +6 -2
- package/src/ecosystem/ui/SiteTile.tsx +6 -2
- package/src/ecosystem/ui/glyphs.tsx +16 -22
- package/src/error/ui/ErrorFallback.tsx +13 -12
- package/src/help/ui/HelpBody.tsx +4 -2
- package/src/help/ui/HelpIcon.tsx +6 -3
- package/src/help/ui/HelpToolbarButton.tsx +4 -1
- package/src/help/ui/helpName.ts +10 -2
- package/src/i18n/core/chromeCatalog.ts +35 -0
- package/src/i18n/core/index.ts +26 -0
- package/src/i18n/core/languages.ts +46 -0
- package/src/i18n/core/messageCatalog.ts +202 -0
- package/src/i18n/core/messageValues.ts +2 -0
- package/src/i18n/core/session.ts +82 -0
- package/src/i18n/core/translateSetup.ts +47 -0
- package/src/i18n/ui/LanguageSelect.tsx +72 -0
- package/src/i18n/ui/index.ts +9 -0
- package/src/i18n/ui/useLanguage.ts +48 -0
- package/src/i18n/ui/useT.ts +90 -0
- package/src/locales/de.json +442 -0
- package/src/locales/en.json +442 -0
- package/src/locales/es.json +442 -0
- package/src/locales/fr.json +442 -0
- package/src/molecule3d/core/gestures.ts +44 -7
- package/src/molecule3d/ui/Molecule3DExport.tsx +3 -1
- package/src/molecule3d/ui/Molecule3DHelp.tsx +17 -6
- package/src/molecule3d/ui/Molecule3DOptions.tsx +13 -13
- package/src/molecule3d/ui/Molecule3DSurfaceColors.tsx +16 -13
- package/src/molecule3d/ui/Molecule3DToolbar.tsx +29 -18
- package/src/molecule3d/ui/MoleculeViewer3D.tsx +13 -8
- package/src/orbital/ui/AtomicOrbitalCanvas.tsx +3 -1
- package/src/orbital/ui/AtomicOrbitalControls.tsx +15 -20
- package/src/orbital/ui/AtomicOrbitalViewer.tsx +13 -13
- package/src/orbital/ui/capability.ts +10 -0
- package/src/overlay/ui/OverlayBar.tsx +7 -4
- package/src/overlay/ui/OverlayInfo.tsx +6 -3
- package/src/overlay/ui/OverlayPanel.tsx +10 -7
- package/src/overlay/ui/OverlayReadout.tsx +3 -1
- package/src/pedagogy/ui/ExerciseActions.tsx +16 -6
- package/src/pedagogy/ui/ExerciseProgressHeader.tsx +13 -11
- package/src/pedagogy/ui/GlossaryIndex.tsx +11 -12
- package/src/pedagogy/ui/HintLadder.tsx +15 -12
- package/src/pedagogy/ui/SyntaxTooltip.tsx +9 -7
- package/src/pedagogy/ui/TutorialStepStrip.tsx +8 -3
- package/src/periodic/ui/CategoryLegend.tsx +6 -1
- package/src/periodic/ui/ElementCell.tsx +7 -1
- package/src/periodic/ui/PeriodicTable.tsx +3 -1
- package/src/periodic/ui/PeriodicTableChrome.tsx +4 -2
- package/src/share/ui/ShareButton.tsx +8 -5
- package/src/share/ui/ShareConfigOptions.tsx +6 -7
- package/src/share/ui/ShareDialog.tsx +3 -1
- package/src/share/ui/ShareDialogContent.tsx +20 -10
- package/src/share/ui/SharePresetTabs.tsx +3 -1
- package/src/slides/ui/BackToSlides.tsx +4 -2
- package/src/slides/ui/EmbedSlide.tsx +3 -3
- package/src/slides/ui/Slide.tsx +3 -1
- package/src/slides/ui/SlideshowBar.tsx +12 -4
- package/src/slides/ui/TalkList.tsx +8 -10
- package/src/structure/core/editorGuide.ts +126 -19
- package/src/structure/core/editorToolbar.ts +52 -24
- package/src/structure/ui/EditorHelpButton.tsx +9 -4
- package/src/structure/ui/StructureEditor.tsx +7 -1
- package/src/structure/ui/StructureEditorHelp.tsx +34 -11
- package/src/structure/ui/ToolbarTooltip.tsx +8 -4
- package/src/translate/core/index.ts +1 -1
- package/src/translate/core/start.ts +65 -3
- package/src/ui.ts +1 -0
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language.label": "Langue",
|
|
3
|
+
"chrome.pages": "Pages",
|
|
4
|
+
"ecosystem.tools": "Outils",
|
|
5
|
+
"ecosystem.menuHeading": "Nos outils, tous dans le navigateur",
|
|
6
|
+
"ecosystem.otherTools": "Nos autres outils",
|
|
7
|
+
"ecosystem.youAreHere": "vous êtes ici",
|
|
8
|
+
"ecosystem.group.basics.label": "Bases de la chimie",
|
|
9
|
+
"ecosystem.group.basics.blurb": "Par où commence un cours, et ce qu'on y revoit.",
|
|
10
|
+
"ecosystem.group.practice.label": "Exercices",
|
|
11
|
+
"ecosystem.group.practice.blurb": "Où l'on travaille un premier cours, une série graduée à la fois.",
|
|
12
|
+
"ecosystem.group.structures.label": "Structures et notations",
|
|
13
|
+
"ecosystem.group.structures.blurb": "Dessiner une molécule, la convertir d'une notation à l'autre, la voir dans l'espace.",
|
|
14
|
+
"ecosystem.group.spectra.label": "Spectres",
|
|
15
|
+
"ecosystem.group.spectra.blurb": "Traiter une mesure, et remonter à la structure qui la produit.",
|
|
16
|
+
"ecosystem.group.research.label": "Recherche et données",
|
|
17
|
+
"ecosystem.group.research.blurb": "Travail spécialisé : jeux de données réels, et molécules que personne n'a faites.",
|
|
18
|
+
"ecosystem.group.computing.label": "Informatique et enseignement",
|
|
19
|
+
"ecosystem.group.computing.blurb": "Autour de la chimie : bâtir un cours, le composer, l'analyser.",
|
|
20
|
+
"site.learn.tagline": "Organiser les outils en un cours et en distribuer le lien.",
|
|
21
|
+
"site.inchi.tagline": "InChI et InChIKey d'une structure, dans le navigateur.",
|
|
22
|
+
"site.vcl.tagline": "Combiner un squelette et des fragments en une chimiothèque filtrée.",
|
|
23
|
+
"site.smiles.tagline": "Dessiner une structure, lire son SMILES, apprendre la notation.",
|
|
24
|
+
"site.openbabel.tagline": "Convertir une structure entre deux formats de fichier chimiques quelconques.",
|
|
25
|
+
"site.chemcalc.tagline": "Formule moléculaire, masse exacte et distribution isotopique.",
|
|
26
|
+
"site.dbe.tagline": "Compter cycles et doubles liaisons à partir d'une formule ou d'une structure.",
|
|
27
|
+
"site.nmrium.tagline": "Traiter et attribuer des spectres RMN dans le navigateur.",
|
|
28
|
+
"site.metabo.tagline": "Transformer un lot de spectres RMN en une carte de vos échantillons.",
|
|
29
|
+
"site.derepflow.tagline": "Identifier les constituants d'un mélange à partir de son spectre ¹³C.",
|
|
30
|
+
"site.surge.tagline": "Tous les isomères de constitution d'une formule moléculaire.",
|
|
31
|
+
"site.tex.tagline": "Des formules LaTeX rendues en SVG ou PNG depuis une URL.",
|
|
32
|
+
"site.lcao.tagline": "Combiner des orbitales atomiques en orbitales moléculaires.",
|
|
33
|
+
"site.regexp.tagline": "Apprendre les expressions régulières dans un bac à sable interactif.",
|
|
34
|
+
"site.pdb.tagline": "Un coup d'œil rapide sur n'importe quelle entrée de la Protein Data Bank.",
|
|
35
|
+
"site.elucidation.tagline": "Une structure à partir d'un spectre RMN 1H et d'une formule.",
|
|
36
|
+
"site.equilibrium.tagline": "Équilibres chimiques : pH, spéciation et courbes de titrage.",
|
|
37
|
+
"site.polycarp.tagline": "Prédire la microstructure d'une copolymérisation radicalaire.",
|
|
38
|
+
"site.3d.tagline": "Les conformères en 3D d'une structure que vous dessinez.",
|
|
39
|
+
"site.periodic-table.tagline": "Le tableau périodique, coloré, tracé et décortiqué.",
|
|
40
|
+
"site.database.tagline": "Interroger un vrai jeu de données chimiques en SQL et en Mango.",
|
|
41
|
+
"site.symmetry.tagline": "Trouver la symétrie d'une molécule, d'un cristal ou d'un motif.",
|
|
42
|
+
"site.osiris.tagline": "Risques de toxicité et propriétés prédits, pour une molécule ou pour un lot.",
|
|
43
|
+
"site.atoms.tagline": "Électrons, neutrons, structures de Lewis et nombres d'oxydation.",
|
|
44
|
+
"site.moles.tagline": "Équilibrer une réaction, et en calculer la composition massique.",
|
|
45
|
+
"site.inorganic.tagline": "Nommer un composé inorganique, et en écrire la formule.",
|
|
46
|
+
"share.button": "Partager",
|
|
47
|
+
"share.buttonTitle": "Partager un lien vers cette page, ou l'intégrer à votre propre site",
|
|
48
|
+
"share.dialogTitle": "Partager ou intégrer",
|
|
49
|
+
"share.lead": "Un lien vers {title} tel que vous l'avez réglé.",
|
|
50
|
+
"share.layout": "Disposition",
|
|
51
|
+
"share.embed": "Intégrer dans une autre page",
|
|
52
|
+
"share.embedHint": "Retire l'en-tête du site et sa navigation, pour que la page prenne place dans une page à vous.",
|
|
53
|
+
"share.showOnPage": "Afficher sur la page",
|
|
54
|
+
"share.custom": "Sur mesure",
|
|
55
|
+
"share.link": "Lien",
|
|
56
|
+
"share.copyLink": "Copier le lien",
|
|
57
|
+
"share.openInNewTab": "Ouvrir dans un nouvel onglet",
|
|
58
|
+
"share.iframe": "Iframe",
|
|
59
|
+
"share.copyIframe": "Copier l'iframe",
|
|
60
|
+
"share.done": "Terminé",
|
|
61
|
+
"cite.button": "Citer",
|
|
62
|
+
"cite.copyReferenceAs": "Copier la référence en",
|
|
63
|
+
"cite.pleaseCiteBoth": "Merci de citer les deux travaux",
|
|
64
|
+
"cite.pleaseCiteEvery": "Merci de citer chacun de ces travaux",
|
|
65
|
+
"cite.copyBothAs": "Copier les deux références en",
|
|
66
|
+
"cite.copyEveryAs": "Copier toutes les références en",
|
|
67
|
+
"cite.importIntoManager": "Importer dans un gestionnaire de références",
|
|
68
|
+
"cite.openArticle": "Ouvrir l'article",
|
|
69
|
+
"cite.copyThisAs": "Copier cette référence en",
|
|
70
|
+
"cite.importThis": "Importer cette référence",
|
|
71
|
+
"cite.copied": "copié",
|
|
72
|
+
"cite.copyFailed": "échec de la copie",
|
|
73
|
+
"cite.format.doi": "Lien DOI",
|
|
74
|
+
"cite.download.ris": "Fichier RIS",
|
|
75
|
+
"cite.download.bibtex": "Fichier BibTeX",
|
|
76
|
+
"clipboard.copied": "Copié",
|
|
77
|
+
"clipboard.failed": "Échec de la copie",
|
|
78
|
+
"clipboard.copy": "Copier",
|
|
79
|
+
"clipboard.copyThe": "Copier {what}",
|
|
80
|
+
"clipboard.copyValue": "Copier {value}",
|
|
81
|
+
"clipboard.copyToClipboard": "Copier dans le presse-papiers",
|
|
82
|
+
"about.providedBy": "Proposé par",
|
|
83
|
+
"about.whatYouCanDo": "Ce que vous pouvez faire ici",
|
|
84
|
+
"about.builtOn": "Construit sur",
|
|
85
|
+
"about.howToCite": "Comment citer",
|
|
86
|
+
"about.licenceAndSource": "Licence et sources",
|
|
87
|
+
"about.licence": "{license}, © cheminfo. Utilisez-le dans un cours, forkez-le, ou reprenez-en un morceau ailleurs. Les sources sont sur {sources}.",
|
|
88
|
+
"about.foundAProblem": "Un problème ?",
|
|
89
|
+
"about.reportIt": "Dites-le-nous : un rapport indiquant ce que vous avez saisi et ce qui est revenu est la correction la plus rapide qui soit. {tracker}.",
|
|
90
|
+
"about.citeWork": "Citer {what}",
|
|
91
|
+
"about.built": "Compilé {builtAt}.",
|
|
92
|
+
"about.builtFromCommit": "Compilé {builtAt} depuis le commit {commit}.",
|
|
93
|
+
"about.nameList": "{names} et {last}",
|
|
94
|
+
"help.label": "Aide",
|
|
95
|
+
"help.learnMore": "En savoir plus",
|
|
96
|
+
"help.on": "sur",
|
|
97
|
+
"confirm.delete": "Supprimer",
|
|
98
|
+
"confirm.cancel": "Annuler",
|
|
99
|
+
"error.title": "Quelque chose s'est mal passé",
|
|
100
|
+
"error.tryAgain": "Réessayer",
|
|
101
|
+
"error.noMessage": "Aucun message n'a été donné.",
|
|
102
|
+
"capsule.filter": "Filtre",
|
|
103
|
+
"credits.openbabel.description": "lit et écrit les formats de fichiers chimiques, et fait la conversion elle-même.",
|
|
104
|
+
"credits.openchemlib.description": "lit et écrit les structures, et calcule leurs propriétés dans le navigateur.",
|
|
105
|
+
"credits.openchemlib-utils.description": "les utilitaires de structure bâtis sur OpenChemLib.",
|
|
106
|
+
"credits.osiris-property-explorer.description": "les prédictions originales de toxicité et de propriétés, par Thomas Sander chez Actelion, aujourd'hui Idorsia.",
|
|
107
|
+
"credits.react-ocl.description": "l'éditeur de structure dans lequel vous dessinez, et le rendu 2D.",
|
|
108
|
+
"credits.react-mf.description": "compose une formule moléculaire, indices, isotopes et charges compris.",
|
|
109
|
+
"credits.mass-tools.description": "analyse les formules moléculaires et calcule masses et distributions isotopiques.",
|
|
110
|
+
"credits.chem-equilibrium.description": "construit le système de bilan de matière d'une solution et en trouve la racine.",
|
|
111
|
+
"credits.ml-matrix.description": "l'algèbre linéaire derrière les nombres de la page.",
|
|
112
|
+
"credits.ml-xsadd.description": "le générateur à graine d'où est tirée une série reproductible.",
|
|
113
|
+
"credits.cif-to-json.description": "le lecteur qui transforme un fichier cristallographique en données.",
|
|
114
|
+
"credits.ml-spectra-processing.description": "les opérations sur tableaux et spectres que traversent les données.",
|
|
115
|
+
"credits.occ.description": "l'implémentation de GFN2-xTB d'où viennent les géométries et énergies affinées.",
|
|
116
|
+
"credits.xtb-wasm.description": "GFN2-xTB compilé en WebAssembly, piloté depuis un pool de web workers.",
|
|
117
|
+
"credits.molstar.description": "la visionneuse 3D, ses représentations et ses surfaces.",
|
|
118
|
+
"credits.blueprint.description": "les composants d'interface — cartes, dialogues, champs, tableaux et étiquettes.",
|
|
119
|
+
"credits.react-science.description": "la coque applicative scientifique que partage cette famille de sites.",
|
|
120
|
+
"credits.react-cheminfo.description": "l'habillage et les conventions partagés par les sites cheminfo.",
|
|
121
|
+
"credits.cheminfo-font.description": "les glyphes de chimie avec lesquels sont dessinées les barres d'outils.",
|
|
122
|
+
"credits.nivo.description": "dessine les graphiques — les courbes, les diagrammes et les axes.",
|
|
123
|
+
"credits.mathjax.description": "compose les mathématiques, du LaTeX à ce que vous lisez.",
|
|
124
|
+
"credits.lexical.description": "l'éditeur dans lequel une page rédigée est composée et enregistrée.",
|
|
125
|
+
"credits.katex.description": "compose les mathématiques à l'intérieur d'une page rédigée.",
|
|
126
|
+
"credits.dnd-kit.description": "le glisser-déposer qui met les choses dans un ordre.",
|
|
127
|
+
"credits.react-roi.description": "le cadre avec lequel on trace une région d'image.",
|
|
128
|
+
"credits.file-collection.description": "le lecteur qui prend les fichiers, dossiers et archives déposés.",
|
|
129
|
+
"credits.zip-js.description": "les archives ZIP lues et écrites dans le navigateur.",
|
|
130
|
+
"credits.preact-signals.description": "l'état que lisent les pages, sans magasin autour.",
|
|
131
|
+
"credits.fastify.description": "le serveur qui répond à l'API et sert la page.",
|
|
132
|
+
"credits.sqlite.description": "la base de données, un seul fichier, lue par le module intégré de Node.",
|
|
133
|
+
"credits.sqlite-wasm.description": "fait tourner le même moteur dans la page, compilé en WebAssembly.",
|
|
134
|
+
"credits.pouchdb.description": "répond aux sélecteurs Mango comme y répond CouchDB.",
|
|
135
|
+
"credits.chemexper.description": "le catalogue d'où viennent les composés et leurs spectres.",
|
|
136
|
+
"credits.react.description": "le modèle de composants dans lequel les pages sont écrites.",
|
|
137
|
+
"credits.vite.description": "construit et sert le site statique.",
|
|
138
|
+
"color.scales": "Échelles",
|
|
139
|
+
"color.done": "Terminé",
|
|
140
|
+
"color.custom": "Sur mesure",
|
|
141
|
+
"color.customEllipsis": "Sur mesure…",
|
|
142
|
+
"color.inUse": "en usage",
|
|
143
|
+
"color.colourScale": "Échelle de couleurs",
|
|
144
|
+
"color.legendLabel": "{what} de {low} à {high}",
|
|
145
|
+
"color.scaleBeingEdited": "L'échelle en cours d'édition",
|
|
146
|
+
"color.anchorColour": "Couleur de l'ancre {index}",
|
|
147
|
+
"color.anchorPosition": "Position de l'ancre {index}",
|
|
148
|
+
"color.removeAnchor": "Retirer l'ancre {index}",
|
|
149
|
+
"color.addColour": "Ajouter une couleur",
|
|
150
|
+
"color.path": "Chemin entre deux ancres",
|
|
151
|
+
"color.interpolation.rgb": "RVB — mélanger les canaux",
|
|
152
|
+
"color.interpolation.hsv": "TSV — tourner par le court chemin",
|
|
153
|
+
"color.interpolation.hsv-long": "TSV — tourner par le long chemin",
|
|
154
|
+
"color.kind.sequential": "Du bas vers le haut",
|
|
155
|
+
"color.kind.diverging": "De part et d'autre d'un milieu",
|
|
156
|
+
"color.kind.cyclic": "Tout autour de la roue",
|
|
157
|
+
"color.scale.viridis.label": "Viridis",
|
|
158
|
+
"color.scale.viridis.description": "Du violet au jaune. S'imprime en gris et se lit en cas de daltonisme.",
|
|
159
|
+
"color.scale.plasma.label": "Plasma",
|
|
160
|
+
"color.scale.plasma.description": "Du bleu au jaune en passant par le magenta, plus vive que viridis.",
|
|
161
|
+
"color.scale.magma.label": "Magma",
|
|
162
|
+
"color.scale.magma.description": "Du noir au crème en passant par le violet et l'orange.",
|
|
163
|
+
"color.scale.inferno.label": "Inferno",
|
|
164
|
+
"color.scale.inferno.description": "Du noir au jaune pâle en passant par le rouge.",
|
|
165
|
+
"color.scale.cividis.label": "Cividis",
|
|
166
|
+
"color.scale.cividis.description": "Du bleu au jaune, conçue pour se lire à l'identique par un deutéranope.",
|
|
167
|
+
"color.scale.turbo.label": "Turbo",
|
|
168
|
+
"color.scale.turbo.description": "Les couleurs de l'arc-en-ciel, ordonnées pour que la clarté croisse quand même.",
|
|
169
|
+
"color.scale.greys.label": "Gris",
|
|
170
|
+
"color.scale.greys.description": "Du clair au noir, pour une figure qui sera photocopiée.",
|
|
171
|
+
"color.scale.cool-warm.label": "Du froid au chaud",
|
|
172
|
+
"color.scale.cool-warm.description": "Du bleu au rouge en passant par le jaune pâle.",
|
|
173
|
+
"color.scale.blue-red.label": "Du bleu au rouge",
|
|
174
|
+
"color.scale.blue-red.description": "Du bleu au rouge en passant par le blanc, le milieu le plus pâle.",
|
|
175
|
+
"color.scale.rainbow.label": "Arc-en-ciel",
|
|
176
|
+
"color.scale.rainbow.description": "Du bleu au rouge en passant par le vert et le jaune. N'ordonne rien en gris.",
|
|
177
|
+
"download.save": "Enregistrer",
|
|
178
|
+
"download.saveFigure": "Enregistrer la figure",
|
|
179
|
+
"download.saveThisFigure": "Enregistrer cette figure",
|
|
180
|
+
"download.format": "Format",
|
|
181
|
+
"download.formatHelp": "Un PNG est une image de la figure, ce qu'acceptent une diapositive, une fenêtre de discussion ou un ticket. Un SVG est la figure elle-même : chaque trait reste net quel que soit l'agrandissement, et il reste modifiable ensuite.",
|
|
182
|
+
"download.resolution": "Résolution",
|
|
183
|
+
"download.resolutionHelp": "Combien de pixels sont peints pour chaque pixel de la figure à l'écran. Deux convient pour une diapositive, trois ou quatre pour l'impression. Un SVG n'a pas de résolution propre : il est enregistré net à toute taille.",
|
|
184
|
+
"download.resolutionExample": "Une figure large de 640 pixels à l'écran est enregistrée large de 1280 pixels.",
|
|
185
|
+
"download.noFigure": "Il n'y a encore aucune figure à enregistrer sur la page.",
|
|
186
|
+
"download.hintRasterSvg": "Un SVG contenant une image de {pixels} : une scène 3D n'a pas de forme vectorielle.",
|
|
187
|
+
"download.hintSvg": "Un SVG reste net à toute taille, la résolution ne s'applique donc pas. Dessiné {pixels}.",
|
|
188
|
+
"download.hintPng": "Enregistré {pixels}.",
|
|
189
|
+
"pedagogy.check": "Vérifier",
|
|
190
|
+
"pedagogy.revealHint": "Révéler un indice",
|
|
191
|
+
"pedagogy.revealHintCount": "Révéler un indice ({revealed}/{total})",
|
|
192
|
+
"pedagogy.revealHintLadder": "{label} ({open}/{total})",
|
|
193
|
+
"pedagogy.hideSolution": "Masquer la solution",
|
|
194
|
+
"pedagogy.revealSolution": "Révéler la solution",
|
|
195
|
+
"pedagogy.reset": "Réinitialiser",
|
|
196
|
+
"pedagogy.hints": "Indices",
|
|
197
|
+
"pedagogy.solvedCount": "{solved} / {total} résolus",
|
|
198
|
+
"pedagogy.clearAll": "Effacer toutes les réponses",
|
|
199
|
+
"pedagogy.keepAnswers": "Garder mes réponses",
|
|
200
|
+
"pedagogy.clearEverything": "Tout effacer",
|
|
201
|
+
"pedagogy.clearWarning": "Ceci oublie chaque réponse, chaque indice révélé et chaque exercice résolu, sur ce navigateur. Il n'y a pas de retour en arrière.",
|
|
202
|
+
"pedagogy.filterTerms": "Filtrer les termes…",
|
|
203
|
+
"pedagogy.noTermDefined": "Aucun terme n'est encore défini.",
|
|
204
|
+
"pedagogy.noTermMatches": "Aucun terme ne correspond à « {query} ».",
|
|
205
|
+
"pedagogy.example": "Exemple",
|
|
206
|
+
"pedagogy.input": "Entrée",
|
|
207
|
+
"pedagogy.previous": "Précédent",
|
|
208
|
+
"pedagogy.next": "Suivant",
|
|
209
|
+
"pedagogy.stepOf": "Étape {step} sur {total}",
|
|
210
|
+
"slides.exit": "Quitter",
|
|
211
|
+
"slides.previousSlide": "Diapositive précédente",
|
|
212
|
+
"slides.nextSlide": "Diapositive suivante",
|
|
213
|
+
"slides.toggleFullscreen": "Basculer en plein écran",
|
|
214
|
+
"slides.backToSlides": "Retour aux diapositives",
|
|
215
|
+
"slides.backToSlide": "Retour à la diapositive {slide}",
|
|
216
|
+
"slides.noAddress": "Cette diapositive encadre un outil, mais ne porte aucune adresse.",
|
|
217
|
+
"slides.liveDemos": "Démos en direct :",
|
|
218
|
+
"slides.noTalkYet": "Aucune présentation pour l'instant.",
|
|
219
|
+
"overlay.options": "Options",
|
|
220
|
+
"overlay.whatAmILookingAt": "Qu'est-ce que je regarde ?",
|
|
221
|
+
"overlay.reset": "Réinitialiser",
|
|
222
|
+
"overlay.hoverAName": "Survolez un nom pour savoir ce qu'il fait.",
|
|
223
|
+
"overlay.dismiss": "Fermer",
|
|
224
|
+
"delimited.copyTable": "Copier le tableau",
|
|
225
|
+
"delimited.close": "Fermer",
|
|
226
|
+
"delimited.separator": "Séparateur",
|
|
227
|
+
"delimited.save": "Enregistrer",
|
|
228
|
+
"delimited.copy": "Copier",
|
|
229
|
+
"delimited.tableAsText": "Le tableau, en texte",
|
|
230
|
+
"delimited.descriptionOne": "{count} ligne, une par ligne. Copiez-la, puis collez-la dans un tableur.",
|
|
231
|
+
"delimited.descriptionMany": "{count} lignes, une par ligne. Copiez-les, puis collez-les dans un tableur.",
|
|
232
|
+
"chart.measurement": "Mesure {name}",
|
|
233
|
+
"chart.measurements": "Mesures",
|
|
234
|
+
"periodic.table": "Tableau périodique",
|
|
235
|
+
"periodic.group": "Groupe {group}",
|
|
236
|
+
"periodic.period": "Période {period}",
|
|
237
|
+
"periodic.cellLabel": "{name} ({symbol}, Z = {atomicNumber})",
|
|
238
|
+
"periodic.category.alkali-metal": "Métal alcalin",
|
|
239
|
+
"periodic.category.alkaline-earth-metal": "Alcalino-terreux",
|
|
240
|
+
"periodic.category.transition-metal": "Métal de transition",
|
|
241
|
+
"periodic.category.post-transition-metal": "Métal pauvre",
|
|
242
|
+
"periodic.category.metalloid": "Métalloïde",
|
|
243
|
+
"periodic.category.nonmetal": "Non-métal",
|
|
244
|
+
"periodic.category.halogen": "Halogène",
|
|
245
|
+
"periodic.category.noble-gas": "Gaz noble",
|
|
246
|
+
"periodic.category.lanthanoid": "Lanthanide",
|
|
247
|
+
"periodic.category.actinoid": "Actinide",
|
|
248
|
+
"orbital.couldNotDraw": "Cette orbitale n'a pas pu être dessinée",
|
|
249
|
+
"orbital.sampling": "Échantillonnage…",
|
|
250
|
+
"orbital.showAxes": "Afficher les axes x, y, z",
|
|
251
|
+
"orbital.axesTitle": "Axes cartésiens",
|
|
252
|
+
"orbital.axesBody": "Tracer x, y et z à travers le noyau. L'étiquette nomme une orbitale par la position de ses lobes par rapport à eux.",
|
|
253
|
+
"orbital.axesExample": "quatre lobes entre les axes y et z, aucun sur l'un ou l'autre.",
|
|
254
|
+
"orbital.resetTitle": "Réinitialiser la vue",
|
|
255
|
+
"orbital.resetBody": "Revenir à l'angle et au zoom d'ouverture de l'orbitale. Un changement d'orbitale conserve la vue à laquelle vous l'avez tournée.",
|
|
256
|
+
"viewer.capability.noWindow": "La visionneuse 3D a besoin d'une fenêtre de navigateur.",
|
|
257
|
+
"viewer.capability.noContext": "Ce navigateur n'a pas pu créer de contexte WebGL : la visionneuse 3D ne peut pas démarrer. Activez l'accélération matérielle, ou mettez à jour le pilote graphique.",
|
|
258
|
+
"viewer.capability.noFloatTextures": "Ce pilote graphique n'a pas de textures en virgule flottante : les orbitales calculées sont donc construites par le processeur. Tout fonctionne, mais chaque orbitale prend quelques secondes.",
|
|
259
|
+
"viewer.capability.ready": "Ce navigateur peut afficher la visionneuse 3D et les orbitales calculées.",
|
|
260
|
+
"conformers.strategy.adaptive-random": "Aléatoire adaptatif",
|
|
261
|
+
"conformers.strategy.likely-random": "Aléatoire pondéré",
|
|
262
|
+
"conformers.strategy.pure-random": "Aléatoire pur",
|
|
263
|
+
"conformers.strategy.likely-systematic": "Systématique pondéré",
|
|
264
|
+
"conformers.strategyDetail.adaptive-random": "Tire les torsions au hasard mais s'écarte des combinaisons qui ont déjà donné une collision, ce qui couvre le plus vite une molécule flexible.",
|
|
265
|
+
"conformers.strategyDetail.likely-random": "Tire les torsions au hasard dans la base de torsions, pondérées par la fréquence de chaque angle dans les structures cristallines.",
|
|
266
|
+
"conformers.strategyDetail.pure-random": "Tire chaque torsion uniformément au hasard, sans tenir compte de la probabilité de l'angle — la dispersion la plus large et l'ensemble le moins réaliste.",
|
|
267
|
+
"conformers.strategyDetail.likely-systematic": "Parcourt les combinaisons de torsions par probabilité décroissante : les premiers conformères sont donc les plus probables et l'ensemble est reproductible.",
|
|
268
|
+
"conformers.minimisation.none": "Aucune (pas d'énergies)",
|
|
269
|
+
"structure.guide.atom.title": "Pointeur sur un atome",
|
|
270
|
+
"structure.guide.atom.element": "En faire un Na",
|
|
271
|
+
"structure.guide.atom.group": "Greffer un phényle ; Me, Et, Boc, TMS… marchent aussi",
|
|
272
|
+
"structure.guide.atom.applyOrForget": "Appliquer ou oublier ce qui a été saisi",
|
|
273
|
+
"structure.guide.atom.chain": "Greffer une chaîne de ce nombre de carbones",
|
|
274
|
+
"structure.guide.atom.charge": "Augmenter ou diminuer la charge",
|
|
275
|
+
"structure.guide.atom.radical": "Ajouter ou retirer un radical",
|
|
276
|
+
"structure.guide.atom.spin": "En faire un triplet, puis un singulet",
|
|
277
|
+
"structure.guide.atom.attachment": "En faire un point d'attache",
|
|
278
|
+
"structure.guide.atom.query": "Modifier ses critères de requête",
|
|
279
|
+
"structure.guide.atom.halogen": "Accepter n'importe quel halogène",
|
|
280
|
+
"structure.guide.atom.delete": "Le supprimer",
|
|
281
|
+
"structure.guide.atom.note": "Ce qui est saisi s'affiche en noir pour un élément, en bleu pour un groupe, en gris tant que c'est incomplet et en rouge si c'est inconnu.",
|
|
282
|
+
"structure.guide.bond.title": "Pointeur sur une liaison",
|
|
283
|
+
"structure.guide.bond.order": "Simple, double ou triple",
|
|
284
|
+
"structure.guide.bond.zeroOrder": "Liaison d'ordre zéro (métal–ligand)",
|
|
285
|
+
"structure.guide.bond.stereo": "Liaison stéréo vers l'avant ou vers l'arrière",
|
|
286
|
+
"structure.guide.bond.unknownGeometry": "Double liaison de géométrie inconnue",
|
|
287
|
+
"structure.guide.bond.threeRing": "Souder un cycle à 3 chaînons",
|
|
288
|
+
"structure.guide.bond.ring": "Souder un cycle de cette taille",
|
|
289
|
+
"structure.guide.bond.benzene": "Souder un cycle benzénique",
|
|
290
|
+
"structure.guide.bond.query": "Modifier ses critères de requête",
|
|
291
|
+
"structure.guide.bond.delete": "La supprimer",
|
|
292
|
+
"structure.guide.anywhere.title": "N'importe où",
|
|
293
|
+
"structure.guide.anywhere.undo": "Annuler",
|
|
294
|
+
"structure.guide.anywhere.copy": "Copier la structure",
|
|
295
|
+
"structure.guide.anywhere.paste": "Coller un molfile, un SMILES ou un idCode",
|
|
296
|
+
"structure.guide.anywhere.deleteSelection": "Supprimer la sélection",
|
|
297
|
+
"structure.guide.anywhere.flip": "Retourner horizontalement ou verticalement",
|
|
298
|
+
"structure.guide.anywhere.help": "Ouvrir ce guide",
|
|
299
|
+
"structure.guide.anywhere.note": "Les touches agissent une fois que le dessin a été cliqué. Sur une zone vide, une touche choisit l'outil dont l'infobulle l'indique.",
|
|
300
|
+
"structure.guide.selecting.title": "Sélectionner",
|
|
301
|
+
"structure.guide.selecting.lasso": "Sélectionner ce qu'enferme le lasso",
|
|
302
|
+
"structure.guide.selecting.rectangle": "Sélectionner un rectangle",
|
|
303
|
+
"structure.guide.selecting.add": "Ajouter à la sélection",
|
|
304
|
+
"structure.guide.selecting.move": "La déplacer",
|
|
305
|
+
"structure.guide.selecting.duplicate": "La copier",
|
|
306
|
+
"structure.guide.selecting.queryFeatures": "Modifier les critères de requête d'un atome, d'une liaison ou de la sélection",
|
|
307
|
+
"structure.guide.selecting.note": "Ceci demande l'outil Sélection, que la barre d'espace choisit.",
|
|
308
|
+
"structure.guide.stereochemistry.title": "Stéréochimie",
|
|
309
|
+
"structure.guide.stereochemistry.note": "Les liaisons roses signalent un stéréocentre dont l'information est insuffisante ou excédentaire. Tracez une liaison vers l'avant ou vers l'arrière, pointe fine sur le centre, puis servez-vous de l'outil de stéréochimie étendue pour dire si le dessin est cet énantiomère (abs), les deux (&) ou l'un des deux (or).",
|
|
310
|
+
"structure.input.type": "Saisir",
|
|
311
|
+
"structure.input.or": "ou",
|
|
312
|
+
"structure.input.drag": "Glisser",
|
|
313
|
+
"structure.input.plusDrag": "+ glisser",
|
|
314
|
+
"structure.input.dragSelection": "Glisser la sélection",
|
|
315
|
+
"structure.input.plusDragSelection": "+ glisser la sélection",
|
|
316
|
+
"structure.input.doubleClick": "Double-clic",
|
|
317
|
+
"structure.docs.toolsAndKeys": "Outils et touches",
|
|
318
|
+
"structure.docs.atomProperties": "Propriétés des atomes",
|
|
319
|
+
"structure.docs.stereochemistry": "Stéréochimie",
|
|
320
|
+
"structure.help.hoverToolbar": "Survolez un bouton de la barre d'outils pour voir ce qu'il fait et sa touche.",
|
|
321
|
+
"structure.help.learnMore": "En savoir plus :",
|
|
322
|
+
"structure.mouseAndKeyboard": "Souris et clavier",
|
|
323
|
+
"structure.tool.clear.name": "Effacer",
|
|
324
|
+
"structure.tool.clear.description": "Effacer tout le dessin.",
|
|
325
|
+
"structure.tool.cleanUp.name": "Réagencer",
|
|
326
|
+
"structure.tool.cleanUp.description": "Redessiner la structure avec de nouvelles coordonnées 2D. Si une partie est sélectionnée, le reste garde sa disposition.",
|
|
327
|
+
"structure.tool.select.name": "Sélection",
|
|
328
|
+
"structure.tool.select.description": "Glissez autour des atomes pour les sélectionner : maintenez Alt pour un rectangle, Maj pour ajouter à la sélection. Glissez une sélection pour la déplacer, Maj-glisser pour la copier.",
|
|
329
|
+
"structure.tool.unknownConfiguration.name": "Configuration inconnue",
|
|
330
|
+
"structure.tool.unknownConfiguration.description": "Cliquez un stéréocentre pour marquer sa configuration comme inconnue ; cliquez de nouveau pour annuler.",
|
|
331
|
+
"structure.tool.delete.name": "Supprimer",
|
|
332
|
+
"structure.tool.delete.description": "Cliquez un atome ou une liaison pour le supprimer.",
|
|
333
|
+
"structure.tool.singleBond.name": "Liaison simple",
|
|
334
|
+
"structure.tool.singleBond.description": "Cliquez une zone vide pour une nouvelle liaison, ou glissez depuis un atome. Recliquer une liaison la rend double, puis triple.",
|
|
335
|
+
"structure.tool.upBond.name": "Liaison vers l'avant",
|
|
336
|
+
"structure.tool.upBond.description": "Liaison stéréo en coin, pointant vers l'observateur. Sa pointe fine se place sur le stéréocentre.",
|
|
337
|
+
"structure.tool.positiveCharge.name": "Charge positive",
|
|
338
|
+
"structure.tool.positiveCharge.description": "Cliquez un atome pour augmenter sa charge d'une unité.",
|
|
339
|
+
"structure.tool.undo.name": "Annuler",
|
|
340
|
+
"structure.tool.undo.description": "Revenir sur la dernière modification.",
|
|
341
|
+
"structure.tool.zoomAndRotate.name": "Zoomer et tourner",
|
|
342
|
+
"structure.tool.zoomAndRotate.description": "Appuyez là où doit être le centre, puis glissez vers le haut ou le bas pour zoomer et latéralement pour tourner. Avec une sélection, seule cette partie bouge.",
|
|
343
|
+
"structure.tool.atomMapping.name": "Correspondance d'atomes",
|
|
344
|
+
"structure.tool.atomMapping.description": "Glissez d'un atome du réactif vers le même atome du produit : les deux reçoivent le même numéro. Cliquez un atome numéroté pour le libérer.",
|
|
345
|
+
"structure.tool.enhancedStereo.name": "Stéréochimie étendue",
|
|
346
|
+
"structure.tool.enhancedStereo.description": "Cliquez une liaison stéréo pour dire ce que signifie son centre : abs, cet énantiomère ; &, les deux (racémique) ; or, l'un des deux. Appuyez de nouveau sur le bouton pour passer d'un cas à l'autre.",
|
|
347
|
+
"structure.tool.text.name": "Texte",
|
|
348
|
+
"structure.tool.text.description": "Placer une étiquette de texte dans le dessin.",
|
|
349
|
+
"structure.tool.chain.name": "Chaîne",
|
|
350
|
+
"structure.tool.chain.description": "Glissez depuis une zone vide ou depuis un atome pour tracer une chaîne carbonée en zigzag.",
|
|
351
|
+
"structure.tool.downBond.name": "Liaison vers l'arrière",
|
|
352
|
+
"structure.tool.downBond.description": "Liaison stéréo hachurée, pointant à l'opposé de l'observateur. Sa pointe fine se place sur le stéréocentre.",
|
|
353
|
+
"structure.tool.negativeCharge.name": "Charge négative",
|
|
354
|
+
"structure.tool.negativeCharge.description": "Cliquez un atome pour diminuer sa charge d'une unité.",
|
|
355
|
+
"structure.tool.anyAtom.name": "Atome quelconque",
|
|
356
|
+
"structure.tool.anyAtom.description": "Choisissez n'importe quel élément, isotope, valence ou radical dans une boîte de dialogue, puis cliquez pour le placer ou pour changer un atome. Alt-cliquez un atome pour modifier ses propres propriétés.",
|
|
357
|
+
"structure.tool.ring3.name": "Cycle à 3 chaînons",
|
|
358
|
+
"structure.tool.ring3.description": "Cliquez une zone vide pour un nouveau cycle, une liaison pour en souder un dessus, ou un atome pour un cycle spiro.",
|
|
359
|
+
"structure.tool.ring5.name": "Cycle à 5 chaînons",
|
|
360
|
+
"structure.tool.ring5.description": "Cliquez une zone vide pour un nouveau cycle, une liaison pour en souder un dessus, ou un atome pour un cycle spiro.",
|
|
361
|
+
"structure.tool.ring7.name": "Cycle à 7 chaînons",
|
|
362
|
+
"structure.tool.ring7.description": "Cliquez une zone vide pour un nouveau cycle, une liaison pour en souder un dessus, ou un atome pour un cycle spiro.",
|
|
363
|
+
"structure.tool.ring4.name": "Cycle à 4 chaînons",
|
|
364
|
+
"structure.tool.ring4.description": "Cliquez une zone vide pour un nouveau cycle, une liaison pour en souder un dessus, ou un atome pour un cycle spiro.",
|
|
365
|
+
"structure.tool.ring6.name": "Cycle à 6 chaînons",
|
|
366
|
+
"structure.tool.ring6.description": "Cliquez une zone vide pour un nouveau cycle, une liaison pour en souder un dessus, ou un atome pour un cycle spiro.",
|
|
367
|
+
"structure.tool.benzene.name": "Cycle benzénique",
|
|
368
|
+
"structure.tool.benzene.description": "Cliquez une zone vide pour un nouveau cycle, une liaison pour en souder un dessus, ou un atome pour un cycle spiro.",
|
|
369
|
+
"structure.tool.carbon.name": "Carbone",
|
|
370
|
+
"structure.tool.carbon.description": "Cliquez une zone vide pour un nouvel atome de C, ou un atome pour le changer en C.",
|
|
371
|
+
"structure.tool.nitrogen.name": "Azote",
|
|
372
|
+
"structure.tool.nitrogen.description": "Cliquez une zone vide pour un nouvel atome de N, ou un atome pour le changer en N.",
|
|
373
|
+
"structure.tool.oxygen.name": "Oxygène",
|
|
374
|
+
"structure.tool.oxygen.description": "Cliquez une zone vide pour un nouvel atome de O, ou un atome pour le changer en O.",
|
|
375
|
+
"structure.tool.fluorine.name": "Fluor",
|
|
376
|
+
"structure.tool.fluorine.description": "Cliquez une zone vide pour un nouvel atome de F, ou un atome pour le changer en F.",
|
|
377
|
+
"structure.tool.bromine.name": "Brome",
|
|
378
|
+
"structure.tool.bromine.description": "Cliquez une zone vide pour un nouvel atome de Br, ou un atome pour le changer en Br.",
|
|
379
|
+
"structure.tool.hydrogen.name": "Hydrogène",
|
|
380
|
+
"structure.tool.hydrogen.description": "Cliquez une zone vide pour un nouvel atome de H, ou un atome pour le changer en H.",
|
|
381
|
+
"structure.tool.silicon.name": "Silicium",
|
|
382
|
+
"structure.tool.silicon.description": "Cliquez une zone vide pour un nouvel atome de Si, ou un atome pour le changer en Si.",
|
|
383
|
+
"structure.tool.phosphorus.name": "Phosphore",
|
|
384
|
+
"structure.tool.phosphorus.description": "Cliquez une zone vide pour un nouvel atome de P, ou un atome pour le changer en P.",
|
|
385
|
+
"structure.tool.sulfur.name": "Soufre",
|
|
386
|
+
"structure.tool.sulfur.description": "Cliquez une zone vide pour un nouvel atome de S, ou un atome pour le changer en S.",
|
|
387
|
+
"structure.tool.chlorine.name": "Chlore",
|
|
388
|
+
"structure.tool.chlorine.description": "Cliquez une zone vide pour un nouvel atome de Cl, ou un atome pour le changer en Cl.",
|
|
389
|
+
"structure.tool.iodine.name": "Iode",
|
|
390
|
+
"structure.tool.iodine.description": "Cliquez une zone vide pour un nouvel atome de I, ou un atome pour le changer en I.",
|
|
391
|
+
"structure.tool.reactionOnly": "Seulement lors du dessin d'une réaction.",
|
|
392
|
+
"structure.tool.unavailable": "Indisponible dans cet éditeur.",
|
|
393
|
+
"structure.loadingEditor": "Chargement de l'éditeur…",
|
|
394
|
+
"molecule3d.view": "Vue",
|
|
395
|
+
"molecule3d.resetView": "Réinitialiser la vue",
|
|
396
|
+
"molecule3d.spin": "Rotation continue",
|
|
397
|
+
"molecule3d.surface": "Surface",
|
|
398
|
+
"molecule3d.molecularSurface": "Surface moléculaire",
|
|
399
|
+
"molecule3d.displayOptions": "Options d'affichage",
|
|
400
|
+
"molecule3d.exportImage": "Exporter l'image",
|
|
401
|
+
"molecule3d.measure": "Mesurer",
|
|
402
|
+
"molecule3d.clearMeasurements": "Retirer toutes les mesures",
|
|
403
|
+
"molecule3d.measurement.distance": "Distance",
|
|
404
|
+
"molecule3d.measurement.angle": "Angle",
|
|
405
|
+
"molecule3d.measurement.dihedral": "Angle dièdre",
|
|
406
|
+
"molecule3d.measurementTooltip": "{what} : cliquez {atoms} atomes",
|
|
407
|
+
"molecule3d.representation.ball-and-stick": "Boules et bâtonnets",
|
|
408
|
+
"molecule3d.representation.spacefill": "Sphères compactes",
|
|
409
|
+
"molecule3d.representation.stick": "Bâtonnets",
|
|
410
|
+
"molecule3d.size": "Taille",
|
|
411
|
+
"molecule3d.surfaceOpacity": "Opacité de la surface",
|
|
412
|
+
"molecule3d.solventProbe": "Sonde de solvant [Å]",
|
|
413
|
+
"molecule3d.solventProbeHelp": "Rayon de la sphère de solvant roulée sur les atomes. 1,4 Å correspond à une molécule d'eau ; une sonde plus grande lisse la surface et ferme les poches étroites.",
|
|
414
|
+
"molecule3d.surfaceColour": "Couleur de la surface",
|
|
415
|
+
"molecule3d.colour": "Couleur",
|
|
416
|
+
"molecule3d.coloring.uniform": "Uniforme",
|
|
417
|
+
"molecule3d.coloring.element": "Élément",
|
|
418
|
+
"molecule3d.coloring.polarity": "Polarité",
|
|
419
|
+
"molecule3d.neutral": "neutre",
|
|
420
|
+
"molecule3d.tpsaHelp": "Surface polaire topologique (Ertl) : l'aire apportée par l'azote, l'oxygène et leurs hydrogènes, calculée à partir de la structure par openchemlib. Elle ne dépend ni du conformère ni de la sonde.",
|
|
421
|
+
"molecule3d.loadingViewer": "Chargement de la visionneuse 3D…",
|
|
422
|
+
"molecule3d.couldNotDraw": "La visionneuse n'a pas pu dessiner ceci",
|
|
423
|
+
"molecule3d.gesture.rotate": "Tourner",
|
|
424
|
+
"molecule3d.gesture.rollDrag": "Tourner dans le plan de l'écran",
|
|
425
|
+
"molecule3d.gesture.rollKeys": "Tourner dans le plan, tant que la touche est tenue",
|
|
426
|
+
"molecule3d.gesture.moveDrag": "Déplacer",
|
|
427
|
+
"molecule3d.gesture.moveCtrl": "Déplacer",
|
|
428
|
+
"molecule3d.gesture.zoom": "Zoomer",
|
|
429
|
+
"molecule3d.gesture.clip": "Couper autour du centre",
|
|
430
|
+
"molecule3d.gesture.centreAtom": "Le centrer",
|
|
431
|
+
"molecule3d.gesture.centreMolecule": "Centrer la molécule",
|
|
432
|
+
"molecule3d.input.drag": "Glisser",
|
|
433
|
+
"molecule3d.input.plus": "+",
|
|
434
|
+
"molecule3d.input.plusDrag": "+ glisser",
|
|
435
|
+
"molecule3d.input.plusScroll": "+ molette",
|
|
436
|
+
"molecule3d.input.or": "ou",
|
|
437
|
+
"molecule3d.input.rightDrag": "Glisser avec le bouton droit",
|
|
438
|
+
"molecule3d.input.scroll": "Molette",
|
|
439
|
+
"molecule3d.input.clickAtom": "Cliquer un atome",
|
|
440
|
+
"molecule3d.input.clickBackground": "Cliquer le fond",
|
|
441
|
+
"molecule3d.helpNote": "Les touches agissent tant que le pointeur est sur la molécule. Sur un Mac, Ctrl est la touche Contrôle, pas ⌘. Avec un outil de mesure actif, un clic choisit un atome."
|
|
442
|
+
}
|
|
@@ -8,10 +8,20 @@ export interface Molecule3DGestureKey {
|
|
|
8
8
|
}
|
|
9
9
|
/** One gesture and what it does. */
|
|
10
10
|
export interface Molecule3DGesture {
|
|
11
|
+
/** How the help's catalog names the gesture. */
|
|
12
|
+
id: string;
|
|
11
13
|
/** Keys, and plain text for the mouse part; unique within one gesture. */
|
|
12
14
|
input: ReadonlyArray<string | Molecule3DGestureKey>;
|
|
15
|
+
/** What it does, in English; the catalog answers for the other languages. */
|
|
13
16
|
action: string;
|
|
14
17
|
}
|
|
15
18
|
/** The gestures, in the order the help popover lists them. */
|
|
16
19
|
export declare const MOLECULE_3D_GESTURES: readonly Molecule3DGesture[];
|
|
20
|
+
/**
|
|
21
|
+
* How the catalog names one of the words a gesture writes between its key
|
|
22
|
+
* caps.
|
|
23
|
+
* @param text - The word, in English.
|
|
24
|
+
* @returns Its id, or `undefined` for punctuation nobody translates.
|
|
25
|
+
*/
|
|
26
|
+
export declare function molecule3dInputWordId(text: string): string | undefined;
|
|
17
27
|
//# sourceMappingURL=gestures.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gestures.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/core/gestures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,
|
|
1
|
+
{"version":3,"file":"gestures.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/core/gestures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC;IACpD,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EA0B5D,CAAC;AAgBF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtE"}
|
|
@@ -4,20 +4,52 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/** The gestures, in the order the help popover lists them. */
|
|
6
6
|
export const MOLECULE_3D_GESTURES = [
|
|
7
|
-
{ input: ['Drag'], action: 'Rotate' },
|
|
7
|
+
{ id: 'rotate', input: ['Drag'], action: 'Rotate' },
|
|
8
8
|
{
|
|
9
|
+
id: 'rollDrag',
|
|
9
10
|
input: [{ key: 'Shift' }, '+', { key: 'Ctrl' }, '+ drag'],
|
|
10
11
|
action: 'Rotate in the plane of the screen',
|
|
11
12
|
},
|
|
12
13
|
{
|
|
14
|
+
id: 'rollKeys',
|
|
13
15
|
input: [{ key: 'Q' }, 'or', { key: 'E' }],
|
|
14
16
|
action: 'Rotate in the plane, while held',
|
|
15
17
|
},
|
|
16
|
-
{ input: ['Right-drag'], action: 'Move' },
|
|
17
|
-
{ input: [{ key: 'Ctrl' }, '+ drag'], action: 'Move' },
|
|
18
|
-
{ input: ['Scroll'], action: 'Zoom' },
|
|
19
|
-
{
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
{ id: 'moveDrag', input: ['Right-drag'], action: 'Move' },
|
|
19
|
+
{ id: 'moveCtrl', input: [{ key: 'Ctrl' }, '+ drag'], action: 'Move' },
|
|
20
|
+
{ id: 'zoom', input: ['Scroll'], action: 'Zoom' },
|
|
21
|
+
{
|
|
22
|
+
id: 'clip',
|
|
23
|
+
input: [{ key: 'Shift' }, '+ scroll'],
|
|
24
|
+
action: 'Clip around the centre',
|
|
25
|
+
},
|
|
26
|
+
{ id: 'centreAtom', input: ['Click an atom'], action: 'Centre on it' },
|
|
27
|
+
{
|
|
28
|
+
id: 'centreMolecule',
|
|
29
|
+
input: ['Click the background'],
|
|
30
|
+
action: 'Centre on the molecule',
|
|
31
|
+
},
|
|
22
32
|
];
|
|
33
|
+
// The words a gesture writes between its key caps, keyed here rather than
|
|
34
|
+
// slugged from the text, because `Drag` and `+ drag` would slug alike.
|
|
35
|
+
const INPUT_WORD_IDS = {
|
|
36
|
+
Drag: 'drag',
|
|
37
|
+
'+': 'plus',
|
|
38
|
+
'+ drag': 'plusDrag',
|
|
39
|
+
'+ scroll': 'plusScroll',
|
|
40
|
+
or: 'or',
|
|
41
|
+
'Right-drag': 'rightDrag',
|
|
42
|
+
Scroll: 'scroll',
|
|
43
|
+
'Click an atom': 'clickAtom',
|
|
44
|
+
'Click the background': 'clickBackground',
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* How the catalog names one of the words a gesture writes between its key
|
|
48
|
+
* caps.
|
|
49
|
+
* @param text - The word, in English.
|
|
50
|
+
* @returns Its id, or `undefined` for punctuation nobody translates.
|
|
51
|
+
*/
|
|
52
|
+
export function molecule3dInputWordId(text) {
|
|
53
|
+
return INPUT_WORD_IDS[text];
|
|
54
|
+
}
|
|
23
55
|
//# sourceMappingURL=gestures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gestures.js","sourceRoot":"","sources":["../../../src/molecule3d/core/gestures.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"gestures.js","sourceRoot":"","sources":["../../../src/molecule3d/core/gestures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IAChE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE;IACnD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC;QACzD,MAAM,EAAE,mCAAmC;KAC5C;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,MAAM,EAAE,iCAAiC;KAC1C;IACD,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;IACzD,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;IACtE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;IACjD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC;QACrC,MAAM,EAAE,wBAAwB;KACjC;IACD,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE;IACtE;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,CAAC,sBAAsB,CAAC;QAC/B,MAAM,EAAE,wBAAwB;KACjC;CACF,CAAC;AAEF,0EAA0E;AAC1E,uEAAuE;AACvE,MAAM,cAAc,GAA2B;IAC7C,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,EAAE,EAAE,IAAI;IACR,YAAY,EAAE,WAAW;IACzB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,WAAW;IAC5B,sBAAsB,EAAE,iBAAiB;CAC1C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Molecule3DExport.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/ui/Molecule3DExport.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"Molecule3DExport.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/ui/Molecule3DExport.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAQvE,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,OAAO,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;IACnC,uBAAuB;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,CAoC3E"}
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { DEFAULT_FIGURE_SCALE, FIGURE_SCALES, } from "../../download/core/figureScale.js";
|
|
4
4
|
import { FigureDownloadPanel } from "../../download/ui/FigureDownloadPanel.js";
|
|
5
|
+
import { useChromeT } from "../../i18n/ui/useT.js";
|
|
5
6
|
/**
|
|
6
7
|
* The export panel.
|
|
7
8
|
* @param props - See {@link Molecule3DExportProps}.
|
|
@@ -9,6 +10,7 @@ import { FigureDownloadPanel } from "../../download/ui/FigureDownloadPanel.js";
|
|
|
9
10
|
*/
|
|
10
11
|
export function Molecule3DExport(props) {
|
|
11
12
|
const { getSize, onExport } = props;
|
|
13
|
+
const t = useChromeT();
|
|
12
14
|
const [size] = useState(getSize);
|
|
13
15
|
const [format, setFormat] = useState('png');
|
|
14
16
|
const [scale, setScale] = useState(DEFAULT_FIGURE_SCALE);
|
|
@@ -27,6 +29,6 @@ export function Molecule3DExport(props) {
|
|
|
27
29
|
setSaving(false);
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
|
-
return (_jsx(FigureDownloadPanel, { title:
|
|
32
|
+
return (_jsx(FigureDownloadPanel, { title: t('molecule3d.exportImage'), format: format, scale: scale, scales: FIGURE_SCALES, size: size, failure: failure, saving: saving, rasterSvg: true, onFormatChange: setFormat, onScaleChange: setScale, onSave: () => void save() }));
|
|
31
33
|
}
|
|
32
34
|
//# sourceMappingURL=Molecule3DExport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Molecule3DExport.js","sourceRoot":"","sources":["../../../src/molecule3d/ui/Molecule3DExport.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,EACL,oBAAoB,EACpB,aAAa,GACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"Molecule3DExport.js","sourceRoot":"","sources":["../../../src/molecule3d/ui/Molecule3DExport.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,EACL,oBAAoB,EACpB,aAAa,GACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA2C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAUnD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAe,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACzD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,KAAK,UAAU,IAAI;QACjB,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,CACL,KAAC,mBAAmB,IAClB,KAAK,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,QACT,cAAc,EAAE,SAAS,EACzB,aAAa,EAAE,QAAQ,EACvB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,GACzB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Molecule3DHelp.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/ui/Molecule3DHelp.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Molecule3DHelp.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/ui/Molecule3DHelp.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AASzD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,YAAY,CAgC7C"}
|
|
@@ -4,14 +4,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
4
4
|
* toolbar's help popover.
|
|
5
5
|
*/
|
|
6
6
|
import { Classes } from '@blueprintjs/core';
|
|
7
|
-
import {
|
|
7
|
+
import { useChromeT } from "../../i18n/ui/useT.js";
|
|
8
|
+
import { MOLECULE_3D_GESTURES, molecule3dInputWordId, } from "../core/gestures.js";
|
|
8
9
|
/**
|
|
9
10
|
* The help panel.
|
|
10
11
|
* @returns The panel.
|
|
11
12
|
*/
|
|
12
13
|
export function Molecule3DHelp() {
|
|
13
|
-
|
|
14
|
+
const t = useChromeT();
|
|
15
|
+
return (_jsxs("div", { style: PANEL_STYLE, "data-testid": "molecule3d-help", children: [_jsx("div", { style: GRID_STYLE, children: MOLECULE_3D_GESTURES.map(({ id, input, action }) => (_jsxs("div", { style: ROW_STYLE, children: [_jsx("span", { style: INPUT_STYLE, children: input.map((part) => typeof part === 'string' ? (_jsx("span", { children: word(part) === undefined
|
|
16
|
+
? part
|
|
17
|
+
: t.or(`molecule3d.input.${word(part)}`, part) }, part)) : (_jsx("kbd", { className: Classes.KEY, children: part.key }, part.key))) }), _jsx("span", { children: t.or(`molecule3d.gesture.${id}`, action) })] }, `${inputText(input)} ${action}`))) }), _jsx("p", { className: Classes.TEXT_MUTED, style: NOTE_STYLE, children: t('molecule3d.helpNote') })] }));
|
|
14
18
|
}
|
|
19
|
+
const word = molecule3dInputWordId;
|
|
15
20
|
function inputText(input) {
|
|
16
21
|
return input
|
|
17
22
|
.map((part) => (typeof part === 'string' ? part : part.key))
|