diff --git a/src/core/common/helpers/i18n/locales.ts b/src/core/common/helpers/i18n/locales.ts
index 5430a722c..6c391c040 100644
--- a/src/core/common/helpers/i18n/locales.ts
+++ b/src/core/common/helpers/i18n/locales.ts
@@ -2,10 +2,10 @@
* LanguageCode is the type represented by the internally identifiable types for
* the different languages that can be supported.
*/
-export type LanguageCode = "en-US" | "pt-BR" | "es" | "de";
+export type LanguageCode = "en-US" | "pt-BR" | "es" | "de" | "nl-NL";
/**
* LOCALES is an array of supported language codes that can be accessed as a
* value.
*/
-export const LOCALES: LanguageCode[] = ["en-US", "pt-BR", "es", "de"];
+export const LOCALES: LanguageCode[] = ["en-US", "pt-BR", "es", "de", "nl-NL"];
diff --git a/src/locales/nl-NL/framework.ftl b/src/locales/nl-NL/framework.ftl
new file mode 100644
index 000000000..0f8025e34
--- /dev/null
+++ b/src/locales/nl-NL/framework.ftl
@@ -0,0 +1,123 @@
+### Localizations for the framework.
+### All keys must start with `framework` because this file is shared
+### among different targets.
+
+## Short Number
+
+# Implementation based on unicode Short Number patterns
+# http://cldr.unicode.org/translation/number-patterns#TOC-Short-Numbers
+
+framework-shortNumber-1000 = 0.0k
+framework-shortNumber-10000 = 00k
+framework-shortNumber-100000 = 000k
+framework-shortNumber-1000000 = 0.0M
+framework-shortNumber-10000000 = 00M
+framework-shortNumber-100000000 = 000M
+framework-shortNumber-1000000000 = 0.0B
+
+## Validation
+
+framework-validation-required = Verplicht veld.
+framework-validation-tooShort = Gebruik minimaal {$minLength} karakaters.
+framework-validation-tooLong = Gebruik maximaal {$maxLength} karakters.
+framework-validation-usernameTooShort = Gebruikersnaam moet minimaal {$minLength} karakters bevatten.
+framework-validation-usernameTooLong = Gebruikersnaam kan niet meer dan {$maxLength} karakters bevatten.
+framework-validation-invalidCharacters = Ongeldige karkaters. Probeer opnieuw.
+framework-validation-invalidEmail = Gebruik een geldig e-mailadres.
+framework-validation-passwordTooShort = Wachtwoord moet tenminste {$minLength} karakters bevatten.
+framework-validation-passwordsDoNotMatch = Wachtwoorden komen niet overeen. Probeer opnieuw.
+framework-validation-invalidURL = Ongeldige URL
+framework-validation-emailsDoNotMatch = E-mailadressen komen niet overeen. Probeer opnieuw.
+framework-validation-notAWholeNumberBetween = Gebruik een heel getal tussen { $min } en { $max }.
+framework-validation-notAWholeNumberGreaterThan = Gebruik een heel getal groter dan { $x }
+framework-validation-notAWholeNumberGreaterThanOrEqual = Gebruik een heel getal groter of gelijk aan { $x }
+
+
+framework-timeago-just-now = Zojuist
+
+framework-timeago-time =
+ { $value }
+ { $unit ->
+ [second] { $value ->
+ [1] seconde
+ *[other] seconden
+ }
+ [minute] { $value ->
+ [1] minuut
+ *[other] minuten
+ }
+ [hour] { $value ->
+ [1] uur
+ *[other] uren
+ }
+ [day] { $value ->
+ [1] dag
+ *[other] dagen
+ }
+ [week] { $value ->
+ [1] week
+ *[other] weken
+ }
+ [month] { $value ->
+ [1] maand
+ *[other] maanden
+ }
+ [year] { $value ->
+ [1] jaar
+ *[other] jaren
+ }
+ *[other] onbekende eenheid
+ }
+
+framework-timeago =
+ { $suffix ->
+ [ago] {framework-timeago-time} geleden
+ *[noSuffix] {framework-timeago-time}
+ }
+
+## Components
+
+### Copy Button
+framework-copyButton-copy = Kopieer
+framework-copyButton-copied = Gekopieerd
+
+### Password Field
+framework-passwordField =
+ .showPasswordTitle = Toon wachtwoord
+ .hidePasswordTitle = Verberg wachtwoord
+
+### Markdown Editor
+framework-markdownEditor-bold = Vet
+framework-markdownEditor-italic = Schuin
+framework-markdownEditor-titleSubtitleHeading = Titel, Sub-titel, Kop
+framework-markdownEditor-quote = Quote
+framework-markdownEditor-genericList = Generieke lijst
+framework-markdownEditor-numberedList = Genummerde lijst
+framework-markdownEditor-createLink = Creëer link
+framework-markdownEditor-insertImage = Afbeelding invoegen
+framework-markdownEditor-togglePreview = Toon voorbeeld
+framework-markdownEditor-toggleSideBySide = Toon naast elkaar
+framework-markdownEditor-toggleFullscreen = Toon volledig scherm
+framework-markdownEditor-markdownGuide = Markdown Guide
+
+### Duration Field
+framework-durationField-seconds = { $value ->
+ [1] Seconde
+ *[others] Seconden
+}
+framework-durationField-minutes = { $value ->
+ [1] Minuut
+ *[others] Minuten
+}
+framework-durationField-hours = { $value ->
+ [1] Uur
+ *[others] Uren
+}
+framework-durationField-days = { $value ->
+ [1] Dag
+ *[others] Dagen
+}
+framework-durationField-weeks = { $value ->
+ [1] Week
+ *[others] Weken
+}
diff --git a/src/locales/nl-NL/stream.ftl b/src/locales/nl-NL/stream.ftl
new file mode 100644
index 000000000..2ba4e3039
--- /dev/null
+++ b/src/locales/nl-NL/stream.ftl
@@ -0,0 +1,239 @@
+### Localization for Embed Stream
+
+## General
+
+general-userBoxUnauthenticated-joinTheConversation = Log in of Registreer je in 1 minuut om een reactie te kunnen plaatsten
+general-userBoxUnauthenticated-signIn = Inloggen
+general-userBoxUnauthenticated-register = Registreren
+
+general-userBoxAuthenticated-signedInAs =
+ Ingelogd als .
+
+general-userBoxAuthenticated-notYou =
+ Bent u dit niet?
+
+general-tabBar-commentsTab = Reacties
+general-tabBar-myProfileTab = Mijn profiel
+general-tabBar-configure = Instellingen
+
+## Comments Tab
+
+comments-allCommentsTab = Alle reacties
+comments-featuredTab = Uitgelicht
+comments-featuredCommentTooltip-how = Hoe wordt een reactie uitgelicht?
+comments-featuredCommentTooltip-handSelectedComments =
+ Reacties zijn handmatig door ons gekozen als het lezen waard.
+comments-featuredCommentTooltip-toggleButton =
+ .aria-label = Uitgelichte reacties informatie knop
+
+
+comments-streamQuery-storyNotFound = Bericht niet gevonden
+
+comments-postCommentForm-submit = Plaats reactie
+comments-replyList-showAll = Toon alles
+comments-replyList-showMoreReplies = Laad meer reacties
+
+
+comments-viewNew =
+ { $count ->
+ [1] Nieuwe reactie {$count}
+ *[other] Nieuwe reactie {$count}
+ }
+comments-loadMore = Meer laden
+
+comments-permalinkPopover =
+ .description = Een dialoogvenster met een permanente link naar de opmerking
+comments-permalinkButton-share = Delen
+comments-permalinkView-viewFullDiscussion = Toon alle reacties
+comments-permalinkView-commentRemovedOrDoesNotExist = Deze reactie is verwijderd of bestaat niet.
+
+comments-rte-bold =
+ .title = Bold
+
+comments-rte-italic =
+ .title = Italic
+
+comments-rte-blockquote =
+ .title = Blockquote
+
+comments-remainingCharacters = { $remaining } overgebleven karakters
+
+comments-postCommentFormFake-signInAndJoin = Log in of Registreer je in 1 minuut om een reactie te kunnen plaatsten.
+
+comments-postCommentForm-rteLabel = Plaats een reactie
+
+comments-postCommentForm-rte =
+ .placeholder = { comments-postCommentForm-rteLabel }
+
+comments-postCommentFormFake-rte =
+ .placeholder = { comments-postCommentForm-rteLabel }
+
+comments-replyButton-reply = Antwoorden
+
+comments-permalinkViewQuery-storyNotFound = { comments-streamQuery-storyNotFound }
+
+comments-replyCommentForm-submit = Plaats reactie
+comments-replyCommentForm-cancel = Annuleren
+comments-replyCommentForm-rteLabel = Schrijf een reactie
+comments-replyCommentForm-rte =
+ .placeholder = { comments-replyCommentForm-rteLabel }
+
+comments-commentContainer-editButton = Aanpassen
+
+comments-editCommentForm-saveChanges = Bewaar wijzigingen
+comments-editCommentForm-cancel = Annuleren
+comments-editCommentForm-close = Sluiten
+comments-editCommentForm-rteLabel = Wijzig reactie
+comments-editCommentForm-rte =
+ .placeholder = { comments-editCommentForm-rteLabel }
+comments-editCommentForm-editRemainingTime = Aanpassen: resterend
+comments-editCommentForm-editTimeExpired = Tijd om aan te passen verlopen. U kunt deze reactie niet meer aanpassen. Waarom plaatst u geen andere reactie?
+comments-editedMarker-edited = Aangepast
+comments-showConversationLink-readMore = Lees meer over dit gesprek >
+comments-conversationThread-showMoreOfThisConversation =
+ Toon meer van dit gesprek
+
+comments-permalinkView-currentViewing = U bekijkt nu een
+comments-permalinkView-singleConversation = LOSSTAAND GESPREK
+comments-inReplyTo = Als antwoord op
+comments-replyTo = Antwoord op:
+
+comments-reportButton-report = Rapporteer
+comments-reportButton-reported = Gerapporteerd
+
+comments-sortMenu-sortBy = Sorteer op
+comments-sortMenu-newest = Nieuwste
+comments-sortMenu-oldest = Oudste
+comments-sortMenu-mostReplies = Meeste reacties
+
+comments-userPopover =
+ .description = Meer gebruikers informatie
+comments-userPopover-memberSince = Reageert sinds: { DATETIME($timestamp, year: "numeric", month: "long", day: "numeric") }
+comments-userPopover-ignore = Negeren
+
+comments-userIgnorePopover-ignoreUser = Negeer {$username}?
+comments-userIgnorePopover-description =
+ Wanneer u een gebruiker negeert, dan worden
+ alle reacties van deze gebruiker niet meer zichtbaar voor u.
+ U kunt dit later ongedaan maken in uw profiel.
+comments-userIgnorePopover-ignore = Negeren
+comments-userIgnorePopover-cancel = Annuleren
+
+comments-moderationDropdown-popover =
+ .description = Een menu om de reactie te modereren
+comments-moderationDropdown-feature = Uitgelicht
+comments-moderationDropdown-unfeature = Uitgelicht ongedaan maken
+comments-moderationDropdown-approve = Goedkeuren
+comments-moderationDropdown-approved = Goedgekeurd
+comments-moderationDropdown-reject = Afwijzen
+comments-moderationDropdown-rejected = Afgewezen
+comments-moderationDropdown-goToModerate = Ga naar modereren
+comments-moderationDropdown-caretButton =
+ .aria-label = Modereer
+
+comments-rejectedTombstone =
+ U heeft deze reactie afgewezen. Ga naar modereren om dit besluit te herzien.
+
+comments-featuredTag = Uitgelicht
+comments-staffTag = Staf
+
+### Featured Comments
+comments-featured-gotoConversation = Ga naar het gesprek
+comments-featured-replies = Antwoorden
+
+## Profile Tab
+
+profile-myCommentsTab = Mijn reacties
+profile-settingsTab = Instellingen
+
+### Comment History
+profile-historyComment-viewConversation = Bekijk gesprek
+profile-historyComment-replies = Antwoorden {$replyCount}
+profile-historyComment-commentHistory = Reactie geschiedenis
+profile-historyComment-story = Bericht: {$title}
+profile-profileQuery-errorLoadingProfile = Profiel kan niet ingeladen worden
+profile-profileQuery-storyNotFound = Bericht niet gevonden
+profile-commentHistory-loadMore = Meer laden
+
+### Settings
+profile-settings-ignoredCommenters = Genegeerde gebruikers
+profile-settings-description =
+ Als je een gebruiker negeert, dan worden alle reacties van deze gebruiker
+ niet meer zichtbaar voor jou.
+ Gebruikers die jij negeert kunnen nog wel jouw reacties zien.
+profile-settings-empty = U negeert niemand
+profile-settings-stopIgnoring = Stop met negeren
+
+
+## Report Comment Popover
+comments-reportPopover =
+ .description = Een veld voor het rapporteren van reacties
+comments-reportPopover-reportThisComment = Rapporteer deze reactie
+comments-reportPopover-whyAreYouReporting = Waarom wilt u deze reactie rapporteren?
+
+comments-reportPopover-reasonOffensive = Deze reactie is aanstootgevend
+comments-reportPopover-reasonIDisagree = Ik ben het niet eens met deze reactie
+comments-reportPopover-reasonSpam = Dit ziet eruit als een advertentie of marketing actie
+comments-reportPopover-reasonOther = Anders
+
+comments-reportPopover-pleaseLeaveAdditionalInformation =
+ Laat hier extra informatie achter dat nuttig kan zijn voor onze moderatoren. (Optioneel)
+
+comments-reportPopover-maxCharacters = Max. { $maxCharacters } karakters
+comments-reportPopover-cancel = Annuleren
+comments-reportPopover-submit = Versturen
+
+comments-reportPopover-thankYou = Bedankt!
+comments-reportPopover-receivedMessage =
+ We hebben uw bericht ontvangen. Meldingen van gebruikers houdt deze community veilig.
+
+comments-reportPopover-dismiss = Afwijzen
+
+## Submit Status
+comments-submitStatus-dismiss = Afwijzen
+comments-submitStatus-submittedAndWillBeReviewed =
+ Uw reactie is toegevoegd en zal eerst willen bekeken door een moderator
+
+# Configure
+configure-configureQuery-errorLoadingProfile = Probleem bij het laden
+configure-configureQuery-storyNotFound = Bericht niet gevonden
+
+## Comment Stream
+configure-stream-title = Stel deze reactiestroom in
+configure-stream-apply = Doorvoeren
+
+configure-premod-title = Inschakelen pre-moderatie
+configure-premod-description =
+ Moderatoren moeten elke reactie eerst goedkeuren voordat deze zichtbaar wordt.
+
+configure-premodLink-title = Pre-moderatie van reacties met links
+configure-premodLink-description =
+ Moderatoren moeten elke reactie met een link eerst goedkeuren voordat deze zichtbaar wordt.
+
+configure-liveUpdates-title = Inschakelen live updates van dit bericht
+configure-liveUpdates-description =
+ Wanneer ingeschakeld, zullen er real-time reacties ingeladen en geüpdatet worden als er nieuwe reacties en antwoorden toegevoegd worden.
+
+configure-messageBox-title = Inschakelen bericht box voor deze reactiestroom
+configure-messageBox-description =
+ Voeg voor je lezers bovenaan de reactie box een bericht toe. Gebruik dit om een vraag te stellen of
+ een mededeling te doen gerelateerd aan dit bericht
+configure-messageBox-preview = Voorbeeld
+configure-messageBox-selectAnIcon = Selecteer een icon
+configure-messageBox-noIcon = Geen icoon
+configure-messageBox-writeAMessage = Schrijf een bericht
+
+configure-closeStream-title = Sluit reactiestroom
+configure-closeStream-description =
+ Deze reactiestroom is open. Door het sluiten van deze reactiestroom
+ kunnen er geen nieuwe reacties toegevoegd worden
+ en alle reeds toegevoegde reacties zullen zichtbaar blijven.
+configure-closeStream-closeStream = Sluit reactiestroom
+
+configure-openStream-title = Open reactiestroom
+configure-openStream-description =
+ Deze reactiestroom is gesloten. Door het openen van deze reactiestroom
+ kunnen nieuwe reacties worden toegevoegd en weergegeven.
+configure-openStream-openStream = Open reactiestroom
+
+comments-tombstone-ignore = Deze reactie is niet zichtbaar omdat u {$username} negeert