{
  "MEMBRANE_TRANSPORT/screen.activeTransport": "‪Active Transport‬",
  "MEMBRANE_TRANSPORT/a11y.activeTransportScreen.screenButtonsHelpText": "‪Explore conditions to actively transport solutes using transport proteins.‬",
  "MEMBRANE_TRANSPORT/screen.facilitatedDiffusion": "‪Facilitated Diffusion‬",
  "MEMBRANE_TRANSPORT/a11y.facilitatedDiffusionScreen.screenButtonsHelpText": "‪Explore conditions to facilitate diffusion for solutes using transport proteins.‬",
  "MEMBRANE_TRANSPORT/preferencesDialog.simulation.animateLipids.label": "‪Lipids Animation‬",
  "MEMBRANE_TRANSPORT/preferencesDialog.simulation.animateLipids.description": "‪Wiggling animation of phospholipid bilayer forming the cell membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.preferencesDialog.simulation.animateLipids.accessibleContextResponseLeftValue": "‪Lipids Animation off.‬",
  "MEMBRANE_TRANSPORT/a11y.preferencesDialog.simulation.animateLipids.accessibleContextResponseRightValue": "‪Lipids Animation on.‬",
  "MEMBRANE_TRANSPORT/preferencesDialog.simulation.glucoseMetabolism.label": "‪Glucose Metabolism‬",
  "MEMBRANE_TRANSPORT/preferencesDialog.simulation.glucoseMetabolism.description": "‪Glucose molecules fade away inside cell to simulate conversion for cellular metabolism.‬",
  "MEMBRANE_TRANSPORT/a11y.preferencesDialog.simulation.glucoseMetabolism.accessibleContextResponseLeftValue": "‪Glucose Metabolism off.‬",
  "MEMBRANE_TRANSPORT/a11y.preferencesDialog.simulation.glucoseMetabolism.accessibleContextResponseRightValue": "‪Glucose Metabolism on.‬",
  "MEMBRANE_TRANSPORT/preferencesDialog.audio.sounds.stereoCrossingSounds.label": "‪Stereo Crossing Sounds‬",
  "MEMBRANE_TRANSPORT/a11y.preferencesDialog.audio.sounds.stereoCrossingSounds.accessibleContextResponseLeftValue": "‪Stereo Crossing Sounds off.‬",
  "MEMBRANE_TRANSPORT/a11y.preferencesDialog.audio.sounds.stereoCrossingSounds.accessibleContextResponseRightValue": "‪Stereo Crossing Sounds on.‬",
  "MEMBRANE_TRANSPORT/preferencesDialog.audio.sounds.stereoCrossingSounds.description": "‪Emphasize solute transport direction by mapping sound to right (outside to inside) and left (inside to outside) channels.‬",
  "MEMBRANE_TRANSPORT/screen.playground": "‪Playground‬",
  "MEMBRANE_TRANSPORT/a11y.playgroundScreen.screenButtonsHelpText": "‪Play with all solutes and all transport proteins.‬",
  "MEMBRANE_TRANSPORT/screen.simpleDiffusion": "‪Simple Diffusion‬",
  "MEMBRANE_TRANSPORT/a11y.simpleDiffusionScreen.screenButtonsHelpText": "‪Explore what solutes can diffuse freely in a cellular environment.‬",
  "MEMBRANE_TRANSPORT/settings.crossingHighlights": "‪Crossing Highlights‬",
  "MEMBRANE_TRANSPORT/a11y.settings.crossingHighlightsCheckbox.accessibleHelpText": "‪Explore with or without visual highlights for solute crossings.‬",
  "MEMBRANE_TRANSPORT/a11y.settings.crossingHighlightsCheckbox.accessibleContextResponseChecked": "‪Visual highlights for solute crossings, on.‬",
  "MEMBRANE_TRANSPORT/a11y.settings.crossingHighlightsCheckbox.accessibleContextResponseUnchecked": "‪Visual highlights for solute crossings, off.‬",
  "MEMBRANE_TRANSPORT/settings.crossingSounds": "‪Crossing Sounds‬",
  "MEMBRANE_TRANSPORT/a11y.settings.crossingSoundsCheckbox.accessibleHelpText": "‪Explore with or without unique sounds for solute crossings.‬",
  "MEMBRANE_TRANSPORT/a11y.settings.crossingSoundsCheckbox.accessibleContextResponseChecked": "‪Solute crossing sounds on.‬",
  "MEMBRANE_TRANSPORT/a11y.settings.crossingSoundsCheckbox.accessibleContextResponseUnchecked": "‪Solute crossing sounds off.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControls.accessibleHeading": "‪Solute Adjusters‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControls.accessibleHelpText": "‪Add or remove chosen solute to outside or inside of cell.‬",
  "MEMBRANE_TRANSPORT/a11y.eraseSolutesButton.accessibleName": "‪Erase All Solutes‬",
  "MEMBRANE_TRANSPORT/a11y.eraseSolutesButton.accessibleContextResponse": "‪Solutes cleared. Add solutes to observe changes.‬",
  "MEMBRANE_TRANSPORT/a11y.eraseSolutesButton.accessibleHelpText": "‪Disabled when no solutes have been added.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.soluteAdjusters.addOrRemoveALot": "‪Adjust chosen solute amount‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.soluteAdjusters.addOrRemoveALotDescription": "‪Adjust chosen solute amount with Left and Right Arrow keys or A and D letter keys.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.soluteAdjusters.addOrRemoveALittle": "‪Adjust in smaller amounts‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.soluteAdjusters.addOrRemoveALittleDescription": "‪Adjust in smaller amounts with Shift plus Left and Right Arrow keys or Shift plus A and D letter keys.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.soluteAdjusters.title": "‪Solute Adjusters‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.sortOrDeleteProteins.navigateProteins": "‪Navigate proteins in membrane‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.sortOrDeleteProteins.navigateProteinsDescription": "‪Navigate proteins in membrane with Left and Right Arrow keys or A and D letter keys.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.sortOrDeleteProteins.grabProtein": "‪Grab protein in membrane‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.sortOrDeleteProteins.grabProteinDescription": "‪Grab protein in membrane with Space or Enter keys.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.sortOrDeleteProteins.moveGrabbedProtein": "‪Move grabbed protein between slots‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.sortOrDeleteProteins.moveGrabbedProteinDescription": "‪Move grabbed protein between slots with Left and Right Arrow keys or A and D letter keys.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.sortOrDeleteProteins.releaseProtein": "‪Release grabbed protein into empty slot or swap slots‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.sortOrDeleteProteins.releaseProteinDescription": "‪Release grabbed protein into empty slot or swap slots with Space or Enter keys.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.sortOrDeleteProteins.deleteProtein": "‪Delete grabbed protein‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.sortOrDeleteProteins.deleteProteinDescription": "‪Delete grabbed protein with Backspace or Delete key.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.sortOrDeleteProteins.title": "‪Sort or Delete Proteins in Membrane‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.transportProteinsAndLigands.navigate": "‪Navigate proteins in toolbox or added ligands‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.transportProteinsAndLigands.navigateDescription": "‪Navigate proteins in toolbox or added ligands with Tab key.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.transportProteinsAndLigands.grabOrRelease": "‪Grab or release‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.transportProteinsAndLigands.grabOrReleaseDescription": "‪Grab or release with Space or Enter keys.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.transportProteinsAndLigands.moveGrabbedItem": "‪Move grabbed protein or ligand between available drop locations‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.transportProteinsAndLigands.moveGrabbedItemDescription": "‪Move grabbed protein or ligand between available drop locations with Left and Right Arrow keys or A and D letter keys.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.transportProteinsAndLigands.cancelGrab": "‪Cancel grab or move interaction‬",
  "MEMBRANE_TRANSPORT/a11y.keyboardHelp.transportProteinsAndLigands.cancelGrabDescription": "‪Cancel grab or move interaction with Escape key.‬",
  "MEMBRANE_TRANSPORT/keyboardHelp.transportProteinsAndLigands.title": "‪Transport Proteins or Ligands‬",
  "MEMBRANE_TRANSPORT/soluteNames.oxygen": "‪O<sub>2</sub>‬",
  "MEMBRANE_TRANSPORT/soluteNames.carbonDioxide": "‪CO<sub>2</sub>‬",
  "MEMBRANE_TRANSPORT/soluteNames.sodiumIon": "‪Na<sup>+</sup>‬",
  "MEMBRANE_TRANSPORT/soluteNames.potassiumIon": "‪K<sup>+</sup>‬",
  "MEMBRANE_TRANSPORT/soluteNames.glucose": "‪Glucose‬",
  "MEMBRANE_TRANSPORT/soluteNames.atp": "‪ATP‬",
  "MEMBRANE_TRANSPORT/a11y.solutesPanel.oxygenRadioButton": "‪Oxygen, O2, nonpolar, small‬",
  "MEMBRANE_TRANSPORT/a11y.solutesPanel.carbonDioxideRadioButton": "‪Carbon Dioxide, CO2, nonpolar, small‬",
  "MEMBRANE_TRANSPORT/a11y.solutesPanel.sodiumIonRadioButton": "‪Sodium Ion, Na, positive, small‬",
  "MEMBRANE_TRANSPORT/a11y.solutesPanel.potassiumIonRadioButton": "‪Potassium Ion, K, positive, small‬",
  "MEMBRANE_TRANSPORT/a11y.solutesPanel.glucoseRadioButton": "‪Glucose, hexagonal ring, large‬",
  "MEMBRANE_TRANSPORT/a11y.solutesPanel.atpRadioButton": "‪Adenosine Triphosphate, ATP, complex, large‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.hints.ligandGatedChannelWithoutLigands": "‪Ligand-gated protein closed. Look for ligands‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.hints.voltageGatedChannelAtRestingPotential": "‪Voltage-gated protein closed. Check membrane potential‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.hints.pumpAwaitingPhosphateWithoutATP": "‪Pump needs phosphate source‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.hints.sodiumGlucoseCotransporterWithLowOutsideSodium": "‪Cotransporter not binding sodium. Outside sodium too low‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.sentencePattern": "‪{ $content }.‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.crossingChannelsWithDirection": "‪{ a11y_solutes_briefName } crossing channels, { a11y_solutes_averageCrossingDirection }‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.crossingMembraneWithDirection": "‪{ a11y_solutes_briefName } crossing membrane, { a11y_solutes_averageCrossingDirection }‬",
  "MEMBRANE_TRANSPORT/a11y.solutes.briefName": "‪{ $soluteType ->\n  [oxygen]        Oxygen\n  [carbonDioxide] Carbon Dioxide\n  [sodiumIon]     Sodium\n  [potassiumIon]  Potassium\n  [glucose]       Glucose\n *[atp]           ATP\n}‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.multipleSolutesCrossing": "‪{ $soluteNames }, crossing‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.sodiumPumpedOutsideAndPotassiumPumpedInside": "‪sodium pumped outside and potassium pumped inside‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.sodiumPumpedOutside": "‪sodium pumped outside‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.potassiumPumpedInside": "‪potassium pumped inside‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.sodiumAndGlucoseShuttledInside": "‪sodium and glucose shuttled inside‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.soluteComparisonWithName": "‪{ a11y_solutes_briefName }, { a11y_solutes_amountComparison }‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.crossingSteadilyInBothDirections": "‪{ a11y_solutes_briefName } crossing steadily in both directions, each side roughly equal‬",
  "MEMBRANE_TRANSPORT/a11y.solutes.amountComparison": "‪{ $amount ->\n  *[none]  none\n  [equal] amounts exactly equal outside and inside\n  [allOutside] all outside, none inside\n  [allInside] all inside, none outside\n  [manyManyMoreOutside] way more outside than inside\n  [manyMoreOutside] many more outside than inside\n  [aboutTwiceAsManyOutside] about twice as many outside as inside\n  [aLotMoreOutside] a lot more outside than inside\n  [someMoreOutside] some more outside than inside\n  [littleBitMoreOutside] a little bit more outside than inside\n  [roughlyEqualOutside] roughly equal amounts inside and outside\n  [manyManyMoreInside] way more inside than outside\n  [manyMoreInside] many more inside than outside\n  [aboutTwiceAsManyInside] about twice as many inside as outside\n  [aLotMoreInside] a lot more inside than outside\n  [someMoreInside] some more inside than outside\n  [littleBitMoreInside] a little bit more inside than outside\n  [roughlyEqualInside] roughly equal amounts inside and outside\n}‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.commaSeparator": "‪,‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.andSeparator": "‪and‬",
  "MEMBRANE_TRANSPORT/a11y.membraneTransportDescriber.particleCrossing": "‪{ a11y_solutes_briefName } crossing { $direction ->\n  [inward] in\n *[outward] out\n}‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.leadingParagraph": "‪Right now, zoomed-in cross section of cell has:‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.playArea.screen1": "‪{ a11y_screenSummary_playArea_intro } { a11y_screenSummary_playArea_barCharts }‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.playArea.screen2and4": "‪{ a11y_screenSummary_playArea_intro } { a11y_screenSummary_playArea_proteins } { a11y_screenSummary_playArea_potential } { a11y_screenSummary_playArea_barCharts }‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.playArea.screen3": "‪{ a11y_screenSummary_playArea_intro } { a11y_screenSummary_playArea_proteins } { a11y_screenSummary_playArea_barCharts }‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.controlArea": "‪You can pause action or slow it down to hear more details, add or remove sounds and highlights that enhance solute crossings, and you can reset everything to start over.‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.interactionHint": "‪Add or remove solute to outside or inside of cell and observe solute concentrations.‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.interactionHintWithTransportProteins": "‪Add or remove solutes to outside or inside of cell, move transport proteins to membrane, and observe solute concentrations.‬",
  "MEMBRANE_TRANSPORT/a11y.observationWindow.accessibleHeading": "‪Observation Window‬",
  "MEMBRANE_TRANSPORT/outsideSodiumTooLow": "‪Outside Sodium Too Low!‬",
  "MEMBRANE_TRANSPORT/soluteConcentrationsAccordionBox.title": "‪Solute Concentrations‬",
  "MEMBRANE_TRANSPORT/a11y.soluteConcentrationsAccordionBox.accessibleContextResponseExpanded": "‪Dynamic bar charts show solute details.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteConcentrationsAccordionBox.accessibleContextResponseCollapsed": "‪Dynamic bar charts hidden.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteConcentrationsAccordionBox.voicingHintResponseCollapsed": "‪Expand to show dynamic bar charts with solute details.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteConcentrationsAccordionBox.descriptionContent": "‪Dynamic bar charts show concentration comparisons and recent crossings for each solute. If needed, pause sim to read details.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.inside.accessibleName": "‪{ a11y_solutes_uppercaseName } Inside Cell‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.outside.accessibleName": "‪{ a11y_solutes_uppercaseName } Outside Cell‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.outside.readingBlockNameResponse": "‪{ a11y_soluteControl_accessibleObjectResponse }, Outside‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.inside.readingBlockNameResponse": "‪{ a11y_soluteControl_accessibleObjectResponse }, Inside‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.voicingHintResponse": "‪Adjust chosen solute with Arrow keys or Arrow buttons.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.accessibleObjectResponse": "‪{ $amount ->\n  [none] no\n  [few] a few\n  [some] some\n  [smallAmount] small amount of\n  [several] several\n  [many] many\n  [largeAmount] large amount of\n  [hugeAmount] huge amount of\n *[maxAmount] max amount of\n} { a11y_solutes_lowercaseName }‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.accessibleContextResponse": "‪{ $addedOrRemoved ->\n  [addedToMax] {$delta} added, solute at max\n  [removedToMin] Removed\n  [added]  {$delta} added\n *[removed] {$delta} removed\n}. Now, { a11y_solutes_amountComparison }.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.accessibleRoleDescription": "‪solute adjuster‬",
  "MEMBRANE_TRANSPORT/cellRegions.outside": "‪Outside‬",
  "MEMBRANE_TRANSPORT/cellRegions.inside": "‪Inside‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.accessibleObjectResponseAtMax": "‪solute at max‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.accessibleHelpTextAllDisabled": "‪Disabled, total chosen solute at max amount.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.inside.accessibleHelpText": "‪Adjust chosen solute amount on inside with Arrow keys or alternate keyboard shortcuts.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteControl.outside.accessibleHelpText": "‪Adjust chosen solute amount on outside with Arrow keys or alternate keyboard shortcuts.‬",
  "MEMBRANE_TRANSPORT/solutes": "‪Solutes‬",
  "MEMBRANE_TRANSPORT/a11y.solutesPanel.accessibleHelpText": "‪Choose a solute for the Solute Adjusters.‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.leakageChannels": "‪Leakage Channels‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.leakageChannelPanel.accessibleHelpText": "‪Transmembrane single channel proteins, always open.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.leakageChannelPanel.sodiumIonNaPlusLeakage": "‪Grab Sodium-selective, Leakage‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.leakageChannelPanel.potassiumIonKPlusLeakage": "‪Grab Potassium-selective, Leakage‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.voltageGatedChannels": "‪Voltage-gated Channels‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.accessibleHelpText": "‪Transmembrane single channel proteins that can be open or closed.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.sodiumIonNaPlusVoltageGated": "‪Grab Sodium-selective, Voltage-gated‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.potassiumIonKPlusVoltageGated": "‪Grab Potassium-selective, Voltage-gated‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.ligandGatedChannels": "‪Ligand-gated Channels‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.ligandGatedChannelPanel.accessibleHelpText": "‪Transmembrane single channel proteins that can be open or closed. When closed has a triangle- or star-shaped ligand binding site.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.ligandGatedChannelPanel.sodiumIonNaPlusLigandGated": "‪Grab Sodium-selective, Ligand-gated‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.ligandGatedChannelPanel.potassiumIonKPlusLigandGated": "‪Grab Potassium-selective, Ligand-gated‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.activeTransporters": "‪Active Transporters‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.activeTransportProteinPanel.accessibleHelpText": "‪Proteins that open to one side at a time. Sodium Potassium Pump, when open to inside has binding sites for 3 \n  sodium and 1 phosphate. When open to outside has binding sites for 2 potassium. Sodium-Glucose Cotransporter, \n  only open to outside and has binding sites for 2 sodium and 1 glucose. Requires higher outside sodium concentration to shuttle.‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.naPlusKPlusPump": "‪Na<sup>+</sup>/K<sup>+</sup><br>Pump‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.activeTransportProteinPanel.sodiumPotassiumPump": "‪Grab Sodium-Potassium Pump‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.sodiumGlucoseCotransporter": "‪Na<sup>+</sup>/Glucose<br>Cotransporter‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.activeTransportProteinPanel.sodiumGlucoseCotransporter": "‪Grab Sodium-Glucose Cotransporter‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.accessibleHeading": "‪Transport Protein Toolbox‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.accessibleHelpText": "‪Look for proteins to grab. Once grabbed, use keyboard shortcuts to release in a membrane slot. Grab again from membrane to sort or delete.‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.noAddedSolutes": "‪no added solutes‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.soluteTypesOnOutside": "‪{ $count ->\n  [one] { $count } solute type on outside\n *[other] { $count } solute types on outside\n}‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.soluteTypesOnInside": "‪{ $count ->\n  [one] { $count } solute type on inside\n *[other] { $count } solute types on inside\n}‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.noAddedProteins": "‪no added proteins‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.transportProteins": "‪{ $proteinCount ->\n  [one] { $proteinCount} protein\n  *[other] { $proteinCount} proteins\n} of { $proteinTypeCount ->\n  [one] { $proteinTypeCount } type\n *[other] { $proteinTypeCount} types\n}, in membrane‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.ligands": "‪2 added ligand types on outside only‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.atpReacting": "‪ATP reacting to form ADP and phosphate, which regularly fade away on the inside‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.membranePotential": "‪membrane potential of { a11y_membranePotentialValue }‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.currentDetails.glucoseMetabolism": "‪Glucose disappears from inside as it is metabolized by the cell‬",
  "MEMBRANE_TRANSPORT/a11y.cellMembrane.accessibleHelpText.proteinsHidden.noSolutes": "‪Look to adjust solute types and amounts.‬",
  "MEMBRANE_TRANSPORT/a11y.cellMembrane.accessibleHelpText.proteinsHidden.withSolutes": "‪Observe crossing solutes. Look to adjust solute types and amounts.‬",
  "MEMBRANE_TRANSPORT/a11y.cellMembrane.accessibleHelpText.proteinsShown.noProteins.noSolutes": "‪Look to add solutes and proteins.‬",
  "MEMBRANE_TRANSPORT/a11y.cellMembrane.accessibleHelpText.proteinsShown.noProteins.withSolutes": "‪Observe crossing solutes. Look to adjust solutes and proteins.‬",
  "MEMBRANE_TRANSPORT/a11y.cellMembrane.accessibleHelpText.proteinsShown.withProteins.noSolutes": "‪Look to adjust solutes and proteins.‬",
  "MEMBRANE_TRANSPORT/a11y.cellMembrane.accessibleHelpText.proteinsShown.withProteins.withSolutes": "‪Observe crossing solutes and protein changes. Look to adjust solutes and proteins.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteConcentrationsAccordionBox.barChart.accessibleNameWithParticles": "‪{ a11y_solutes_uppercaseName }: { a11y_solutes_amountComparison }; crossings { a11y_solutes_averageCrossingDirection }; { $outsideAmount ->\n  [none] none\n  [few] a few\n  [some] some\n  [smallAmount] small amount\n  [several] several\n  [many] many\n  [largeAmount] large amount\n  [hugeAmount] huge amount\n *[maxAmount] max amount\n} outside, { $insideAmount ->\n  [none] none\n  [few] a few\n  [some] some\n  [smallAmount] small amount\n  [several] several\n  [many] many\n  [largeAmount] large amount\n  [hugeAmount] huge amount\n *[maxAmount] max amount\n} inside.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteConcentrationsAccordionBox.barChart.accessibleNameWithNoParticles": "‪{ a11y_solutes_uppercaseName }: none outside, none inside.‬",
  "MEMBRANE_TRANSPORT/a11y.soluteConcentrationsAccordionBox.barChart.accessibleNameWithParticlesAndGlucoseMetabolism": "‪{ a11y_soluteConcentrationsAccordionBox_barChart_accessibleNameWithParticles } { a11y_soluteConcentrationsAccordionBox_barChart_glucoseMetabolism }‬",
  "MEMBRANE_TRANSPORT/a11y.soluteConcentrationsAccordionBox.barChart.accessibleNameWithNoParticlesAndGlucoseMetabolism": "‪{ a11y_soluteConcentrationsAccordionBox_barChart_accessibleNameWithNoParticles } { a11y_soluteConcentrationsAccordionBox_barChart_glucoseMetabolism }‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.accessibleName": "‪{ $ligandType ->\n[starLigand]     Star Ligand\n*[triangleLigand] Triangle Ligand\n}‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.voicingHintResponse": "‪Move to ligand-gated protein.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.movedOffMembraneResponse": "‪Off membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.movedAboveLeakageChannelResponse": "‪Above { a11y_transportProtein_briefName }, { $index } of { $transportProteinCount } Proteins.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.movedAboveLigandGatedChannelResponse": "‪Above { $openOrClosed ->\n[open]   open\n*[closed] closed\n} { a11y_transportProtein_briefName } { $proteinType ->\n[sodiumIonLigandGatedChannel] Triangle Site\n*[potassiumIonLigandGatedChannel]     Star Site\n}, { $index } of { $transportProteinCount } Proteins.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.movedAboveOtherChannelResponse": "‪Above { $openOrClosed ->\n[open]   open\n*[closed] closed\n} { a11y_transportProtein_briefName }, { $index } of { $transportProteinCount } Proteins.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.accessibleHelpText": "‪Grab a ligand. Once grabbed, use keyboard shortcuts to move ligand to binding site. Release to bind or let ligands bind naturally.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.releasedResponse": "‪Released.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.releasedOffMembraneResponse": "‪Released. { a11y_ligandNode_accessibleName } floats away.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.releasedOnProteinResponse": "‪Released. Binding successful. Protein opens.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.releasedOnBusyOrIncompatibleProteinResponse": "‪Released. Binding unsuccessful. Ligand floats away.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.grabbedResponseWithEmptyMembraneHint": "‪{ a11y_ligandNode_grabbedResponse } Space to release. Add transport proteins.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.grabbedResponse": "‪Grabbed. Off membrane. { $proteinCount } Proteins in Membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.grabbedResponseWithHint": "‪{ a11y_ligandNode_grabbedResponse } Move ligand with A or D keys. Space to release.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandNode.unboundResponse": "‪Ligand floats away. Protein closes.‬",
  "MEMBRANE_TRANSPORT/a11y.cellMembrane.leadingParagraph": "‪Zoomed-in cross section of cell has:‬",
  "MEMBRANE_TRANSPORT/a11y.cellMembrane.accessibleHeading": "‪Cell Membrane‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.briefName": "‪{ $type ->\n  [sodiumIonLeakageChannel]         Sodium-selective, Leakage\n  [potassiumIonLeakageChannel]      Potassium-selective, Leakage\n  [sodiumIonVoltageGatedChannel]    Sodium-selective, Voltage-Gated\n  [potassiumIonVoltageGatedChannel] Potassium-selective, Voltage-Gated\n  [sodiumIonLigandGatedChannel]     Sodium-selective, Ligand-Gated\n  [potassiumIonLigandGatedChannel]  Potassium-selective, Ligand-Gated\n  [sodiumPotassiumPump]             Sodium Potassium Pump\n *[sodiumGlucoseCotransporter]      Sodium-Glucose Cotransporter\n}‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.proteinLocation": "‪in Membrane, { $proteinIndex } of { $proteinCount } Proteins‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.accessibleName": "‪{ $nameResponse }, { a11y_transportProtein_proteinLocation }‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.accessibleObjectResponse": "‪{ $state ->\n   [openToInsideEmpty] open to inside\n   [openToInsideSodiumBound] open to inside\n   [openToInsideSodiumAndATPBound] open to inside\n   [openToInsideSodiumAndPhosphateBound] open to inside\n   [openToOutsideAwaitingPotassium] open to outside\n   [openToOutsidePotassiumBound] open to outside\n\n   [openToOutsideAwaitingParticles] open to outside \n   [openToOutsideAllParticlesBound] open to outside\n   [openToInside] open to inside\n\n   [closedNegative70mV] closed\n   [openNegative50mV] open \n   [closed30mV] closed\n\n   [closedNegative50mV] closed\n   [open30mV] open\n\n   [ligandBoundClosed] closed\n   [ligandBoundOpen] open\n   [ligandUnboundOpen] open\n   [closed] closed\n\n   *[open] open \n}‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.accessibleContextResponse": "‪{ $state ->\n   [openToInsideEmpty] Phosphate floats away, pumping 2 potassium to inside\n   [openToInsideSodiumAndATPBound] ATP reacts, phosphate binds, pumping 3 sodium to outside\n\n   *[openToInside] { $glucoseBehavior ->\n     [metabolized] Shuttles 2 sodium, one glucose inside, shuttled glucose metabolized\n     *[persistent] Shuttles 2 sodium, one glucose inside\n   }\n\n   [ligandBoundOpen] { $proteinType ->\n     [sodiumIonLigandGatedChannel] Triangle ligand binds, open\n     *[potassiumIonLigandGatedChannel] Star ligand binds, open\n   }\n   [closed] { $proteinType ->\n     [sodiumIonLigandGatedChannel] Triangle ligand floats away, closed\n     *[potassiumIonLigandGatedChannel] Star ligand floats away, closed\n   }\n}.‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.removeLigands": "‪Remove Ligands‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.addLigands": "‪Add Ligands‬",
  "MEMBRANE_TRANSPORT/a11y.ligandToggleButton.accessibleHelpText": "‪Add or remove triangle- and star-shaped ligands to outside of cell.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandToggleButton.addedAccessibleContextResponse": "‪Outside flooded with ligands.‬",
  "MEMBRANE_TRANSPORT/a11y.ligandToggleButton.removedAccessibleContextResponse": "‪Ligands removed.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.membranePotential.radioButtonGroup.negative70RadioButton.accessibleName": "‪negative 70 millivolts‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.membranePotential.radioButtonGroup.negative50RadioButton.accessibleName": "‪negative 50 millivolts‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.membranePotential.radioButtonGroup.positive30RadioButton.accessibleName": "‪positive 30 millivolts‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.membranePotential.radioButtonGroup.accessibleName": "‪Membrane Potential‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.membranePotential.radioButtonGroup.accessibleHelpText": "‪Adjust millivolts and observe proteins.‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.membranePotentialMV": "‪Membrane Potential (mV)‬",
  "MEMBRANE_TRANSPORT/transportProteinToolbox.charges": "‪Charges‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.chargesCheckbox.accessibleHelpText": "‪Explore with or without charge signs showing membrane potential along inside and outside.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.chargesCheckbox.accessibleContextResponseUnchecked": "‪Membrane potential charge signs, hidden.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.chargesCheckbox.accessibleContextResponseCheckedNegative70": "‪Positive outside and negative inside; charge signs densely packed along membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.chargesCheckbox.accessibleContextResponseCheckedNegative50": "‪Positive outside and negative inside; charge signs lightly packed along membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.chargesCheckbox.accessibleContextResponseCheckedPositive30": "‪Negative outside and positive inside; charge signs sparse along membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProteinToolbox.voltageGatedChannelPanel.chargesCheckbox.voicingHelpText": "‪Explore with or without charge signs along membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.voicingHintResponse.mouseInputFromToolbox": "‪Move to membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.voicingHintResponse.general": "‪Space to grab or release.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.grabbedResponse": "‪Grabbed.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.cancelledBackToToolboxResponse": "‪Back in toolbox.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.reorderedResponse": "‪Reordered.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.deletedResponse": "‪Grabbed protein deleted.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.cancelledBackToSlotResponse": "‪Cancelled. Back in membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.releasedReplacedResponse": "‪Released in membrane. Protein replaced.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.voicingHintResponse.mouseInputFromMembrane": "‪Reorder or remove from membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.initialGrabbedHintResponse": "‪Choose slot with A or D keys. Space to release. Delete to remove.‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.accessibleNameMoving": "‪Slot { $slotIndex } of { $slotCount }‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.empty": "‪empty slot‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.accessibleObjectResponseMoving": "‪above { $slotContents }‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.accessibleNameAndObjectResponse": "‪{ $nameResponse }, { $objectResponse }‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.offMembraneResponse": "‪Above toolbox, off membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.sortable": "‪sortable‬",
  "MEMBRANE_TRANSPORT/a11y.transportProtein.accessibleParagraph": "‪{ $state ->\n   [openToInsideEmpty] Awaiting sodium, open to inside\n   [openToInsideSodiumBound] 3 sodium bound, awaiting phosphate, open to inside\n   [openToInsideSodiumAndATPBound] ATP reacts, phosphate bound, pumping 3 sodium to outside, open to inside\n   [openToInsideSodiumAndPhosphateBound] Phosphate bound, pumping 3 sodium to outside, open to inside\n   [openToOutsideAwaitingPotassium] Awaiting potassium, phosphate bound, open to outside\n   [openToOutsidePotassiumBound] Phosphate floating away, pumping 2 potassium to inside, open to outside\n\n   [openToOutsideAwaitingParticles] { $warning ->\n     [shown] Warning, outside sodium too low for binding, open to outside\n     *[hidden] Awaiting sodium and glucose, open to outside\n   }\n   [openToOutsideAllParticlesBound] Sodium and glucose bound, open to outside\n   [openToInside] Pumping sodium and glucose to inside, open to inside\n\n   [ligandBoundClosed] { $proteinType ->\n     [sodiumIonLigandGatedChannel] Triangle ligand binding, channel opening\n     *[potassiumIonLigandGatedChannel] Star ligand binding, channel opening\n   }\n   [ligandBoundOpen] { $proteinType ->\n     [sodiumIonLigandGatedChannel] Channel open with bound triangle ligand\n     *[potassiumIonLigandGatedChannel] Channel open with bound star ligand\n   }\n   [ligandUnboundOpen] { $proteinType ->\n     [sodiumIonLigandGatedChannel] Triangle ligand floats away, channel closing \n     *[potassiumIonLigandGatedChannel] Star ligand floats away, channel closing\n   }\n   [closed] { $proteinType ->\n     [sodiumIonLigandGatedChannel] Channel closed with no bound triangle ligand\n     *[potassiumIonLigandGatedChannel] Channel closed with no bound star ligand\n   }\n\n   [closedNegative70mV] Channel closed at -70 mV\n   [openNegative50mV] Channel open at -50 mV\n   [closed30mV] Channel closed at 30 mV\n\n   [closedNegative50mV] Channel closed at -50 mV\n   [open30mV] Channel open at 30 mV\n\n   *[open] Channel open\n}.‬",
  "MEMBRANE_TRANSPORT/a11y.navigable": "‪navigable‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotential.sodiumOpenedPotassiumOpenedResponse": "‪{ a11y_membranePotential_sodiumVoltageGatedOpenedResponse } { a11y_membranePotential_potassiumVoltageGatedOpenedResponse }‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotential.sodiumOpenedPotassiumClosedResponse": "‪{ a11y_membranePotential_sodiumVoltageGatedOpenedResponse } { a11y_membranePotential_potassiumVoltageGatedClosedResponse }‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotential.sodiumClosedPotassiumOpenedResponse": "‪{ a11y_membranePotential_potassiumVoltageGatedOpenedResponse } { a11y_membranePotential_sodiumVoltageGatedClosedResponse }‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotential.sodiumClosedPotassiumClosedResponse": "‪Voltage-gated channels closed.‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotential.sodiumVoltageGatedOpenedResponse": "‪Sodium-selective Voltage-gated, open.‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotential.sodiumVoltageGatedClosedResponse": "‪Sodium-selective Voltage-gated, closed.‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotential.potassiumVoltageGatedOpenedResponse": "‪Potassium-selective Voltage-gated, open.‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotential.potassiumVoltageGatedClosedResponse": "‪Potassium-selective Voltage-gated, closed.‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotential.noChangeResponse": "‪No change in transport proteins.‬",
  "MEMBRANE_TRANSPORT/membrane-transport.title": "‪Membrane Transport‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.playArea.barCharts": "‪Bar charts of solute concentrations dynamically compare solute amounts outside and inside cell.‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.playArea.intro": "‪An observation window zooms in on a very small cross-section of a cell's membrane.\n  The membrane consists of a wiggling phospholipid bilayer, a double-layered sheet\n  that separates fluids inside and outside of cell. When added to outside or inside,\n  solute particles are suspended in fluid and randomly move with Brownian motion.‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.playArea.potential": "‪There are options to change cell environment and affect added proteins.‬",
  "MEMBRANE_TRANSPORT/a11y.screenSummary.playArea.proteins": "‪Transport proteins of different types can be added directly to membrane.‬",
  "MEMBRANE_TRANSPORT/a11y.membranePotentialValue": "‪{ $membranePotential ->\n  [-70] negative 70\n  [-50] negative 50\n  *[30] positive 30\n} millivolts‬",
  "MEMBRANE_TRANSPORT/a11y.solutes.uppercaseName": "‪{ $soluteType ->\n  [oxygen]        Oxygen Molecules\n  [carbonDioxide] Carbon Dioxide molecules\n  [sodiumIon]     Sodium Ions\n  [potassiumIon]  Potassium Ions\n  [glucose]       Glucose Molecules\n *[atp]           ATP Molecules\n}‬",
  "MEMBRANE_TRANSPORT/a11y.solutes.lowercaseName": "‪{ $soluteType ->\n  [oxygen]        oxygen molecules\n  [carbonDioxide] carbon dioxide molecules\n  [sodiumIon]     sodium ions\n  [potassiumIon]  potassium ions\n  [glucose]       glucose molecules\n *[atp]           ATP molecules\n}‬",
  "MEMBRANE_TRANSPORT/a11y.solutes.averageCrossingDirection": "‪{ $direction ->\n  [toOutside] to outside\n  [mostlyToOutside] mostly to outside\n  [inBothDirections] in both directions\n  [mostlyToInside] mostly to inside\n  [toInside] to inside\n  *[none] none recently\n}‬",
  "MEMBRANE_TRANSPORT/a11y.soluteConcentrationsAccordionBox.barChart.glucoseMetabolism": "‪Glucose disappears from inside as it is metabolized by cell.‬",
  "JOIST/a11y.preferences.tabs.labelledDescriptionPattern": "‪{{label}}, {{description}}‬",
  "JOIST/simTitleWithScreenNamePattern": "‪{{simName}} — {{screenName}}‬",
  "JOIST/a11y.home": "‪Home‬",
  "JOIST/a11y.homeScreenButtonDetailsPattern": "‪On {{name}}, {{screenHint}}‬",
  "JOIST/a11y.homeScreenHint": "‪Choose a screen to start exploring.‬",
  "JOIST/a11y.homeScreenDescriptionPattern": "‪Welcome to {{name}}. It has {{screens}} interactive screens that you can explore.‬",
  "JOIST/a11y.homeScreenIntroPattern": "‪{{description}} {{hint}}‬",
  "JOIST/a11y.simScreens": "‪Sim Screens‬",
  "JOIST/a11y.simResources": "‪Sim Resources‬",
  "JOIST/queryParametersWarningDialog.invalidQueryParameters": "‪Invalid Query Parameters‬",
  "JOIST/queryParametersWarningDialog.oneOrMoreQueryParameters": "‪One or more of these query parameters have<br>invalid values:‬",
  "JOIST/queryParametersWarningDialog.theSimulationWillStart": "‪The simulation will start with default values for<br>those query parameters.‬",
  "JOIST/a11y.screenNamePattern": "‪{{name}} Screen‬",
  "JOIST/a11y.goToScreenPattern": "‪Go to {{name}} Screen.‬",
  "JOIST/a11y.screenSimPattern": "‪{{screenName}}, {{simName}}‬",
  "JOIST/a11y.simScreen": "‪Sim Screen‬",
  "JOIST/a11y.voicingToolbar.openToolbar": "‪Open Toolbar‬",
  "JOIST/a11y.voicingToolbar.closeToolbar": "‪Close Toolbar‬",
  "JOIST/a11y.voicingToolbar.hideToolbar": "‪Hide Toolbar‬",
  "JOIST/a11y.voicingToolbar.showToolbar": "‪Show Toolbar‬",
  "JOIST/a11y.voicingToolbar.toolbarShown": "‪Toolbar Shown.‬",
  "JOIST/a11y.voicingToolbar.toolbarHidden": "‪Toolbar hidden.‬",
  "JOIST/a11y.phetMenu": "‪PhET Menu‬",
  "JOIST/a11y.voicingToolbar.voicing.title": "‪Sim Voicing‬",
  "JOIST/a11y.voicingToolbar.voicing.quickInfo": "‪Quick Info‬",
  "JOIST/a11y.voicingToolbar.voicing.simVoicingOnAlert": "‪Sim Voicing on.‬",
  "JOIST/a11y.voicingToolbar.voicing.simVoicingOffAlert": "‪Sim Voicing off.‬",
  "JOIST/a11y.voicingToolbar.title": "‪Toolbar‬",
  "JOIST/a11y.voicingToolbar.voicing.playOverviewLabel": "‪Play Overview‬",
  "JOIST/a11y.voicingToolbar.voicing.playDetailsLabel": "‪Play Details‬",
  "JOIST/a11y.voicingToolbar.voicing.playHintLabel": "‪Play Hint‬",
  "JOIST/a11y.voicingToolbar.voicing.overviewLabel": "‪Overview‬",
  "JOIST/a11y.voicingToolbar.voicing.detailsLabel": "‪Details‬",
  "JOIST/a11y.voicingToolbar.voicing.hintLabel": "‪Hint‬",
  "JOIST/a11y.keyboardHelp.keyboardShortcuts": "‪Keyboard Shortcuts‬",
  "JOIST/a11y.soundToggle.label": "‪All Audio‬",
  "JOIST/a11y.soundToggle.alert.simSoundOn": "‪Audio Features on.‬",
  "JOIST/a11y.soundToggle.alert.simSoundOff": "‪Audio Features off.‬",
  "JOIST/preferences.title": "‪Preferences‬",
  "JOIST/menuItem.phetWebsite": "‪PhET Website…‬",
  "JOIST/menuItem.reportAProblem": "‪Report a Problem…‬",
  "JOIST/menuItem.getUpdate": "‪Check for Updates…‬",
  "JOIST/menuItem.screenshot": "‪Screenshot‬",
  "JOIST/menuItem.fullscreen": "‪Full Screen‬",
  "JOIST/menuItem.about": "‪About…‬",
  "JOIST/a11y.inPlayArea": "‪In Play Area:‬",
  "JOIST/a11y.inControlArea": "‪In Control Area:‬",
  "JOIST/keyboardShortcuts.title": "‪Keyboard Shortcuts‬",
  "JOIST/a11y.keyboardHelp.tabToGetStarted.readingBlockNameResponse": "‪Tab to get started.‬",
  "JOIST/keyboardShortcuts.toGetStarted": "‪to get started‬",
  "JOIST/a11y.keyboardHelp.tabToGetStarted.accessibleHelpText": "‪Use Tab to find sim actions, cursor keys to read details.‬",
  "JOIST/versionPattern": "‪version {0}‬",
  "JOIST/license.title": "‪License‬",
  "JOIST/credits.title": "‪Credits‬",
  "JOIST/termsPrivacyAndLicensing": "‪Terms, Privacy & Licensing‬",
  "JOIST/privacyPolicy": "‪Privacy Policy‬",
  "JOIST/translation.credits.link": "‪Translation Credits‬",
  "JOIST/thirdParty.credits.link": "‪Third-party Credits‬",
  "JOIST/donateToPhet": "‪Donate to PhET‬",
  "JOIST/updates.checking": "‪Checking for updates…‬",
  "JOIST/updates.upToDate": "‪This simulation is up to date.‬",
  "JOIST/updates.outOfDate": "‪New version available‬",
  "JOIST/updates.newVersionAvailable": "‪There is a new version available: {0}.‬",
  "JOIST/updates.yourCurrentVersion": "‪Your current version is: {0}.‬",
  "JOIST/updates.getUpdate": "‪Get Update…‬",
  "JOIST/updates.noThanks": "‪No Thanks‬",
  "JOIST/updates.offline": "‪Unable to check for updates.‬",
  "JOIST/credits.leadDesign": "‪Lead Design: {0}‬",
  "JOIST/credits.softwareDevelopment": "‪Software Development: {0}‬",
  "JOIST/credits.team": "‪Team: {0}‬",
  "JOIST/credits.contributors": "‪Contributors: {0}‬",
  "JOIST/credits.qualityAssurance": "‪Quality Assurance: {0}‬",
  "JOIST/credits.graphicArts": "‪Graphic Arts: {0}‬",
  "JOIST/credits.soundDesign": "‪Sound Design: {0}‬",
  "JOIST/credits.thanks": "‪Thanks‬",
  "JOIST/preferences.tabs.overview.title": "‪Overview‬",
  "JOIST/preferences.tabs.simulation.title": "‪Simulation‬",
  "JOIST/preferences.tabs.visual.title": "‪Visual‬",
  "JOIST/preferences.tabs.audio.title": "‪Audio‬",
  "JOIST/preferences.tabs.input.title": "‪Input‬",
  "JOIST/preferences.tabs.localization.title": "‪Localization‬",
  "JOIST/preferences.tabs.audio.audioFeatures.title": "‪Audio Features‬",
  "JOIST/a11y.preferences.tabs.input.gestureControl.enabledAlert": "‪Custom taps and swipes on.‬",
  "JOIST/a11y.preferences.tabs.input.gestureControl.disabledAlert": "‪Custom taps and swipes off.‬",
  "JOIST/preferences.tabs.localization.regionAndCulture.title": "‪Region and Culture‬",
  "JOIST/preferences.tabs.localization.regionAndCulture.description": "‪Select the portrayal of people, places, or objects in the sim. Images are not intended to represent the entire diversity of a region or culture.‬",
  "JOIST/preferences.tabs.localization.languageSelection.title": "‪Languages‬",
  "JOIST/preferences.tabs.localization.languageSelection.description": "‪Change language to translate on-screen text. Additional descriptions, when present, remain in English.‬",
  "JOIST/preferences.tabs.general.accessibilityIntro": "‪We are adding features to our simulations to make them more inclusive. Some of these features support accessibility for learners with diverse needs and within diverse environments. Explore this menu to review or change the default presentation settings.‬",
  "JOIST/preferences.tabs.general.moreAccessibility": "‪Look for Inclusive Features on the Simulations Filter page of the PhET website to find all simulations with available features.‬",
  "JOIST/preferences.tabs.visual.interactiveHighlights": "‪Interactive Highlights‬",
  "JOIST/preferences.tabs.visual.interactiveHighlightsDescription": "‪Add visual highlights for mouse and touch as you interact.‬",
  "JOIST/a11y.preferences.tabs.visual.interactiveHighlights.enabledAlert": "‪Highlights on for all input.‬",
  "JOIST/a11y.preferences.tabs.visual.interactiveHighlights.disabledAlert": "‪Highlights off for mouse and touch.‬",
  "JOIST/a11y.preferences.tabs.tabResponsePattern": "‪Preferences, {{title}} Tab‬",
  "JOIST/preferences.tabs.audio.sounds.title": "‪Sounds‬",
  "JOIST/preferences.tabs.audio.sounds.extraSounds.title": "‪Extra Sounds‬",
  "JOIST/preferences.tabs.audio.sounds.description": "‪Play sonifications and sound effects as you interact.‬",
  "JOIST/preferences.tabs.audio.sounds.extraSounds.description": "‪Play additional sound that may be helpful for some learners.‬",
  "JOIST/a11y.preferences.tabs.audio.sounds.soundsOn": "‪Sounds on.‬",
  "JOIST/a11y.preferences.tabs.audio.sounds.soundsOff": "‪Sounds off.‬",
  "JOIST/a11y.preferences.tabs.audio.sounds.extraSounds.extraSoundsOn": "‪Extra Sounds on.‬",
  "JOIST/a11y.preferences.tabs.audio.sounds.extraSounds.extraSoundsOff": "‪Extra Sounds off.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.title": "‪Voicing‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.voicingToolbar.title": "‪Toolbar‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.rate.title": "‪Rate‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.rate.labelString": "‪Voice Rate‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.pitch.title": "‪Pitch‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.voicingOn": "‪Voicing on.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.voicingOff": "‪Voicing off.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.voicingOffOnlyAvailableInEnglish": "‪Voicing off. Only available in English.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.variablesPattern": "‪{{value}}x‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.title": "‪Customize Voice‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.voicingToolbar.toolbarRemoved": "‪Toolbar removed.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.voicingToolbar.toolbarAdded": "‪Toolbar added to sim.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.title": "‪Sim Voicing Options‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.description": "‪Choose details you want voiced as you interact.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.objectDetails.label": "‪Voice object details and changes‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.contextChanges.label": "‪Voice surrounding context changes‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.helpfulHints.label": "‪Voice helpful hints‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.objectDetails.enabledAlert": "‪Voicing object details and changes.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.objectDetails.disabledAlert": "‪Object details and changes muted.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.contextChanges.enabledAlert": "‪Voicing surrounding context changes.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.contextChanges.disabledAlert": "‪Surrounding context changes muted.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.helpfulHints.enabledAlert": "‪Voicing extra help.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.simVoicingOptions.helpfulHints.disabledAlert": "‪Extra help muted.‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.voice.title": "‪Voice‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.voice.titlePattern": "‪Voice: {{value}}‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.voice.noVoicesAvailable": "‪No voices available‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.expandedAlert": "‪expanded‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.collapsedAlert": "‪collapsed‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.writtenVariablesPattern": "‪{{value}} times‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.rate.rangeDescriptions.voiceRateNormal": "‪normal‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.rate.rangeDescriptions.low": "‪in low range‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.rate.rangeDescriptions.normal": "‪in normal range‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.rate.rangeDescriptions.aboveNormal": "‪above normal range‬",
  "JOIST/a11y.preferences.tabs.audio.voicing.customizeVoice.rate.rangeDescriptions.high": "‪in high range‬",
  "JOIST/preferences.tabs.audio.voicing.titleEnglishOnly": "‪Voicing (English Only)‬",
  "JOIST/preferences.tabs.audio.voicing.description": "‪Voice and highlight content as you interact.‬",
  "JOIST/preferences.tabs.localization.regionAndCulture.africa": "‪Africa‬",
  "JOIST/preferences.tabs.localization.regionAndCulture.africaModest": "‪Africa (Modest)‬",
  "JOIST/preferences.tabs.localization.regionAndCulture.asia": "‪Asia‬",
  "JOIST/preferences.tabs.localization.regionAndCulture.latinAmerica": "‪Latin America‬",
  "JOIST/preferences.tabs.localization.regionAndCulture.oceania": "‪Oceania‬",
  "JOIST/preferences.tabs.localization.regionAndCulture.random": "‪Random‬",
  "JOIST/preferences.tabs.localization.regionAndCulture.unitedStatesOfAmerica": "‪United States of America‬",
  "JOIST/projectorMode": "‪Projector Mode‬",
  "JOIST/preferences.tabs.visual.projectorModeDescription": "‪Increase color contrast for better visibility in classrooms.‬",
  "JOIST/a11y.preferences.tabs.localization.languageSelection.languageChangeResponsePattern": "‪On-screen text now in {{language}}.‬",
  "SCENERY_PHET/a11y.measuringTape": "‪Measuring Tape‬",
  "SCENERY_PHET/a11y.measuringTapeTip": "‪Measuring Tape Tip‬",
  "SCENERY_PHET/measuringTapeReadoutPattern": "‪{{distance}} {{units}}‬",
  "SCENERY_PHET/a11y.timeControlNode.label": "‪Time Controls‬",
  "SCENERY_PHET/keyboardHelpDialog.moveToNextItemOrGroup": "‪Move to next item or group‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.general.tabGroupDescription": "‪Move to next item or group with Tab key.‬",
  "SCENERY_PHET/keyboardHelpDialog.moveToPreviousItemOrGroup": "‪Move to previous item or group‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.general.shiftTabGroupDescription": "‪Move to previous item or group with Shift plus Tab key.‬",
  "SCENERY_PHET/keyboardHelpDialog.moveBetweenItemsInAGroup": "‪Move between items in a group‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.general.groupNavigationDescription": "‪Move between items in a group with Left and Right arrow keys or Up and Down arrow keys.‬",
  "SCENERY_PHET/keyboardHelpDialog.pressButtons": "‪Press buttons‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.general.pressButtonsDescription": "‪Press buttons with Space or Enter keys.‬",
  "SCENERY_PHET/keyboardHelpDialog.exitADialog": "‪Exit a dialog‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.general.exitDialogDescription": "‪Exit a dialog with Escape key.‬",
  "SCENERY_PHET/keyboardHelpDialog.setValuesInKeypad": "‪Set values within keypad‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.general.setValuesInKeypadDescription": "‪Set values within keypad using number keys 0-9.‬",
  "SCENERY_PHET/keyboardHelpDialog.toggleCheckboxes": "‪Toggle checkboxes‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.general.toggleCheckboxesDescription": "‪Toggle checkboxes with Space key.‬",
  "SCENERY_PHET/keyboardHelpDialog.basicActions": "‪Basic Actions‬",
  "SCENERY_PHET/keyboardHelpDialog.timingControls.timingControls": "‪Time Controls‬",
  "SCENERY_PHET/keyboardHelpDialog.timingControls.pauseOrPlayAction": "‪Pause or play action‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.timingControls.pauseOrPlayActionDescription": "‪Pause or play action with alt key plus K.‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.timingControls.pauseOrPlayActionMacOSDescription": "‪Pause or play action with option key plus K.‬",
  "SCENERY_PHET/a11y.eraserButton.accessibleName": "‪Erase‬",
  "SCENERY_PHET/a11y.resetAll.accessibleName": "‪Reset All‬",
  "SCENERY_PHET/a11y.resetAll.accessibleContextResponse": "‪Everything reset.‬",
  "SCENERY_PHET/keyboardHelpDialog.resetAll": "‪Reset All‬",
  "SCENERY_PHET/a11y.keyboardHelpDialog.general.resetAllDescriptionPattern": "‪Reset All with {{altOrOption}} plus R key.‬",
  "SCENERY_PHET/a11y.simSection.controlArea": "‪Control Area‬",
  "SCENERY_PHET/a11y.simSection.playArea": "‪Play Area‬",
  "SCENERY_PHET/a11y.simSection.screenSummary.multiScreenIntro": "‪The {{screen}} changes as you play with it. It has a Play Area and a Control Area.‬",
  "SCENERY_PHET/a11y.simSection.screenSummary.singleScreenIntroPattern": "‪{{sim}} is an interactive sim. It changes as you play with it. It has a Play Area and a Control Area.‬",
  "SCENERY_PHET/a11y.simSection.screenSummary.keyboardShortcutsHint": "‪This screen has custom interactions. If needed, check out keyboard shortcuts under Sim Resources.‬",
  "SCENERY_PHET/a11y.playControlButton.stop": "‪Stop‬",
  "SCENERY_PHET/keyboardHelpDialog.or": "‪or‬",
  "SCENERY_PHET/keyboardHelpDialog.hyphen": "‪-‬",
  "SCENERY_PHET/speed.fast": "‪Fast‬",
  "SCENERY_PHET/speed.normal": "‪Normal‬",
  "SCENERY_PHET/speed.slow": "‪Slow‬",
  "SCENERY_PHET/a11y.timeControlNode.simSpeeds": "‪Sim Speeds‬",
  "SCENERY_PHET/a11y.timeControlNode.simSpeedDescription": "‪For closer observations Play sim on slower speed.‬",
  "SCENERY_PHET/a11y.playPauseStepButtonGroup.playingHelpText": "‪Pause sim to step through little by little.‬",
  "SCENERY_PHET/a11y.playPauseStepButtonGroup.pausedHelpText": "‪Step through little by little.‬",
  "SCENERY_PHET/key.option": "‪Option‬",
  "SCENERY_PHET/key.alt": "‪Alt‬",
  "SCENERY_PHET/key.capsLock": "‪Caps Lock‬",
  "SCENERY_PHET/key.esc": "‪Esc‬",
  "SCENERY_PHET/key.end": "‪End‬",
  "SCENERY_PHET/key.enter": "‪Enter‬",
  "SCENERY_PHET/key.backspace": "‪Backspace‬",
  "SCENERY_PHET/key.delete": "‪Delete‬",
  "SCENERY_PHET/key.fn": "‪Fn‬",
  "SCENERY_PHET/key.home": "‪Home‬",
  "SCENERY_PHET/key.pageDown": "‪Pg Dn‬",
  "SCENERY_PHET/key.pageUp": "‪Pg Up‬",
  "SCENERY_PHET/key.space": "‪Space‬",
  "SCENERY_PHET/key.shift": "‪Shift‬",
  "SCENERY_PHET/key.tab": "‪Tab‬",
  "SCENERY_PHET/key.toGrabOrRelease": "‪to <b>Grab</b> or <b>Release</b>‬",
  "SCENERY_PHET/a11y.playControlButton.play": "‪Play‬",
  "SCENERY_PHET/a11y.close": "‪Close‬",
  "SCENERY_PHET/key.a": "‪A‬",
  "SCENERY_PHET/key.c": "‪C‬",
  "SCENERY_PHET/key.d": "‪D‬",
  "SCENERY_PHET/key.l": "‪L‬",
  "SCENERY_PHET/key.r": "‪R‬",
  "SCENERY_PHET/key.s": "‪S‬",
  "SCENERY_PHET/key.w": "‪W‬",
  "SCENERY_PHET/key.one": "‪1‬",
  "SCENERY_PHET/key.two": "‪2‬",
  "SCENERY_PHET/key.three": "‪3‬",
  "SCENERY_PHET/a11y.playPauseButton.playingAccessibleContextResponse": "‪Sim Playing.‬",
  "SCENERY_PHET/a11y.playPauseButton.pausedAccessibleContextResponse": "‪Sim Paused.‬",
  "SCENERY_PHET/a11y.playControlButton.pause": "‪Pause‬",
  "SCENERY_PHET/a11y.listItemPunctuation.commaPattern": "‪{{content}},‬",
  "SCENERY_PHET/a11y.listItemPunctuation.semicolonPattern": "‪{{content}};‬",
  "SCENERY_PHET/a11y.listItemPunctuation.periodPattern": "‪{{content}}.‬",
  "SCENERY_PHET/a11y.grabDrag.movable": "‪movable‬",
  "SCENERY_PHET/a11y.grabDrag.grabPattern": "‪Grab {{objectToGrab}}‬",
  "SCENERY_PHET/a11y.grabDrag.gestureHelpTextPattern": "‪Double tap and hold to drag {{objectToGrab}}. Lift finger to release.‬",
  "SCENERY_PHET/a11y.grabDrag.button": "‪button‬",
  "SCENERY_PHET/a11y.grabDrag.defaultObjectToGrab": "‪Object‬",
  "SCENERY_PHET/a11y.grabDrag.released": "‪Released.‬",
  "SCENERY_PHET/a11y.grabDrag.grabbed": "‪Grabbed.‬",
  "SCENERY_PHET/a11y.grabDrag.spaceToGrabOrRelease": "‪Space to Grab or Release.‬",
  "SCENERY_PHET/a11y.stepButton.stepForward": "‪Step Forward‬",
  "SCENERY_PHET/a11y.negativeNumber": "‪negative { $value }‬",
  "SCENERY_PHET/a11y.scientificNotation": "‪{ $value } times ${ $base } to the { $exponent } power‬",
  "SCENERY_PHET/scientificNotation": "‪{{value}} × {{base}}<sup>{{exponent}}</sup>‬",
  "SUN/a11y.closed": "‪Closed‬",
  "SUN/a11y.titleClosePattern": "‪{{title}}, Close.‬",
  "SUN/a11y.radioButtonGroup.combinedNameResponse": "‪{{groupName}}, {{buttonName}}‬"
}