diff --git a/news/1 Enhancements/4186.md b/news/1 Enhancements/4186.md
new file mode 100644
index 000000000000..ffcf7e99834a
--- /dev/null
+++ b/news/1 Enhancements/4186.md
@@ -0,0 +1,2 @@
+Added Dutch translation.
+ (thanks [Robin Martijn](https://github.com/Bowero) with the feedback of [Michael van Tellingen](https://github.com/mvantellingen))
diff --git a/package.nls.nl.json b/package.nls.nl.json
new file mode 100644
index 000000000000..fe63ba32d7ef
--- /dev/null
+++ b/package.nls.nl.json
@@ -0,0 +1,184 @@
+{
+ "python.command.python.sortImports.title": "Import sorteren",
+ "python.command.python.startREPL.title": "REPL starten",
+ "python.command.python.createTerminal.title": "Terminal aanmaken",
+ "python.command.python.buildWorkspaceSymbols.title": "Werkruimte-symbolen aanmaken",
+ "python.command.python.runtests.title": "Alle unittests uitvoeren",
+ "python.command.python.debugtests.title": "Alle unittests debuggen",
+ "python.command.python.execInTerminal.title": "Python-bestand in terminal uitvoeren",
+ "python.command.python.setInterpreter.title": "Interpreter selecteren",
+ "python.command.python.updateSparkLibrary.title": "Pyspark-werkruimtebibliotheken updaten",
+ "python.command.python.refactorExtractVariable.title": "Variabelen selecteren",
+ "python.command.python.refactorExtractMethod.title": "Methode selecteren",
+ "python.command.python.viewTestOutput.title": "Unittest-resultaat laten zien",
+ "python.command.python.selectAndRunTestMethod.title": "Unittest-methode uitvoeren ...",
+ "python.command.python.selectAndDebugTestMethod.title": "Unittest-methode debuggen ...",
+ "python.command.python.selectAndRunTestFile.title": "Unittest-bestand uitvoeren ...",
+ "python.command.python.runCurrentTestFile.title": "Huidige unittest-bestand uitvoeren",
+ "python.command.python.runFailedTests.title": "Gefaalde unittests uitvoeren",
+ "python.command.python.discoverTests.title": "Unittests doorzoeken",
+ "python.command.python.execSelectionInTerminal.title": "Selectie/rij in Python-terminal uitvoeren",
+ "python.command.python.execSelectionInDjangoShell.title": "Selectie/rij in Django-shell uitvoeren",
+ "python.command.python.goToPythonObject.title": "Naar Python-object gaan",
+ "python.command.python.setLinter.title": "Linter selecteren",
+ "python.command.python.enableLinting.title": "Linting activeren",
+ "python.command.python.runLinting.title": "Linting uitvoeren",
+ "python.command.python.datascience.runallcells.command.title": "Huidige bestand in interactief Python-venster uitvoeren",
+ "python.command.python.datascience.runallcells.title": "Alle cellen uitvoeren",
+ "python.command.python.datascience.runcurrentcell.title": "Huidige cel uitvoeren",
+ "python.command.python.datascience.runcurrentcelladvance.title": "Huidige cel uitvoeren en doorgaan",
+ "python.command.python.datascience.runcell.title": "Cel uitvoeren",
+ "python.command.python.datascience.showhistorypane.title": "Interactief Python-venster laten zien",
+ "python.command.python.datascience.selectjupyteruri.title": "Jupyter-server-URI specificeren",
+ "python.command.python.datascience.importnotebook.title": "Jupyter-notebook importeren",
+ "python.command.python.datascience.importnotebookonfile.title": "Jupyter-notebook importeren",
+ "python.command.python.enableSourceMapSupport.title": "Bronkaartondersteuning voor extensie-debugging inschakelen",
+ "python.command.python.datascience.exportoutputasnotebook.title": "Interactief Python-venster als Jupyter-notebook exporteren",
+ "python.command.python.datascience.exportfileasnotebook.title": "Huidige Python-bestand als Jupyter-notebook exporteren",
+ "python.command.python.datascience.exportfileandoutputasnotebook.title": "Huidige Python-bestand exporteren en outputten als Jupyter-notebook",
+ "python.command.python.datascience.undocells.title": "Laatste interactieve Python-actie ongedaan maken",
+ "python.command.python.datascience.redocells.title": "Laatste interactieve Python-actie opnieuw uitvoeren",
+ "python.command.python.datascience.removeallcells.title": "Alle interactieve Python-cellen verwijderen",
+ "python.command.python.datascience.interruptkernel.title": "iPython-kernel onderbreken",
+ "python.command.python.datascience.restartkernel.title": "iPython-kernel herstarten",
+ "python.command.python.datascience.expandallcells.title": "Alle interactieve Python-vensters openen",
+ "python.command.python.datascience.collapseallcells.title": "Alle interactieve Python-vensters sluiten",
+ "python.snippet.launch.standard.label": "Python: Huidige bestand",
+ "python.snippet.launch.standard.description": "Python-programma uitvoeren met standaardweergave",
+ "python.snippet.launch.pyspark.label": "Python: PySpark",
+ "python.snippet.launch.pyspark.description": "PySpark debuggen",
+ "python.snippet.launch.module.label": "Python: Module",
+ "python.snippet.launch.module.description": "Python-module debuggen",
+ "python.snippet.launch.terminal.label": "Python: Terminal (geintegreerd)",
+ "python.snippet.launch.terminal.description": "Een Python-programma met geintegreerde terminal/console debuggen",
+ "python.snippet.launch.externalTerminal.label": "Python: Terminal (extern)",
+ "python.snippet.launch.externalTerminal.description": "Een Python-programma met externe terminal/console debuggen",
+ "python.snippet.launch.django.label": "Python: Django",
+ "python.snippet.launch.django.description": "Een Django-Applicatie uitvoeren",
+ "python.snippet.launch.flask.label": "Python: Flask",
+ "python.snippet.launch.flask.description": "Een Flask-applicatie debuggen",
+ "python.snippet.launch.flaskOld.label": "Python: Flask (0.10.x of eerder)",
+ "python.snippet.launch.flaskOld.description": "Een eerder opgemaakte Flask-applicatie debuggen",
+ "python.snippet.launch.gevent.label": "Python: Gevent",
+ "python.snippet.launch.gevent.description": "Een Gevent-applicatie debuggen",
+ "python.snippet.launch.pyramid.label": "Python: Pyramid-applicatie",
+ "python.snippet.launch.pyramid.description": "Een Pyramid-applicatie debuggen",
+ "python.snippet.launch.watson.label": "Python: Watson-applicatie",
+ "python.snippet.launch.watson.description": "Een Watson-applicatie debuggen",
+ "python.snippet.launch.attach.label": "Python: aankoppelen",
+ "python.snippet.launch.attach.description": "De debugger voor debugging op afstand aankoppelen",
+ "python.snippet.launch.scrapy.label": "Python: Scrapy",
+ "python.snippet.launch.scrapy.description": "Scrapy met geintegreerde terminal/console",
+ "LanguageService.bannerMessage": "Zou je alsjeblieft 2 minuten kunnen nemen om ons te vertellen hoe de Python-language server voor jou werkt?",
+ "LanguageService.bannerLabelYes": "Ja, neem nu deel aan het onderzoek",
+ "LanguageService.bannerLabelNo": "Nee, bedankt",
+ "LanguageService.lsFailedToStart": "We zijn een probleem tegengekomen bij het starten van de language server. Aan het terugschakelen naar het alternatief, Jedi. Bekijk het weergavepaneel voor details.",
+ "LanguageService.lsFailedToDownload": "We zijn een probleem tegengekomen bij het downloaden van de language server. Aan het terugschakelen naar het alternatief, Jedi. Bekijk het weergavepaneel voor details.",
+ "LanguageService.lsFailedToExtract": "We zijn een probleem tegengekomen bij het uitpakken van de language server. Aan het terugschakelen naar het alternatief, Jedi. Bekijk het weergavepaneel voor details.",
+ "DataScience.unknownMimeTypeFormat": "Mime type {0} wordt momenteel niet ondersteund.",
+ "DataScience.historyTitle": "Interactieve Python",
+ "DataScience.badWebPanelFormatString": "
{0} is geen geldige bestandsnaam
",
+ "DataScience.sessionDisposed": "Kan code niet uitvoeren, de sessie is gesloten.",
+ "DataScience.exportDialogTitle": "Exporteren naar Jupyter-notebook",
+ "DataScience.exportDialogFilter": "Jupyter-notebooks",
+ "DataScience.exportDialogComplete": "Notebook geschreven naar {0}",
+ "DataScience.exportDialogFailed": "Niet gelukt om te exporteren naar Jupyter-notebook. {0}",
+ "DataScience.exportOpenQuestion": "In browser openen",
+ "DataScience.collapseInputTooltip": "Invoerblok sluiten",
+ "DataScience.importDialogTitle": "Jupyter-notebook importeren",
+ "DataScience.importDialogFilter": "Jupyter-notebooks",
+ "DataScience.notebookCheckForImportYes": "Importeer",
+ "DataScience.notebookCheckForImportNo": "Later",
+ "DataScience.notebookCheckForImportDontAskAgain": "Niet opnieuw vragen",
+ "DataScience.notebookCheckForImportTitle": "Wil je het Jupyter-notebook importeren als Python-code?",
+ "DataScience.jupyterNotSupported": "De uitgevoerde cellen vereisen Jupyter-notebooks geinstalleerd.",
+ "DataScience.jupyterNbConvertNotSupported": "Notebooks importeren vereist Jupyter-nbconvert geinstalleerd.",
+ "DataScience.jupyterLaunchTimedOut": "Het is niet gelukt de Jupyter-notebook-server op tijd te starten",
+ "DataScience.jupyterLaunchNoURL": "Het is niet gelukt de URL van de gestarte Jupyter-notebook-server te vinden",
+ "DataScience.pythonInteractiveHelpLink": "Krijg meer hulp",
+ "DataScience.importingFormat": "Aan het importeren {0}",
+ "DataScience.startingJupyter": "Jupyter-server starten",
+ "DataScience.connectingToJupyter": "Met Jupyter-server verbinden",
+ "Interpreters.RefreshingInterpreters": "Python-Interpreters verversen",
+ "Interpreters.LoadingInterpreters": "Python-Interpreters laden",
+ "DataScience.restartKernelMessage": "Wil je de iPython-kernel herstarten? Alle variabelen zullen verloren gaan.",
+ "DataScience.restartKernelMessageYes": "Herstarten",
+ "DataScience.restartKernelMessageNo": "Annuleren",
+ "DataScienceSurveyBanner.bannerMessage": "Zou je alsjeblieft 2 minuten kunnen nemen om ons te vertellen hoe de Python-data-science-functionaliteiten voor jou werkt?",
+ "DataScienceSurveyBanner.bannerLabelYes": "Ja, neem nu deel aan het onderzoek",
+ "DataScienceSurveyBanner.bannerLabelNo": "Nee, bedankt",
+ "DataScience.restartingKernelStatus": "iPython-Kernel herstarten",
+ "DataScience.executingCode": "Cel aan het uitvoeren",
+ "DataScience.collapseAll": "Alle cel-invoeren sluiten",
+ "DataScience.expandAll": "Alle cel-invoeren openen",
+ "DataScience.export": "Als Jupyter-Notebook exporteren",
+ "DataScience.restartServer": "iPython-kernel herstarten",
+ "DataScience.undo": "Herhaal",
+ "DataScience.redo": "Opnieuw uitvoeren",
+ "DataScience.clearAll": "Alle cellen verwijderen",
+ "DataScience.pythonVersionHeader": "Python versie:",
+ "DataScience.pythonVersionHeaderNoPyKernel": "Python versie kan niet overeenkomen, geen ipykernel gevonden:",
+ "DataScience.pythonRestartHeader": "Kernel herstart:",
+ "Linter.InstalledButNotEnabled": "Linter {0} is geinstalleerd maar niet ingeschakeld.",
+ "Linter.replaceWithSelectedLinter": "Meerdere linters zijn ingeschakeld in de instellingen. Vervangen met '{0}'?",
+ "DataScience.jupyterSelectURILaunchLocal": "Een lokale Jupyter-server starten wanneer nodig",
+ "DataScience.jupyterSelectURISpecifyURI": "Voer de URI in om te verbinden met een draaiende Jupiter-server",
+ "DataScience.jupyterSelectURIPrompt": "Voer de URI in van een Jupiter-server",
+ "DataScience.jupyterSelectURIInvalidURI": "Ongeldige URI gespecificeerd",
+ "DataScience.jupyterNotebookFailure": "Jupyter-notebook kon niet starten. \r\n{0}",
+ "DataScience.jupyterNotebookConnectFailed": "Verbinden met Jupiter-notebook is niet gelukt. \r\n{0}\r\n{1}",
+ "DataScience.notebookVersionFormat": "Jupyter-notebook versie: {0}",
+ "DataScience.jupyterKernelNotSupportedOnActive": "Jupyter-kernel kan niet worden gestart vanuit '{0}'. met behulp van de dichtstbijzijnde overeenkomst {1} in plaats daarvan.",
+ "DataScience.jupyterKernelSpecNotFound": "Kan geen Jupyter-kernel-spec aanmaken en er zijn er geen beschikbaar voor gebruik",
+ "diagnostics.warnSourceMaps": "Bronkaartondersteuning is ingeschakeld in de Python-extensie, dit zal een ongunstige impact hebben op de uitvoering van de extensie.",
+ "diagnostics.disableSourceMaps": "Bronkaartondersteuning uitschakelen",
+ "diagnostics.warnBeforeEnablingSourceMaps": "Bronkaartondersteuning inschakelen in de Python-extensie zal een ongunstige impact hebben op de uitvoering van de extensie.",
+ "diagnostics.enableSourceMapsAndReloadVSC": "Venster inschakelen en herladen",
+ "diagnostics.lsNotSupported": "Uw besturingssysteem voldoet niet aan de minimumeisen van de language server. Aan het terugschakelen naar het alternatief, Jedi.",
+ "DataScience.interruptKernel": "iPython-kernel onderbreken",
+ "DataScience.exportingFormat": "Aan het exporteren {0}",
+ "DataScience.exportCancel": "Annuleren",
+ "Common.canceled": "Geannuleerd",
+ "DataScience.importChangeDirectoryComment": "#%% De werkmap van de werkruimte root naar de ipynb-bestandslocatie veranderen. Schakel deze toevoeging uit met de instelling DataScience.changeDirOnImportExport",
+ "DataScience.exportChangeDirectoryComment": "# De map wijzigen naar de VSCode-werktuimte root zodat de relatieve pad-ladingen correct werken. Schakel deze toevoeging uit met de instelling DataScience.changeDirOnImportExport",
+ "DataScience.interruptKernelStatus": "iPython-kernel onderbreken",
+ "DataScience.restartKernelAfterInterruptMessage": "Het onderbreken van de kernel duurde te lang. Wil je de kernel in plaats daarvan herstarten? Alle variabelen zullen verloren gaan.",
+ "DataScience.pythonInterruptFailedHeader": "Toetsenbord-interrupt liet de kernel crashen. Kernel herstart.",
+ "DataScience.sysInfoURILabel": "Jupyter-server URI: ",
+ "Common.loadingPythonExtension": "Python-extensie aan het laden...",
+ "debug.selectConfigurationTitle": "Een debug-configuratie selecteren",
+ "debug.selectConfigurationPlaceholder": "Debug-configuratie",
+ "debug.debugFileConfigurationLabel": "Python-bestand",
+ "debug.debugFileConfigurationDescription": "Python-bestand debuggen",
+ "debug.debugModuleConfigurationLabel": "Module",
+ "debug.debugModuleConfigurationDescription": "Python module/package debuggen",
+ "debug.remoteAttachConfigurationLabel": "Extern aankoppelen",
+ "debug.remoteAttachConfigurationDescription": "Een externe Python-applicatie debuggen",
+ "debug.debugDjangoConfigurationLabel": "Django",
+ "debug.debugDjangoConfigurationDescription": "Web-applicatie",
+ "debug.debugFlaskConfigurationLabel": "Flask",
+ "debug.debugFlaskConfigurationDescription": "Web-applicatie",
+ "debug.debugPyramidConfigurationLabel": "Pyramid",
+ "debug.debugPyramidConfigurationDescription": "Web-applicatie",
+ "debug.djangoEnterManagePyPathTitle": "Django debuggen",
+ "debug.djangoEnterManagePyPathPrompt": "Voer een pad in naar manage.py ('${workspaceFolderToken}' verwijzen naar de root van de huidige werkruimtemap)",
+ "debug.djangoEnterManagePyPathInvalidFilePathError": "Voer een geldig Python-bestandspad in",
+ "debug.flaskEnterAppPathOrNamePathTitle": "Flask debuggen",
+ "debug.flaskEnterAppPathOrNamePathPrompt": "Voer een pad in naar een applicatie, bijvoorbeeld 'app.py' of 'app'",
+ "debug.flaskEnterAppPathOrNamePathInvalidNameError": "Voer een geldige naam in",
+ "debug.moduleEnterModuleTitle": "Module debuggen",
+ "debug.moduleEnterModulePrompt": "Voer Python module/package naam in",
+ "debug.moduleEnterModuleInvalidNameError": "Voer een geldige naam in",
+ "debug.pyramidEnterDevelopmentIniPathTitle": "Pyramid debuggen",
+ "debug.pyramidEnterDevelopmentIniPathPrompt": "`Voer een pad in naar development.ini ('${workspaceFolderToken}' verwijzen naar de root van de huidige werkruimtemap)`",
+ "debug.pyramidEnterDevelopmentIniPathInvalidFilePathError": "Voer een geldig bestandspad in",
+ "debug.attachRemotePortTitle": "Extern debuggen",
+ "debug.attachRemotePortPrompt": "Voer een port-nummer in",
+ "debug.attachRemotePortValidationError": "Voer een geldig port-nummer in",
+ "debug.attachRemoteHostTitle": "Extern debuggen",
+ "debug.attachRemoteHostPrompt": "Voer een hostname of IP-adres in",
+ "debug.attachRemoteHostValidationError": "Voer een geldige hostname of IP-adres in",
+ "UnitTests.testErrorDiagnosticMessage": "Error",
+ "UnitTests.testFailDiagnosticMessage": "Mislukt",
+ "UnitTests.testSkippedDiagnosticMessage": "Overgeslagen"
+}