Date: 2026-08-10
Locale tree: ~/mozilla/git/firefox-l10n/nl @ 8f96d6666f29 (branch main)
en-US reference: ~/mozilla/git/firefox-quarantine @ 6f2a830d9
Scope: 242 .ftl files — Firefox desktop + shared toolkit, dom, netwerk, security, devtools, mobile
Method: automated health checks (moz.l10n parser, l10n-lint, hunspell against the locale's own nl.dic) followed by a per-directory qualitative review against en-US, using the en-US developer comments as context.
All findings are keyed by Fluent string ID, never by line number.
| Check | Result |
|---|---|
Fluent syntax (l10n-lint) |
clean — 0 parse errors |
| Variable / placeholder mismatches | 0 |
| Access keys not present in their label | 1 (appmenu-update-other-instance, and only because the label itself is broken — see A-1) |
| Obsolete strings | 0 |
| Files present in en-US but absent in nl | 0 |
| Missing strings | 27, in 4 files |
| Non-Latin / homoglyph contamination in values | 0 |
Straight " / ' inside message values |
0 |
Unbalanced “ ” pairs |
0 |
Missing strings (translation work, not a defect to fix):
browser/browser/featureCallout.ftl— 10:taskbar-tabs-callout-primary-button-v3,taskbar-tabs-chat-callout-title-v3,taskbar-tabs-email-callout-subtitle-v3,taskbar-tabs-email-callout-title-v3,taskbar-tabs-gaming-callout-subtitle-v3,taskbar-tabs-gaming-callout-title-v3,taskbar-tabs-media-callout-subtitle-v3,taskbar-tabs-media-callout-title-v3,taskbar-tabs-value-prop-callout-subtitle-v3,taskbar-tabs-value-prop-callout-title-v3toolkit/toolkit/about/aboutAddons.ftl— 15: theaboutaddons-themes-picker-*group (7),find-more-addons-promo,find-more-addons-promo-open-amo-button,find-more-extensions-promo,find-more-extensions-promo-open-amo-button,find-more-themes-promo,find-more-themes-promo-open-amo-button,list-empty-get-extensions-promo,list-empty-get-extensions-promo-buttonbrowser/browser/appExtensionFields.ftl— 1:extension-default-theme-description2browser/browser/preferences/formAutofill.ftl— 1:address-capture-never-save-button
These are the locale's own settled conventions. They are not defects and were not flagged.
| Aspect | nl convention | Evidence |
|---|---|---|
| Address register | formal u / uw, exclusively | 2739 u/uw, 0 jij/jouw, 0 informal je |
| Apostrophe | ’ U+2019 |
423 vs 0 straight ' in values |
| Quotes | ‘…’ and “…” both in use |
183 ‘, 84 “ |
| Dash | en dash – as the sentence/title dash |
100 – vs 42 —; the — occurrences are the deviations (see I-1) |
| Ellipsis | … U+2026 |
361 vs 2 ... (see I-2) |
| Case | sentence case for labels and menus | stray Title Case is flagged in section H |
| Verb form | infinitive for menu commands / checkbox labels | imperatives inconsistent with siblings are flagged in E |
| Compounds | written closed (one word) | long compounds are correct Dutch, not typos |
| Punctuation spacing | no NBSP before ? ! ; : |
0 NBSP in the tree |
The locale also ships its own Hunspell dictionary at nl/extensions/spellcheck/hunspell/nl.{dic,aff}, which was used for the typo sweep.
S-1 — En dash vs em dash in window/tooltip titles. The tree overwhelmingly uses –, but one cluster uses —: browser-main-window-titles (.data-title-default-with-profile, .data-title-private-with-profile, .data-content-title-default, .data-content-title-private, .data-content-title-default-with-profile, .data-content-title-private-with-profile), browser-main-window-titles-mac (.data-title-private, .data-title-default-with-profile, .data-title-private-with-profile, .data-content-title-private, .data-content-title-default-with-profile, .data-content-title-private-with-profile), and tab-group-menu-closed-tab-group.title. Their siblings browser-main-window-window-titles, browser-main-window-mac-window-titles and tabbrowser-manager-closed-tab-group.tooltiptext use –. One dash character should be chosen for the whole set. Separately, page-info-page.title, page-info-frame.title, tabbrowser-container-tab-title and permissions-exceptions-popup-window3.title use a plain hyphen - where a dash is expected.
S-2 — "Extensies & Thema's" vs "Extensies en thema's". The & + Title Case form appears in addons-button-label, addons-button-label2 (.label, .title), about-logins-page-title and menu-tools-extensions-and-themes.label; the sentence-case form appears in appmenuitem-extensions-and-themes.label, extension-controlled-enable-2, preferences-web-appearance-footer, search-outlink-to-extensions-page. Same for pane-privacy-title3 ("Privacy & Beveiliging" vs en-US "Privacy and security"). One form should win; en-US no longer uses & or Title Case in these strings.
S-3 — "permissions" = toestemmingen or machtigingen. Both are used for the same concept, sometimes in one dialog: toestemmingen in permissions-header3, addon-permissions-heading, permissions-addon-button, addon-permissions-required, origin-controls-state-when-clicked, webext-perms-header-optional-required-perms, webext-perms-optional-perms-header2; machtigingen in addon-permissions-managed-by-policy, origin-controls-toolbar-button-permission-needed.tooltiptext, webext-perms-header-required-perms, webext-perms-header-update-required-perms, plus the about-webauthn-*-machtiging* strings.
S-4 — Keyboard shortcut = sneltoets or snelkoppeling. snelkoppeling (which in Dutch means a shortcut file/link) is used in customkeys-shortcut-unassigned.placeholder, customkeys-shortcut-input, shortcuts-remove-button.aria-label, shortcuts-duplicate, shortcuts-duplicate-warning-message, shortcuts-duplicate-warning-message2, search-popover; sneltoets is used in customkeys-* elsewhere, shortcuts-input, shortcuts-system, addon-manage-extensions-shortcuts, extension-shortcuts.
S-5 — "Pin" = vastmaken or vastzetten. Tabs use vastmaken (tab-context-pin-tab2.label, newtab-menu-pin) but vastzetten leaks in at pinned-tabs-drop-indicator, pin-tabs-callout-1-subtitle, pin-tabs-callout-2-subtitle, sidebar-pins-callout-subtitle — where the same sentence then tells the user to click the menu item named "Tabblad vastmaken". Toolbar/taskbar correctly use vastzetten (toolbar-context-menu-pin-to-toolbar, unifiedExtensions-context-menu-pin-to-toolbar), except toolbar-context-menu-pin-to-overflow-menu which uses vastmaken.
S-6 — "Screenshot" = schermafbeelding or schermafdruk. schermafbeelding dominates (screenshot-toolbarbutton, screenshots-download-button-tooltip, quickactions-screenshot3, main-context-menu-take-screenshot); schermafdruk appears in screenshots-retry-button-title.title, screenshots-component-retry-button (.title, .aria-label), screenshots-too-large-error-title, quickactions-cmd-screenshot2.
S-7 — "Reset" = herinitialiseren / opnieuw instellen / herstellen. herinitialiseren (the term reserved for the Refresh-Firefox profile reset) is used for ordinary resets in reset-password-button-label.label, customkeys-reset, newtab-widget-timer-reset.title, while pippki-reset-password-confirmation-*, reset-primary-password-window2, customkeys-key-reset, customkeys-reset-all-button use opnieuw instellen / herstellen.
S-8 — "Unload" = ontladen / lossen / uitladen. All three appear for the same action: tab-context-unload-tabs.label, tab-context-unload-n-tabs.label, devmgr-button-unload.label use ontladen; about-unloads-button-unload and the rest of aboutUnloads.ftl use lossen. Neither reads naturally in Dutch for discarding a tab or a PKCS#11 module; a single term should be chosen (uitladen is the usual rendering for a module).
S-9 — "Report" = melden or rapporteren. newtab-report-content-why-reporting-this.label and newtab-toast-thanks-for-reporting.message use melden; newtab-menu-report, newtab-menu-report-this-ad and the safeb-* strings use rapporteren.
S-10 — "b.v." as the abbreviation for bijvoorbeeld. In Dutch b.v. is the abbreviation for besloten vennootschap; the correct forms are bijv. or bv. (which the tree already uses in cspErrors.ftl). Affected: inactive-css-text-wrap-balance-fragmented, inactive-css-text-wrap-balance-fragmented-fix, inactive-css-text-wrap-balance-fragmented-fix-1, printui-page-custom-range-input.placeholder.
appmenu-update-other-instance(.secondarybuttonlabel) —browser/browser/appMenuNotifications.ftl— the button label is the single letter "j" instead of a translation of "Not Now";.secondarybuttonaccesskey = wthen cannot match it. Current:j→ Suggest:Niet nuwith.secondarybuttonaccesskey = N.genai-settings-chat-gemini-links—browser/browser/genai.ftl— malformed closing tag</a >(space inside the tag), so the second link will not render. Current:…generatieve AI</a > en de…→ Suggest:…generatieve AI</a> en de…about-logins-import-dialog-items-no-change2—browser/browser/aboutLogins.ftl— same defect in both plural variants:<span data-l10n-name="meta">(niet geïmporteerd)</span >→ Suggest:</span>cfr-doorhanger-milestone-heading2([one]variant) —browser/browser/newtab/asrouter.ftl— the opening<b>is corrupted tob>, and "over" is dropped. Current:… b>{ $blockedCount }</b> tracker geblokkeerd!→ Suggest:… meer dan <b>{ $blockedCount }</b> tracker geblokkeerd!chooser-dialog-description—toolkit/toolkit/global/handlerDialog.ftl— the noun is missing, leaving a broken sentence. Current: "Kies een toepassing om de{ $scheme }-mee te openen." → Suggest: "Kies een toepassing om de{ $scheme }-koppeling te openen." (en-US: "to open the{ $scheme }link")protections-vpn-header-content-subscribed—browser/browser/protections.ftl— stray space inside the link text, producing a trailing underlined space. Current:<a data-l10n-name="appstore-link">Apple App Store </a>→ Suggest:…Apple App Store</a>recommended-theme-1—toolkit/toolkit/about/aboutAddons.ftl— stray leading space inside the link. Current:<a data-l10n-name="link"> Bouw uw eigen thema…→ Suggest:<a data-l10n-name="link">Bouw uw eigen thema…about-logins-intro-import3—browser/browser/aboutLogins.ftl— double space before the second link (… of <a data-l10n-name="import-file-link">).settings-translations-subpage-never-translate-sites-description—browser/browser/preferences/preferences.ftl— double space after<img data-l10n-name="translations-icon"/>.webgl2-renderer—toolkit/toolkit/about/aboutSupport.ftl— double space. Current: "Renderer van WebGL 2-stuurprogramma" → Suggest: single space.return-to-amo-addon-title—browser/browser/newtab/onboarding.ftl— double space around<img data-l10n-name="icon"/>.inactive-css-not-grid-or-flex-container-or-multicol-container-fix—devtools/client/tooltips.ftl— the CSS keyword inside<strong>is misspelled, so the suggested fix is wrong code. Current:<strong>colums:2</strong>→ Suggest:<strong>columns:2</strong>inactive-css-ruby-element-fix,inactive-css-ruby-element-fix-1—devtools/client/tooltips.ftl— the CSS property name inside<strong>was translated, against the section's developer comment. Current:<strong>lettergrootte</strong>→ Suggest:<strong>font-size</strong>webconsole-commands-usage-block—devtools/shared/webconsole-commands.ftl— the literal argument name from the command signature was altered. Current: "Accepteert slechts één argument URLSTRING" → Suggest: "… URL_STRING" (matches the:block URL_STRINGusage line above it)
browser/
existing-user-privacy-notice-update-message—termsofuse.ftl— "to reflect" lost. Current: "…bijgewerkt naar de nieuwste functies in{ -brand-short-name }." → Suggest: "…bijgewerkt om de nieuwste functies in{ -brand-short-name }te weerspiegelen."webrtc-sharing-menu(.label) —webrtcIndicator.ftl— subject and object swapped. en-US "Tabs sharing devices". Current: "Apparaten die tabbladen delen" → Suggest: "Tabbladen die apparaten delen"set-background-fill(.label) —setDesktopBackground.ftl— uitvullen is the typographic term for justify. Current: "Uitvullen" → Suggest: "Vullen"duplicate-tab2(.label),duplicate-tabs2(.label) —tabContextMenu.ftl— noun instead of the menu verb. Current: "Duplicaat" → Suggest: "Dupliceren"tab-note-preview-expand—tabbrowser.ftl— en-US "Read more" expands a truncated note; "Meer info" is this locale's rendering of "Learn more". Current: "Meer info" → Suggest: "Meer lezen"panic-button-thankyou-msg2—panelUI.ftl— en-US "Safe browsing!". Current: "Hou het veilig!" → Suggest: "Veilig surfen!"trustpanel-description-disabled—browser.ftl— en-US "is off-duty", losing the contrast withtrustpanel-header-enabled("staat op wacht"). Current: "…heeft geen dienst." → Suggest: "…staat niet op wacht."quickactions-cmd-manageai—browser.ftl— one of three search keywords is duplicated, so a trigger is lost. Current: "ai uitschakelen, ai uitschakelen, ai beheren" → Suggest: "ai uitschakelen, ai uitzetten, ai beheren" (en-US "disable ai, off ai, manage ai")urlbar-result-action-search-actions,urlbar-placeholder-search-mode-other-actions(.aria-label) —browser.ftl— "Search" is a verb here. Current: "Zoekacties" → Suggest: "Acties doorzoeken" / "Zoeken in acties"addon-install-error-incorrect-hash,addon-local-install-error-incorrect-hash—addonNotifications.ftl— relative clause collapsed. Current: "…niet overeenkomt met de verwachte add-on{ -brand-short-name }." → Suggest: "…niet overeenkomt met de add-on die{ -brand-short-name }verwachtte."about-logins-import-report-page-title—aboutLogins.ftl— noun phrase turned into a command. Current: "Samenvattend rapport importeren" → Suggest: "Samenvattend importrapport"firefoxview-closed-tabs-dismiss-tab(.title),fxviewtabrow-dismiss-tab-button(.title) —firefoxView.ftl,fxviewTabList.ftl— these dismiss an already-closed tab from the list; "sluiten" collides with the real close action (fxviewtabrow-close-tab-button). Current: "{ $tabTitle }sluiten" → Suggest: "{ $tabTitle }uit de lijst verwijderen"smart-window-switched-tab-label,smart-window-switched-tab-summary—aiWindowContent.ftl— "switched to" is not "swapped". Current: "Omgewisselde tabbladen" / "Omgewisseld naar ‘{ $title }’." → Suggest: "Van tabblad gewisseld" / "Overgeschakeld naar ‘{ $title }’."customkeys-conflict-unusable-title,customkeys-conflict-unusable-body—customkeys.ftl— "key" is a keyboard key, not a cryptographic key. Current: "Sleutel kan niet worden gebruikt" / "Deze sleutel wordt al gebruikt door…" → Suggest: "Toets kan niet worden gebruikt" / "Deze toets wordt al gebruikt door…" (cf.customkeys-conflict-confirm, which correctly uses "toets")sidebar-callout-survey-neutral—featureCallout.ftl— breaks the Likert scale. Current: "Gemiddeld" → Suggest: "Neutraal"windows-10-eos-sync-general-title-1—featureCallout.ftl— en-US "the{ -brand-short-name }you've made yours". Current: "…die u van u hebt gemaakt." → Suggest: "…die u zich eigen hebt gemaakt."other-backup-files-founds—backupSettings.ftl— en-US "Note:". Current: "<b>Noot:</b>" → Suggest: "<b>Opmerking:</b>"genai-prompts-summarize(.value) —genai.ftl— "concise" became "descriptive", nearly reversing the instruction. Current: "…in exacte en beschrijvende woorden." → Suggest: "…in precieze en beknopte woorden."containers-icon-briefcase(.label) —preferences/containers.ftl— "Briefcase" is the depicted object. Current: "Werkmap" → Suggest: "Aktetas" (and alignbriefcase-avatar/briefcase-avatar-altinprofiles.ftl, which also say "Werkmap" whilebriefcase-avatar-tooltipsays "Aktetas")permissions-header3(.description) —preferences/preferences.ftl— en-US "Manage what websites can access…". Current: "Beheren welke websites kunnen benaderen, aansturen of starten." → Suggest: "Beheren wat websites kunnen benaderen, aansturen of starten."space-alert-under-5gb-message2—preferences/preferences.ftl— "browsing experience" became "performance". Current: "…voor betere prestaties." → Suggest: "…voor een betere surfervaring."preferences-etp-level-standard(.label) —preferences/preferences.ftl— the word is repeated, so the parenthesis conveys nothing. Current: "Standaard (standaard)" → Suggest: "Standaard (standaardinstelling)"appearance-window-density-touch(.description) —preferences/preferences.ftl— "and" became "such as". Current: "Grotere vensterelementen zoals klikdoelen" → Suggest: "Grotere vensterelementen en klikdoelen"appearance-group2(.label),preferences-web-appearance-header,web-appearance-group(.aria-label) —preferences/preferences.ftl— definite singular implies one specific site. Current: "Uiterlijk van de website" → Suggest: "Uiterlijk van websites"security-privacy-issue-warning-doh(.description),security-privacy-issue-warning-ech(.description) —preferences/preferences.ftl— "network provider" became "network administrator"; the-doh2/-ech2variants correctly use "internetaanbieder". Current: "…netwerkbeheerder…" → Suggest: "…netwerkaanbieder…"pane-experimental-description4—preferences/preferences.ftl— "evolving" became "in de groei"; the parallel-description3uses "worden steeds beter".preferences-etp-advanced-settings-group(.description) —preferences/preferences.ftl— en-US "blocking most trackers automatically"; the qualifier is dropped. Suggest: "…waarbij de meeste trackers automatisch worden geblokkeerd"permissions-searchbox(.placeholder) —preferences/permissions.ftl— the box filters the website list. Current: "Website doorzoeken" → Suggest: "Websites zoeken"report-broken-site-panel-reason-adblocker2(.label),report-broken-site-panel-reason-adblocker-moz-box-button(.label) —reportBrokenSite.ftl— missing determiner. Current: "Website vroeg om adblocker uit te schakelen" → Suggest: "…om de adblocker uit te schakelen"enable-devtools-popup-description2—browser.ftl— en-US "Browser Tools menu"; nl points at the "Extra" menu. Suggest: "…via het menu Browserhulpmiddelen…"main-context-menu-frame-add-bookmark—browserContext.ftl— every other frame item uses "deelvenster". Current: "Bladwijzer voor frame maken…" → Suggest: "Bladwijzer voor deelvenster maken…"newtab-sports-widget-loading-more—newtab/newtab.ftl— "matches" taken as "correspondences". Current: "Meer overeenkomsten laden…" → Suggest: "Meer wedstrijden laden…"newtab-section-following-button,newtab-section-unfollow-button-label(.aria-label) —newtab/newtab.ftl— "Volgend" means next. Current: "Volgend" → Suggest: "Gevolgd" (matchesnewtab-section-mangage-topics-followed-topics)newtab-widget-timer-label-play(.label) —newtab/newtab.ftl— timer control, not media playback. Current: "Afspelen" → Suggest: "Starten"newtab-widget-message-copy—newtab/newtab.ftl— "stretch breaks" became "long breaks". Suggest: "…tot pauzes om te bewegen"newtab-wallpaper-reset—newtab/newtab.ftl— the verb is lost. Current: "Standaardwaarden" → Suggest: "Standaard herstellen"newtab-weather-see-forecast(.title),newtab-weather-see-forecast-description(.title) —newtab/newtab.ftl—$provideris the weather service. Current: "…bekijken voor{ $provider }" → Suggest: "…bekijken in{ $provider }"newtab-custom-wallpaper-title—newtab/newtab.ftl— en-US "are here" = are now available. Current: "Hier vindt u aangepaste achtergronden" → Suggest: "Aangepaste achtergronden zijn er nu"home-prefs-highlights-option-most-recent-download,home-prefs-highlights-option-most-recent-download-srd—preferences/preferences.ftl,newtab/newtab.ftl— noun phrase rendered as a participle. Current: "Meest recent gedownload" → Suggest: "Meest recente download"fxa-adoption-addresses-backup-subtitle—newtab/asrouter.ftl— wrong data type; the string is about saved addresses, not passwords. Current: "Bescherm uw opgeslagen wachtwoorden…" → Suggest: "Bescherm uw opgeslagen adressen…"windows-10-eos-feature-toast-subtitle—newtab/asrouter.ftl— meaning reversed: per the dev comment "dropped" means released. Current: "…nieuwe functies verwijderd…" → Suggest: "…nieuwe functies uitgebracht…"windows-10-eos-challenger-callout-title—newtab/asrouter.ftl— literal calque. Current: "Dat is het punt." → Suggest: "Dat is precies de bedoeling."windows-10-eos-sync-callout-privacy-screen-2-subtitle—newtab/asrouter.ftl— "data and privacy settings" became "data settings and privacy settings". Suggest: "…om uw gegevens en privacyinstellingen mee te nemen."cfr-doorhanger-bookmark-fxa-body—newtab/asrouter.ftl— "this bookmark" generalised. Suggest: "…dat u niet zonder deze bladwijzer zit…" (cf.-body-2)firefoxview-cfr-body-v2,set-default-menu-message-row-layout-subtitle,set-default-menu-message-split-layout-subtitle([other]),fxa-menu-message-sync-devices-secondary-text,fxa-menu-message-sync-devices-secondary-text2—newtab/asrouter.ftl— "Get" rendered as "Ontvang" (= receive), not idiomatic for these objects. Suggest: "Haal … terug", "Geniet van …", "Surf sneller met …", "Beschik direct over …"onboarding-refresh-sync-subtitle—newtab/onboarding.ftl— "Grab" is not downloading. Current: "Download bladwijzers…" → Suggest: "Haal bladwijzers … op"onboarding-sign-up-description—newtab/onboarding.ftl— "any device" weakened to "a device". Suggest: "…op een willekeurig apparaat…"smartwindow-sidebar-auto-open-callout-accepted-subtitle—newtab/onboarding.ftl— "any page" → "a page". Suggest: "…om hem op elke pagina te openen."restored-from-backup-success-title—newtab/onboarding.ftl— possessive dropped. Suggest: "We zijn terug! Uw{ -brand-short-name }-gegevens zijn hersteld."create-backup-screen-2-easy-label,mr2022-onboarding-import-header—newtab/onboarding.ftl— "setup" is configuration, not software installation. Current: "Eenvoudige instellingen" / "Razendsnelle installatie" → Suggest: "Eenvoudig instellen" / "Razendsnel instellen"policy-DisableSecurityBypass—policies/policies-descriptions.ftl— "security warnings" became "security settings". Suggest: "…bepaalde beveiligingswaarschuwingen omzeilt."policy-DisableRemoteImprovements—policies/policies-descriptions.ftl— "changes" dropped. Suggest: "…wijzigingen aan prestaties, stabiliteit en functies toepast…"policy-HttpAllowlist—policies/policies-descriptions.ftl— "Origins" is the web-security term. Current: "Oorspronkelijke bronnen…" → Suggest: "Bronnen die niet naar HTTPS worden geüpgraded."policy-DisabledCiphers—policies/policies-descriptions.ftl— ciphers ≠ cipher suites. Current: "Coderingssuites uitschakelen." → Suggest: "Versleutelingsalgoritmen uitschakelen."policy-SkipTermsOfUse2—policies/policies-descriptions.ftl— "authority" is legal authorisation. Current: "…de zeggenschap hebt om deze te accepteren…" → Suggest: "…bevoegd bent om deze te accepteren…"policy-GoToIntranetSiteForSingleWordEntryInAddressBar—policies/policies-descriptions.ftl— "single word entries" read as "a few words". Suggest: "…bij invoer van één woord in de adresbalk."safeb-blocked-malware-page-short-desc,safeb-blocked-malware-page-error-desc-override-sumo,safeb-blocked-malware-page-error-desc-no-override-sumo—safebrowsing/blockedSite.ftl— kwaadwillend describes persons with ill intent, not software. Current: "kwaadwillende software" → Suggest: "kwaadaardige software"
toolkit/
printui-sheets-count—printing/printUI.ftl— sheets of paper counted as pages, destroying this dialog's sheet/page distinction. Current: "{ $sheetCount }pagina / pagina's" → Suggest: "{ $sheetCount }vel papier / vellen papier"printui-page-range-current—printing/printUI.ftl— Current: "Actueel" → Suggest: "Huidige"shrink-to-fit(.label) —printing/printDialogs.ftl— en-US "Shrink to fit Page Width". Current: "Verkleinen tot papierformaat" → Suggest: "Verkleinen tot paginabreedte"process-type-privilegedabout—global/processTypes.ftl— "About" is theabout:page family, not the preposition; per the dev comment. Current: "Over Met privileges" → Suggest: "About-pagina's met privileges"process-type-inference,about-processes-inference-process—global/processTypes.ftl,about/aboutProcesses.ftl— ML inference. Current: "Conclusie" → Suggest: "Inferentie"moz-breadcrumb-group-nav(.aria-label) —global/mozBreadcrumbGroup.ftl— Current: "Broodkruimels" → Suggest: "Kruimelpad"autofill-use-payment-method-os-prompt-other—formautofill/formAutofill.ftl— "use stored" became "show", making it identical to the edit prompt. Current: "…probeert betalingsgegevens te tonen." → Suggest: "…probeert opgeslagen betalingsgegevens te gebruiken."webext-perms-description-data-some-update—global/extensions.ftl— future tense lost, so it no longer differs fromwebext-perms-description-data-some. Suggest: "…dat de extensie het volgende zal verzamelen:"neterror-unknown-socket-type-psm-installed—neterror/netError.ftl— a component name was translated. Current: "de persoonlijke beveiligingsbeheerder" → Suggest: "Personal Security Manager"sec-error-no-slot-selected,sec-error-cannot-move-sensitive-key—neterror/nsserrors.ftl— PKCS#11 "slot" rendered as a physical empty space. Current: "lege plaats" → Suggest: "slot"sec-error-failed-to-encode-data,sec-error-decode-error-alert,cert-error-bad-der,about-networking-ssl-tokens-compression-details(.title) — encode/decode rendered as encrypt/decrypt. Suggest: "coderen" / "decoderen" / "gecodeerd" / "Gecodeerd:"sec-error-cert-signature-algorithm-disabled—neterror/nsserrors.ftl— "signed" became "encrypted". Suggest: "…is ondertekend met een ondertekeningsalgoritme…"sec-error-crl-invalid-version—neterror/nsserrors.ftl— en-US "unknown version number". Current: "ongeldig versienummer" → Suggest: "onbekend versienummer"ssl-error-no-supported-signature-algorithm—neterror/nsserrors.ftl— "algorithm" dropped. Suggest: "…geen ondersteund TLS-ondertekeningsalgoritme…"xp-java-remove-principal-error,xp-java-cert-not-exists-error—neterror/nsserrors.ftl— security "principal" rendered as a story character. Current: "hoofdpersoon" → Suggest: "principal"xp-sec-fortezza-more-info,xp-sec-fortezza-person-not-found,xp-sec-fortezza-no-more-info,xp-sec-fortezza-person-error—neterror/nsserrors.ftl— FORTEZZA "personality" is a credential profile, not a person. Suggest: "personality"fp-certerror-intro,fp-certerror-transparency-intro,certerror-intro,certerror-expired-cert-second-para,fp-neterror-http-auth-disabled-intro—neterror/certError.ftl,neterror/netError.ftl— "emails" (messages) rendered as addresses. Current: "e-mailadressen" → Suggest: "e-mailberichten"experimental-features-devtools-compatibility-panel-description—featuregates/features.ftl— possessor swapped. en-US "your app's cross-browser compatibility status". Suggest: "…over de cross-browsercompatibiliteitsstatus van uw app"experimental-features-group-webpage-display(.label) —firefoxlabs/features.ftl— page → site. Current: "Websiteweergave" → Suggest: "Webpaginaweergave"experimental-features-group-customize-browsing(.label) —firefoxlabs/features.ftl— Current: "Pas uw browser aan" → Suggest: "Uw browsen aanpassen"experimental-features-newtab-sections-follow-block(.label) —firefoxlabs/features.ftl— "New Tab Stories" misparsed as "new tab-stories". Suggest: "…voor verhalen op de Nieuw-tabbladpagina"experimental-features-newtab-widget-picture-of-the-day-description—firefoxlabs/features.ftl— "Get" became "create". Suggest: "Ontvang een nieuwe afbeelding…"windows-messages-intro—about/aboutWindowsMessages.ftl— table "entry" rendered as "invoer" (input). Suggest: "vermelding"certificate-viewer-key-usages,certificate-viewer-extended-key-usages—about/certviewer.ftl— "Key" parsed as the adjective main. Current: "Belangrijkste gebruiksmogelijkheden" / "Uitgebreide gebruiksmogelijkheden" → Suggest: "Sleutelgebruik" / "Uitgebreid sleutelgebruik"third-party-intro—about/aboutThirdParty.ftl— "injected into" became "built into", reversing the page's point. Suggest: "…zijn geïnjecteerd"roundtrip-latency—about/aboutSupport.ftl— Current: "Retentielatentie (standaarddeviatie)" → Suggest: "Retourlatentie (standaarddeviatie)"place-database-stats-size-kib—about/aboutSupport.ftl— unit changed from KiB to KB. Current: "Grootte (KB)" → Suggest: "Grootte (KiB)"place-database-stats-sequentiality-perc—about/aboutSupport.ftl— Current: "Volgorde (%)" → Suggest: "Sequentialiteit (%)"content-analysis-agent-failed-signature-verification—about/aboutSupport.ftl— the agent's signature failed verification; nl says the agent could not perform it. Suggest: "Handtekeningverificatie van agent mislukt"blocked-driver,blocked-mismatched-version,try-newer-driver—about/aboutSupport.ftl— "version" dropped; the block applies to the driver version. Suggest: "…voor uw versie van het grafische stuurprogramma."about-telemetry-current-store—about/aboutTelemetry.ftl— data store, not shop. Current: "Huidige winkel:" → Suggest: "Huidige opslag:"about-telemetry-histogram-stats—about/aboutTelemetry.ftl— statistical "sample" as monster (specimen). Suggest: "{ $sampleCount }metingen"about-telemetry-memory-map-title—about/aboutTelemetry.ftl— Current: "Geheugentoewijzing:" → Suggest: "Geheugenoverzicht:"about-telemetry-raw-payload-section—about/aboutTelemetry.ftl— "payload" is a fixed Telemetry term. Current: "Onbewerkte nettolading" → Suggest: "Onbewerkte payload"about-glean-about-data-list-item-dictionary,about-glean-about-data-explanation—about/aboutGlean.ftl— the Glean Dictionary is a catalogue, not a library. Suggest: "{ -glean-brand-name }Dictionary"about-glean-label-for-log-pings—about/aboutGlean.ftl— "Check the preceding box" is a tick instruction. Current: "Controleer het voorgaande veld…" → Suggest: "Vink het voorgaande vakje aan…"about-glean-metrics-table-settings-hide-empty-value-rows—about/aboutGlean.ftl— table rows are rijen. Current: "Regels met lege waarden verbergen" → Suggest: "Rijen met lege waarden verbergen"about-logging-preset-ml-description—about/aboutLogging.ftl— "machine learning" became "machine translation" (its own label is correctly "Machinaal leren"). Suggest: "…problemen met machinaal leren…"about-logging-preset-webrtc-description—about/aboutLogging.ftl— WebRTC "calls" are voice/video calls. Suggest: "WebRTC-gesprekken"about-logging-preset-webgpu-description—about/aboutLogging.ftl— "issues" dropped. Suggest: "…om WebGPU-problemen te diagnosticeren"about-networking-flags—about/aboutNetworking.ftl— "flags" as "labels" collides with the DNS meaning of label. Suggest: "Extra markeringen" (as inurl-classifier.ftl)about-webauthn-auth-info-preferred-platform-uv-attempts—about/aboutWebauthn.ftl— "Preferred" modifies the number of attempts. Suggest: "Voorkeursaantal pogingen voor platformgebruikersverificatie"about-webauthn-auth-option-credentialmgmtpreview—about/aboutWebauthn.ftl— it is a prototype of credential management. Current: "Beheer van prototypereferenties" → Suggest: "Prototype van referentiebeheer"about-webrtc-pacer-delay-ms—about/aboutWebrtc.ftl— the packet pacer, not "pace". Current: "Snelheidsvertraging ms" → Suggest: "Pacer-vertraging ms"about-webrtc-nominated—about/aboutWebrtc.ftl— ICE "nominated". Current: "Benoemd" → Suggest: "Genomineerd"about-webrtc-sdp-set-at-timestamp-local,about-webrtc-sdp-set-at-timestamp-remote—about/aboutWebrtc.ftl— a header stating when the SDP was set reads as a command. Suggest: "Lokaal SDP ingesteld op tijdstempel …"about-webrtc-configuration-element-provided—about/aboutWebrtc.ftl— "Provided" = supplied. Current: "Voorzien" / "Niet voorzien" → Suggest: "Verstrekt" / "Niet verstrekt"about-webrtc-dropped-frames-label—about/aboutWebrtc.ftl— "dropped" frames are discarded, not lost in transit ("verloren" is already used for lost packets). Suggest: "Weggevallen frames:"about-pdf-title—about/aboutPDF.ftl— the editor (tool) rendered as an action. Current: "{ -brand-short-name }-PDF-bewerking" → Suggest: "{ -brand-short-name }-PDF-editor" (as inabout-pdf-promo.heading)about-reader-text-alignment-justify(.title) —about/aboutReader.ftl— "Justify" lost, making it identical to plain align. Current: "Tekst uitlijnen" → Suggest: "Tekst uitvullen"addon-detail-author-label—about/aboutAddons.ftl— Current: "Schrijver" → Suggest: "Auteur"url-classifier-content-classifier-loading-url,-loading-url-enabled—about/url-classifier.ftl— per the dev comment these name the loading URL, not an action. Current: "URL laden" / "Laden van URL inschakelen" → Suggest: "Ladende URL" / "Ladende URL inschakelen"url-classifier-content-classifier-force-third-party—about/url-classifier.ftl— the request is forced to be treated as third-party. Current: "Derden naar bovenframe dwingen" → Suggest: "Als derde partij t.o.v. bovenste frame behandelen"pkcs12-decode-err—security/.../certManager.ftl— "format" turned into "encrypted in the format". Suggest: "Het heeft niet de PKCS #12-indeling, is beschadigd, …"certmgr-tab-ca(.label) —security/.../certManager.ftl— the tab lists certificate authorities. Current: "Organisaties" → Suggest: "Autoriteiten"config-new-pref-number(.placeholder) —mobile/.../aboutConfig.ftl— a numeric value is getal. Current: "Voer een nummer in" → Suggest: "Voer een getal in"
devtools/
inactive-css-column-span-fix,inactive-css-column-span-fix-1—client/tooltips.ftl— "voorlopende" is not a Dutch word and "ancestor" ≠ "preceding". Suggest: "…aan een van de bovenliggende elementen…"inactive-css-no-principal-box,-fix,-fix-1—client/tooltips.ftl— CSS "box" as veld (field). Suggest: "primair vak"inactive-css-at-position-try-not-supported—client/tooltips.ftl— missing preposition and wrong final punctuation. Suggest: "… wordt niet ondersteund in<strong>@position-try</strong>-regels."accessibility-best-practices(.alt) —client/accessibility.ftl— Current: "Goede voorbeelden" → Suggest: "Best practices"accessibility-text-label-issue-heading,-heading-content—client/accessibility.ftl— HTML headings are koppen, not kopteksten. Suggest: "Koppen moeten worden gelabeld."session-history-entry-info-button-title(.title) —client/application.ftl— "data" dropped. Suggest: "Sessiegeschiedenisgegevens tonen"network-menu-summary-finish—client/netmonitor.ftl— "Finish" is a timestamp label, not a command. Current: "Voltooien:" → Suggest: "Voltooid:"perftools-thread-timer(.title) —client/perftools.ftl— subject/object swapped. en-US "The thread handling timers". Current: "De timers voor het afhandelen van threads…" → Suggest: "De thread die timers afhandelt…"perftools-thread-img-decoder(.title) —client/perftools.ftl— decoding as decryption. Current: "Afbeeldingsontsleutelingsthreads" → Suggest: "Afbeeldingsdecoderingsthreads"perftools-thread-compositor(.title) —client/perftools.ftl— English word left mid-sentence. Current: "verschillende painted elementen" → Suggest: "verschillende getekende elementen"perftools-presets-ml-description2,profiler-popup-presets-ml-description—client/perftools.ftl,browser/browser/appmenu.ftl— "machine learning" became "machine translation". Suggest: "…bugs in machinaal leren…"styleeditor-pretty-print-button(.title) —client/styleeditor.ftl— English left as an inverted noun phrase. Current: "Stylesheet Pretty Print" → Suggest: "Stijlblad opmaken"styleeditor-pretty-print-button-disabled,-disabled-read-only—client/styleeditor.ftl— "pretty print" as mooi afdrukken (print nicely on paper). Suggest: "Kan alleen CSS-bestanden opmaken" / "Kan een alleen-lezen-stijlblad niet opmaken."options-enable-custom-formatters-label,options-enable-custom-formatters-tooltip—client/toolbox-options.ftl— formatters are functions, not elements. Current: "Aangepaste opmaakelementen" → Suggest: "Aangepaste formatters"options-netmonitor-body-limit-label—client/toolbox-options.ftl— "body" dropped. Suggest: "Maximale grootte van verzoek- en antwoordtekst…"whypaused-assert—shared/debugger-paused-reasons.ftl— a code assert, not a confirmation. Current: "Gepauzeerd bij bevestiging" → Suggest: "Gepauzeerd bij assertie"devmgr-button-unload(.label) —security/.../deviceManager.ftl— ontladen = to discharge a battery. Suggest: "Uitladen" (paired withdevmgr-button-load"Laden")pippki-failed-pw-change,pippki-incorrect-pw,pippki-pw-erased-ok,pippki-pw-not-wanted,pippki-pw-change2empty-in-fips-mode—security/.../pippki.ftl— these belong to the device password dialog (change-device-password-window); en-US says plain "password", but nl says "hoofdwachtwoord" (Primary Password). Suggest: use "wachtwoord" in these five; keep "hoofdwachtwoord" only in thereset-primary-password-*section.
toolkit/toolkit/intl/languageNames.ftl:
language-name-kg— country instead of the language. Current: "Congo" → Suggest: "Kikongo" (en-US "Kongo")language-name-fj— country instead of the language. Current: "Fiji" → Suggest: "Fijisch" (en-US "Fijian")language-name-az— ethnonym instead of the Dutch language name. Current: "Azeri" → Suggest: "Azerbeidzjaans"language-name-av— Current: "Avar" → Suggest: "Avaars" (en-US "Avaric")language-name-ba— English spelling kept. Current: "Bashkir" → Suggest: "Basjkiers"language-name-cv— English spelling kept, inconsistent with "Tsjetsjeens" (language-name-ce). Current: "Chuvash" → Suggest: "Tsjoevasjisch"language-name-ug— Current: "Oejgoers" → Suggest: "Oeigoers"language-name-sg— Current: "Sangho" → Suggest: "Sango"language-name-ps— Current: "Pashtu" → Suggest: "Pasjto"language-name-ks— Current: "Kashmiri" → Suggest: "Kasjmiri"language-name-st— Current: "Sotho, Zuiders" → Suggest: "Sotho, Zuidelijk" (siblingslanguage-name-nr,-nd,-nsouse "Zuidelijk"/"Noordelijk")language-name-nn— qualifier dropped. Current: "Nynorsk" → Suggest: "Noors Nynorsk" (cf.language-name-nb"Noors Bokmål")
toolkit/toolkit/intl/regionNames.ftl:
region-name-qx— Current: "Glorieuzen" → Suggest: "Glorioso-eilanden" (en-US "Glorioso Islands")region-name-bl— a saint's name instead of the territory. Current: "Sint-Bartholomeus" → Suggest: "Saint-Barthélemy"region-name-sz-2019— the ID and en-US both mark the post-2018 name. Current: "Swaziland" → Suggest: "Eswatini"region-name-by— Current: "Wit-Rusland" → Suggest: "Belarus" (en-US "Belarus"; current Taalunie/official Dutch usage — editorial call)
addon-badge-line3(.title),addon-badge-line4(.title) —toolkit/toolkit/about/aboutAddons.ftl— the dev comment states that "Mozilla" is hard-coded on purpose "because … we don't want forks to display 'by Fork'". nl adds "Firefox". Current: "Officiële door Mozilla Firefox gebouwde extensie." → Suggest: "Officiële door Mozilla gebouwde extensie."about-logins-edit-login-os-auth-dialog-message-macosx,about-logins-reveal-password-os-auth-dialog-message-macosx,about-logins-copy-password-os-auth-dialog-message-macosx—browser/browser/aboutLogins.ftl— the comment says to supply only the reason, which macOS prefixes with "Firefox is trying to …". These are imperatives, so the resulting sentence breaks. Current: "bewerk de opgeslagen aanmelding" / "toon het opgeslagen wachtwoord" / "kopieer het opgeslagen wachtwoord" → Suggest: "de opgeslagen aanmelding te bewerken" / "het opgeslagen wachtwoord te tonen" / "het opgeslagen wachtwoord te kopiëren" (matching the correct sibling…message2-macosxforms)contextual-manager-passwords-reveal-password-os-auth-dialog-message-macosx,contextual-manager-passwords-copy-password-os-auth-dialog-message-macosx—browser/browser/contextual-manager.ftl— same defect;…edit-password-os-auth-dialog-message-macosxin the same file is correct.btp-warning-tracker-purged—toolkit/toolkit/global/antiTracking.ftl— the dev comment says not to translate "bounce tracker"; nl closes it into one word here but keeps two inbtp-warning-tracker-classified. Suggest: "bounce tracker" in both.about-glean-profiler-explanation—toolkit/toolkit/about/aboutGlean.ftl— both<q>items are literal Profiler UI labels; "Marker Chart" was kept but "Telemetry" was translated. Suggest:<q>Telemetry</q>tab-groups-2026-onboarding-cta-button—browser/browser/featureCallout.ftl— the comment asks for "under ~15 characters so it fits in the callout UI"; "Een groep starten" is 17. Soft limit, worth a shorter form (e.g. "Groep starten").- Also in this bucket: the CSS keyword items already listed in section A (
inactive-css-not-grid-or-flex-container-or-multicol-container-fix,inactive-css-ruby-element-fix,webconsole-commands-usage-block).
about-unloads-intro—browser/browser/aboutUnloads.ftl— broken verb cluster. Current: "Het volgende tabblad dat moet wordt gelost wordt gekozen…" → Suggest: "Het volgende tabblad dat wordt gelost, wordt gekozen…"tabbrowser-unmute-tab-audio-tooltip(.label,[other]),tabbrowser-unmute-tab-audio-background-tooltip(.label,[other]) —browser/browser/tabbrowser.ftl— the separable verb is split around the count. Current: "Dempen{ $tabCount }tabbladen opheffen" → Suggest: "Dempen van{ $tabCount }tabbladen opheffen"add-engine-keyword-exists—browser/browser/search.ftl— the antecedent "het trefwoord" is a het-word. Current: "Probeer een andere." → Suggest: "Probeer een ander."add-engine-suggest-url—browser/browser/search.ftl— missing articles;add-engine-url2in the same file has them. Suggest: "…met %s op de plaats van de zoekterm (optioneel)"engine-alias-exists—browser/browser/preferences/addEngine.ftl— "alias" is a de-word. Current: "met dat alias" → Suggest: "met die alias" (cf.engine-name-exists)unified-extensions-mb-blocklist-warning-single(.message),-single2(.message) —browser/browser/unifiedExtensions.ftl— masculine pronoun for "extensie". Current: "U kunt hem inschakelen…" → Suggest: "U kunt deze inschakelen…" (the plural variants correctly use "ze")webext-perms-list-intro-unsigned—toolkit/toolkit/global/extensions.ftl— pronoun does not agree with "extensie". Current: "Voeg het alleen toe…" → Suggest: "Voeg deze alleen toe…"webext-quarantine-confirmation-line-2—browser/browser/extensionsUI.ftl— missing second "te" in a coordinated infinitive. Suggest: "…te lezen en te wijzigen."webrtc-allow-share-camera-with-fileand the whole-with-fileset (-audio-capture-,-microphone-,-screen-,-speaker-,-camera-and-microphone-,-camera-and-audio-capture-,-screen-and-microphone-,-screen-and-audio-capture-with-file) —browser/browser/webrtcIndicator.ftl— "Toestaan om<object>… te<verb>" is ungrammatical: the thing being allowed became the object of "om". Current: "Toestaan om dit lokale bestand uw camera te gebruiken?" → Suggest: "Dit lokale bestand toestaan uw camera te gebruiken?" — apply the same restructuring across the section.clear-data-for-site-cookies—browser/browser/clearDataForSite.ftl— wrong subject in the relative clause. Current: "…, wat u mogelijk kan afmelden bij de website" → Suggest: "…, waardoor u mogelijk wordt afgemeld bij de website"contextual-manager-passwords-no-passwords-message—browser/browser/contextual-manager.ftl— calque of "watch out for". Suggest: "…en we letten op datalekken en waarschuwen u als u wordt getroffen."breach-alert-text—browser/browser/aboutLogins.ftl— Current: "Wachtwoorden uit deze website…" → Suggest: "Wachtwoorden van deze website…"urlbar-result-explanation-last-visited-relative—browser/browser/browser.ftl—$dateis relative ("vandaag"). Current: "Uw laatste bezoek was op{ $date }" → Suggest: drop "op" (keep it in…-last-visited-absolute)onboarding-aw-finish-setup-button(.tooltiptext) —browser/browser/browser.ftl— Current: "Instellen{ -brand-short-name }voltooien" → Suggest: "Instellen van{ -brand-short-name }voltooien" (as inonboarding-checklist-title)restore-session-startup-suggestion-button—browser/browser/browser.ftl— Current: "Tonen hoe" → Suggest: "Laat zien hoe" (not idiomatic Dutch as-is)preferences-text-zoom-override-warning2(.message) —browser/browser/preferences/preferences.ftl— the verb must close the subordinate clause. Current: "…en uw standaardzoom is niet 100%, geven…" → Suggest: "…en uw standaardzoom niet 100% is, geven…" (the older-warningis correct)sitedata-heading(.description) —browser/browser/preferences/preferences.ftl— doubled conjunction. Suggest: "Uw cookies, geschiedenis, buffer, websitegegevens en meer beheren."address-capture-save-doorhanger-description,passport-capture-save-doorhanger-description—browser/browser/preferences/formAutofill.ftl— anglicism "save to". Current: "Sla gegevens op naar{ -brand-short-name }" → Suggest: "…op in{ -brand-short-name }"browsing-use-full-keyboard-navigation(.label),browsing-media-control(.label) —browser/browser/preferences/preferences.ftl— imperative among infinitive checkbox labels. Suggest: "De tab-toets gebruiken om…" / "Media beheren via toetsenbord…"about-debugging-setup-usb-step-enable-file-transfer,about-debugging-setup-usb-step-plug-device—devtools/client/aboutdebugging.ftl— two of five step instructions switch to the imperative. Suggest: align with-enable-dev-menu2,-enable-debug2,-enable-debug-firefox2(infinitive).styleeditor-go-to-line(.label) —devtools/client/styleeditor.ftl— imperative among infinitive menu labels. Current: "Spring naar regel…" → Suggest: "Naar regel springen…"neterror-dns-not-found-hint-check-network-2—toolkit/toolkit/neterror/netError.ftl— mood mismatch inside one hint list ("Controleer uw netwerkverbinding." vs-hint-firewall-2"Controleren of…"). Pick one.accessibility-progress-progressbar—devtools/client/accessibility.ftl— verb-first is ungrammatical. Current: "Controleren{ $nodeCount }nodes" → Suggest: "{ $nodeCount }nodes controleren"perftools-heading-features-default—devtools/client/perftools.ftl— garbled rendering of "(Recommended on by default)". Current: "Functies (standaard aan aanbevolen)" → Suggest: "Functies (aanbevolen, standaard aan)"whypaused-get-watchpoint/whypaused-set-watchpoint—devtools/shared/debugger-paused-reasons.ftl— the get/set pair is broken: one translated, one keeps the English keyword. Suggest: "Gepauzeerd bij property get" / "Gepauzeerd bij property set"xslt-var-already-set—dom/dom/xslt.ftl— compound split, and "verbergt" for "shadows". Suggest: "Variabelebinding overschaduwt een variabelebinding binnen dezelfde sjabloon."sec-error-invalid-password,sec-error-retry-old-password,sec-error-not-a-recipient—toolkit/toolkit/neterror/nsserrors.ftl— inflected adjective without an article. Suggest: "Het ingevoerde wachtwoord is ongeldig." / "Oud wachtwoord onjuist ingevoerd." / "…of overeenkomend certificaat en privésleutel niet gevonden"ssl-error-ssl2-disabled—toolkit/toolkit/neterror/nsserrors.ftl— relative pronoun does not agree with "versie". Suggest: "SSL-versie 2, die lokaal is uitgeschakeld"ssl-error-unsupported-signature-algorithm—toolkit/toolkit/neterror/nsserrors.ftl— incomplete compound coordination. Suggest: "combinatie van ondertekenings- en hash-algoritme"about-logging-current-log-file,url-classifier-debug-file—toolkit/toolkit/about/aboutLogging.ftl,about/url-classifier.ftl— het-noun without article takes the uninflected adjective. Current: "Huidige logbestand" → Suggest: "Huidig logbestand"about-networking-total-network-requests—toolkit/toolkit/about/aboutNetworking.ftl— Current: "Totale aantal netwerkaanvragen" → Suggest: "Totaal aantal netwerkaanvragen"change-password-old—security/.../pippki.ftl— Current: "Huidige wachtwoord:" → Suggest: "Huidig wachtwoord:"client-auth-cert-details—security/.../pippki.ftl— missing article. Suggest: "Details van het geselecteerde certificaat:"certmgr-backup-all(.label) —security/.../certManager.ftl— dangling "alle". Current: "Reservekopie van alle maken…" → Suggest: "Reservekopie van alles maken…"profile-manager-use-selected(.label) —toolkit/toolkit/global/profileSelection.ftl— missing article. Suggest: "Het geselecteerde profiel gebruiken…"moz-box-item-reorder-handle-named(.aria-label) —toolkit/toolkit/global/mozBoxBase.ftl— leftover word. Current: "…de volgorde van{ $item }item te wijzigen" → Suggest: "…de volgorde van{ $item }te wijzigen"videocontrols-picture-in-picture-explainer3—toolkit/toolkit/global/videocontrols.ftl— plural subject, singular verb. Current: "Meer schermen betekent meer plezier." → Suggest: "…betekenen…"videocontrols-error-aborted,videocontrols-error-network,videocontrols-error-generic—toolkit/toolkit/global/videocontrols.ftl— verb phrase used as a noun phrase. Current: "Video laden gestopt." / "Video afspelen afgebroken…" → Suggest: "Laden van video gestopt." / "Afspelen van video afgebroken…"elevation-finished-background-page—toolkit/toolkit/updates/elevation.ftl— missing copula. Suggest: "…gedownload en deze is gereed voor installatie."experimental-features-abouthome-startup-cache-description—toolkit/toolkit/featuregates/features.ftl— relative clause collapsed, so the cache rather than the document is said to be loaded. Suggest: "Een opstartbuffer voor het initiële about:home-document dat bij opstarten standaard wordt geladen."experimental-features-ime-search-description—featuregates/features.ftland the duplicate infirefoxlabs/features.ftl— antecedent of the comparison missing. Suggest: "…zoals die welke in Oost-Aziatische of Indische schrifttalen worden gebruikt"experimental-features-auto-pip(.label) —firefoxlabs/features.ftl— Current: "…bij tabblad wisselen" → Suggest: "…bij wisselen van tabblad"about-webauthn-results-pin-auth-blocked-error—about/aboutWebauthn.ftl— pleonasm. Current: "…pogingen achter elkaar geprobeerd" → Suggest: "…pogingen achter elkaar gedaan"about-glean-interface-description—about/aboutGlean.ftl— missing article. Suggest: "is een gegevensverzamelingsbibliotheek die…"details-notification-soft-blocked-extension-disabled(.message) —about/aboutAddons.ftl— missing auxiliary. Suggest: "Deze extensie is beperkt wegens schending van het beleid…"third-party-page-title—about/aboutThirdParty.ftl— missing preposition. Current: "Informatie modules van derden" → Suggest: "Informatie over modules van derden"third-party-tag-background(.title) —about/aboutThirdParty.ftl— Current: "in de achtergrond geladen" → Suggest: "op de achtergrond geladen"newtab-privacy-message-info-2—newtab/newtab.ftl— superfluous "te". Current: "…dat bedrijven u online te volgen." → Suggest: "…dat bedrijven u online volgen."newtab-privacy-message-info-5,newtab-privacy-message-daily-cap—newtab/newtab.ftl— plural subject with singular verb. Current: "…betekent…" → Suggest: "…betekenen…" (and-info-5: "across sites" → "op verschillende websites")newtab-privacy-trackers-blocked-today([one]) —newtab/newtab.ftl— the singular variant uses the plural noun, so the distinction is lost. Current: "Trackers vandaag geblokkeerd" → Suggest: "Tracker vandaag geblokkeerd"newtab-privacy-message-streak([one]) —newtab/newtab.ftl— "in a row" dropped, "inmiddels" added. Suggest: "U bent{ $count }dag op rij beschermd."newtab-section-unblock-topic(.aria-label) —newtab/newtab.ftl— missing preposition. Current: "Blokkering{ $topic }opheffen" → Suggest: "Blokkering van{ $topic }opheffen"newtab-search-box-handoff-text,newtab-search-box-handoff-input(.placeholder/.title/.aria-label) —newtab/newtab.ftl— infinitive and imperative coordinated. Current: "Met{ $engine }zoeken of voer adres in" → Suggest: "Zoek met{ $engine }of voer adres in"newtab-wallpaper-abstract-purple-green—newtab/newtab.ftl— uninflected first adjective. Current: "Paars en groene lichtgradiënt" → Suggest: "Paarse en groene lichtgradiënt"newtab-wallpaper-suspension-bridge—newtab/newtab.ftl— plural noun for a single image, and "full-suspension" mistranslated. Suggest: "Foto van een grijze hangbrug bij daglicht"newtab-privacy-message-promo-vpn-1,-vpn-2—newtab/newtab.ftl— missing article. Suggest: "Schakel de ingebouwde VPN in…" (cf.-vpn-3)relay-50-masks-announcement-subtitle—newtab/asrouter.ftl— "account" is a het-word. Current: "voor elke account" → Suggest: "voor elk account"launch-on-login-infobar-message,launch-on-login-infobar-final-message—newtab/asrouter.ftl— "telkens dat" is not standard Dutch. Suggest: "telkens wanneer" (as inlaunch-options-spotlight-title-launch-on-login)mr2022-onboarding-colorway-description-playmaker—newtab/onboarding.ftl— "iedereen" is singular. Current: "…helpt iedereen om u heen hun spel te verbeteren." → Suggest: "…zijn spel…"mr2022-onboarding-get-started-primary-button-label—newtab/onboarding.ftl— past participle used as a button action. Current: "Binnen enkele seconden opgezet" → Suggest: "In enkele seconden instellen"create-backup-screen-1-backup-body—newtab/onboarding.ftl— separable verb split around the object. Current: "Slaat naar uw apparaat of OneDrive op" → Suggest: "Slaat op naar uw apparaat of OneDrive"mr2022-onboarding-welcome-pin-subtitle—newtab/onboarding.ftl— adverb wedged between verb and object. Current: "Start overal{ -brand-short-name }met een enkele klik." → Suggest: "Start{ -brand-short-name }overal met een enkele klik."smart-window-opened-tabs-summary-group—aiWindowContent.ftl— subjectless finite verb; the parallelsmart-window-grouped-tabs-summaryis correct. Current: "Heeft de groep ‘{ $label }’ gemaakt…" → Suggest: "Groep ‘{ $label }’ gemaakt…"fxa-signout-dialog-body-aiwindow—aiWindow.ftl— the English adjective "Open" was left untranslated, leaving a clause with no finite verb. Current: "Open{ -smart-window-brand-name(plural-form: "true") }schakelen over naar klassieke vensters." → Suggest: "Geopende{ -smart-window-brand-name(plural-form: "true") }schakelen over naar klassieke vensters." (en-US is itself awkward here — see §6)ai-window-learn-from-browsing-activity(.label) —aiFeatures.ftl— "in de klassieke en Slimme Vensters" mixes a lone adjective with a plural brand term; en-US "in Classic and Smart Windows". Worth rewording.recently-closed-window-panel-tooltip—recentlyClosed.ftl— the value renders as date and time, so "om" (which only introduces a clock time) is wrong. Suggest: "…, gesloten op{ DATETIME(…) })"tab-context-separate-split-view(.label) —tabbrowser.ftl— two verbs for the same "Separate" action in one file. Current: "Gesplitste weergave afzonderen" → Suggest: "Gesplitste weergave scheiden" (cf.split-view-menuitem-separate-tabs)protections-not-blocking-cookies-third-party(.title),protections-not-blocking-cookies-all(.title) —siteProtections.ftl— active phrasing where all "not blocking" siblings use the passive. Current: "Blokkeert cookies van derden niet" → Suggest: "Cookies van derden worden niet geblokkeerd" (cf.protections-not-blocking-fingerprinters,-cryptominers,-tracking-content,-social-media-trackers)select-translations-panel-from-label—translations.ftl— its pairselect-translations-panel-to-labelis "Naar het", which carries the article the following language name needs. Current: "Van" → Suggest: "Van het" (cf.translations-panel-from-label/-to-label)policy-HttpsOnlyMode—policies/policies-descriptions.ftl— the mode is what gets enabled, not the agent. Current: "Alleen-HTTPS-modus toestaan om in te schakelen." → Suggest: "Toestaan dat de alleen-HTTPS-modus wordt ingeschakeld."places-forward-button(.tooltiptext) —places.ftl— Current: "Vooruit gaan" → Suggest: "Vooruitgaan" (cf. sibling "Teruggaan")discopane-intro—about/aboutAddons.ftl— Current: "hoe uw browser eruit ziet" → Suggest: "hoe uw browser eruitziet"client-auth-send-no-certificate(.label) —security/.../pippki.ftl— imperative, and different wording fromsend-no-client-certificateincertManager.ftl. Current: "Stuur geen certificaat" → Suggest: "Geen certificaat verzenden"
ipprotection-feature-introduction-description-private-browsing—browser/browser/ipProtection.ftl— Current: "…privévenster gebuikt." → Suggest: "gebruikt"storage-parsed-value—devtools/client/storage.ftl— Current: "Geparsete waarde" → Suggest: "Geparseerde waarde"present-avatar-alt(.alt) —browser/browser/profiles.ftl— nonstandard spelling. Current: "Kado" → Suggest: "Cadeau" (also checkcadeau-avatar*siblings for consistency)newtab-privacy-message-promo-monitor-1—newtab/newtab.ftl— Current: "…gegevens voor komen in een datalek." → Suggest: "voorkomen"content-blocking-etp-strict-desc—preferences/preferences.ftl— Current: "kan er voor zorgen" → Suggest: "kan ervoor zorgen"smart-window-ungroup-success-summary,smart-window-ungrouped-row-label—aiWindowContent.ftl— "degroeperen" is not a Dutch verb. Current: "gedegroepeerd" → Suggest: "Groepering van{ $count }tabbladen opgeheven" (cf.smart-window-grouped-and-ungrouped-label, which correctly uses "Groepering … ongedaan gemaakt")perftools-button-save-settings—devtools/client/perftools.ftl— Current: "Instellen opslaan en teruggaan" → Suggest: "Instellingen opslaan en teruggaan"accessibility-text-label-issue-toolbar—devtools/client/accessibility.ftl— stressed numeral needs accents. Current: "meer dan een werkbalk" → Suggest: "meer dan één werkbalk"findbar-match-diacritics(.tooltiptext) —toolkit/toolkit/main-window/findbar.ftl— the example loses the accents that make it meaningful, and "zoeken voor" is not Dutch. Current: "…bij het zoeken voor ‘resume’ geen overeenkomst met ‘resumé’" → Suggest: "…bij het zoeken naar ‘resume’ geen overeenkomst met ‘résumé’"about-logins-import-dialog-error-title—browser/browser/aboutLogins.ftl— Current: "Importeerfout" → Suggest: "Importfout"bookmarks-mobile-bookmarks-menu—browser/browser/browser.ftl— Current: "Mobiel-bladwijzers" → Suggest: "Mobiele bladwijzers"aiwindow-manage-memories(.label) —aiWindowContent.ftl— no hyphen between these two Dutch nouns. Current: "Herinnering-instellingen" → Suggest: "Herinneringsinstellingen"preferences-default-zoom-label,preferences-default-zoom,preferences-default-zoom-select(.aria-label) —preferences/preferences.ftl— Current: "Standaard zoom" → Suggest: "Standaardzoom" (the warning strings already write it closed)preferences-doh-setting-default(.label),preferences-doh-overview-default(.label) —preferences/preferences.ftl— Current: "Standaard bescherming" → Suggest: "Standaardbescherming"policy-DisableDefaultBrowserAgent—policies/policies-descriptions.ftl— Current: "de standaard browseragent" → Suggest: "de standaardbrowseragent"policy-Handlers—policies/policies-descriptions.ftl— missing linking -s-. Current: "Standaard toepassinghandlers configureren" → Suggest: "Standaard toepassingshandlers configureren."rights-intro-point-6—about/aboutRights.ftl— missing linking -s-;aboutSupport.ftlcorrectly uses "inhoudsontsleutelingsmodules". Current: "inhouddecoderingsmodules" → Suggest: "inhoudsdecoderingsmodules"contentEncodingError-title—neterror/certError.ftl— Current: "Inhoudcoderingsfout" → Suggest: "Inhoudscoderingsfout"about-reader-color-sepia-theme(.title),about-reader-color-contrast-theme(.title) —about/aboutReader.ftl— noun+noun compounds must close up (contrast the correct adjective forms "Licht thema", "Donker thema"). Current: "Sepia thema" / "Contrast thema" → Suggest: "Sepiathema" / "Contrastthema"cookie-tab-content—browser/browser/protections.ftl— Current: "cross-sitetrackingcookies" → Suggest: "cross-site-trackingcookies" (as incookie-tab-title,bar-tooltip-cookie)media-codec-support-sw-decoding/-hw-decoding—about/aboutSupport.ftl— inconsistent hyphenation within one table ("Softwarecodering"/"Hardwarecodering" vs "Software-decodering"/"Hardware-decodering"). Pick one.about-logging-preset-networking-websocket-description—about/aboutLogging.ftl— English proper name glued to a Dutch noun. Current: "WebSocketproblemen" → Suggest: "WebSocket-problemen"about-glean-label-for-tag-pings-with-requirements—about/aboutGlean.ftl— Current: "debug-label" → Suggest: "debuglabel" (as elsewhere in the file)sitedata-option-block-cross-site-trackers,sitedata-option-block-cross-site-tracking-cookies,content-blocking-cross-site-cookies-in-all-windows2vssitedata-option-block-cross-site-cookies2,content-blocking-isolate-cross-site-cookies,content-blocking-all-cross-site-cookies—preferences/preferences.ftl— the same compound is hyphenated three different ways ("Cross-site-cookies", "Cross-site-trackingcookies", "cross-sitecookies"). Pick one pattern.- The
b.v.→bijv.items are listed under S-10.
preferences-doh-overview-default,preferences-doh-overview-custom,preferences-doh-radio-default(.description),preferences-doh-radio-custom—preferences/preferences.ftl— "secure DNS" as "Veilige DNS" whilepreferences-doh-default-desc,-strict-desc,permissions-exceptions-manage-doh-desc,preferences-doh-fallback-labelandpreferences-doh-default-detailed-desc-1use "Beveiligde DNS".preferences-doh-enabled-detailed-desc-1—preferences/preferences.ftl— "aanbieder" where all sibling DoH strings use "provider".preferences-text-zoom-override-warning,-warning2(.message) —preferences/preferences.ftl— quote the option as "‘Alleen tekst zoomen’" but the actual checkboxpreferences-zoom-text-onlyis "Alleen tekst inzoomen".preferences-etp-level-warning-message(.message),content-blocking-and-isolating-etp-warning-description-4—preferences/preferences.ftl— the quoted "Fix site issues" reference appears in three forms and matches neither real label (content-blocking-baseline-exceptions-3"Grote problemen met de website verhelpen",content-blocking-convenience-exceptions-3"Kleine problemen met de website oplossen"). Align the quotations, and use one verb in the two labels.preferences-etp-level-custom(.description) vspreferences-etp-custom-control-group(.description) — "beschermingsmaatregelen" vs "beschermingsinstellingen" for the same en-US string.related-settings-tabs-browsing-link(.label) —preferences/preferences.ftl— points at a setting named "Browserindeling" (browser-layout-header2) but says "Browseropmaak aanpassen".pane-experimental-search-results-header—preferences/preferences.ftl— "Proceed with Caution" rendered differently frompane-experimental-subtitle("Ga voorzichtig verder").security-privacy-issue-warning-safe-browsing(.description) —preferences/preferences.ftl— English "scams" left untranslated;security-safe-browsing-warninguses "oplichting".permissions-exceptions-popup-window3(.title) vspermissions-exceptions-popup-window2—preferences/permissions.ftl— "Allowed Websites" as "Toegestane websites" vs "Websites met toestemming"; and-window3uses "doorleidingen" where the whole tree otherwise uses "omleidingen" for third-party redirects (site-permissions-unblock-redirect,browser.ftlpop-up strings).turn-on-scheduled-backups-error-default-dir-denied—backupSettings.ftl— "back-upmap" while the file otherwise uses "reservekopie".restored-from-backup-success-no-checklist-subtitle—newtab/onboarding.ftl— "back-ups" while the file otherwise uses "reservekopie".link-preview-first-time-setup-message—genai.ftl— "belangrijkste punten" whilelink-preview-key-points-header,link-preview-setup-faster-next-time,link-preview-settings-key-pointsuse "hoofdpunten".ipprotection-summer-promo-offramp-default-browser-incentive-description—ipProtection.ftl— "plaatsen" while the file uses "locaties".origin-controls-toolbar-button-permission-needed(.tooltiptext) —originControls.ftl— "Machtiging benodigd" vsorigin-controls-state-when-clicked"Toestemming nodig". (See also S-3.)places-untag-bookmark—places.ftl— "Tag verwijderen" whileplaces-view-sort-col-tags,places-view-sortby-tagsuse "Labels".briefcase-avatar-tooltip,craft-avatar-tooltip,barbell-avatar-tooltip,video-game-controller-avatar-tooltip(.tooltiptext) —profiles.ftl— each tooltip names the avatar differently from its own*-avatar/*-avatar-altpair ("Aktetas" vs "Werkmap", "Handwerk" vs "Knutselen", "Barbell" vs "Halter", "Gamecontroller" vs "Videogamecontroller").protections-panel-cross-site-tracking-cookies—protectionsPanel.ftl— "advertentiebureaus" (ad agencies) where the identical paragraphcookie-tab-contentinprotections.ftlsays "adverteerders".unified-extensions-mb-blocklist-warning-single/-multiple(.message) —unifiedExtensions.ftl— "risicovol" vs "riskant" in-single2/-multiple2andunified-extensions-item-messagebar-softblocked*.select-translations-panel-unsupported-language-message-knownvstranslations-panel-error-unsupported-hint-known—translations.ftl— the same en-US sentence is rendered "Sorry, we ondersteunen nog geen{ $language }." and "Sorry, we ondersteunen het{ $language }nog niet." Pick one (the article form is the more standard Dutch construction with language names).about-logins-import-report-row-description-no-change2,-modified2,about-logins-import-report-no-change2—aboutLogins.ftl— "entry" rendered three ways in one file: "invoer" (= data input, wrong), "vermelding", "item".customkeys-dev-inspector—customkeys.ftl— "DOM- en stijlcontrole" loses the tool name; cf.customkeys-dev-storage"Opslag-inspector".urlbar-result-action-switch-to-tabgroup,mr2022-onboarding-live-language-switch-to,firefoxview-opentabs-pinned-tab(.title) — "Switch to" rendered as "Omschakelen", "Overschakelen" and "Wisselen".menu-view-enter-full-screen—menubar.ftl— "Schermvullende weergave" while its siblingsmenu-view-exit-full-screen/menu-view-full-screenuse "Volledig scherm".menu-application-show-all(.label) —menubar.ftl— "Toon alles" whilepocket-panel-button-show-allandabout-config-show-alluse "Alles tonen".newtab-weather-opt-in-headline,newtab-widget-message-focus-forecasts-title,-body—newtab/newtab.ftl— "weersvoorspelling" vs "weersverwachting" elsewhere.newtab-picture-header,newtab-picture-menu-hide-photo,newtab-picture-image-alt—newtab/newtab.ftl— "Afbeelding van de dag" vs "Foto van de dag" innewtab-picture-header-main,home-prefs-picture-header,newtab-custom-widget-picture-toggle,newtab-picture-menu-show-photo,newtab-picture-widget-menu-button— both shown side by side in the same widget.newtab-menu-section-unfollow-topic,newtab-section-unfollow-button—newtab/newtab.ftl— "Ontvolgen" (a non-standard neologism) vs "niet meer volgen" innewtab-menu-section-unfollow,newtab-section-unfollow-topic,newtab-section-toast-unfollow.newtab-custom-web-notifications-toggle(.description),newtab-topsites-hover-card-header—newtab/newtab.ftl— "Meldingen" vs "notificaties" in the same feature's own label.newtab-widget-timer-decrease-min/-increase-min(.title) —newtab/newtab.ftl— mismatched verb pair ("verminderen" / "verlengen"). Suggest: "verkorten" / "verlengen".newtab-sports-widget-suspendedvsnewtab-sports-widget-match-aria-label-upcoming-suspended(.aria-label) — "Onderbroken" vs "opgeschort".newtab-custom-pocket-subtitle—newtab/newtab.ftl— "samengesteld" vs "verzameld" inhome-prefs-stories-header2.description,newtab-custom-stories-toggle.description.mr2-onboarding-start-browsing-button-label,onboarding-genai-sidebar-secondary-button— "Beginnen met surfen" vs "Beginnen met browsen" elsewhere.create-backup-screen-2-easy-list-2,create-backup-screen-2-all-list-2,fx-backup-confirmation-screen-easy-setup-item-text-3— "betaalmethoden" vs "betalingsmethoden" infxa-adoption-credit-cards-backup-title/-subtitle,policy-AutofillCreditCardEnabled.policy-DisableBuiltinPDFViewervspolicy-PDFjs— "PDF-viewer" vs "PDF-lezer" in adjacent policies.policy-AllowedDomainsForApps,policy-AutoLaunchProtocolsFromOrigins— imperative "Definieer …" while all other ~130 entries in the file use the infinitive.webext-perms-header-required-perms,webext-perms-header-update-required-perms— see S-3.psmerr-ssl2-disabled—neterror/nsserrors.ftl— "pagina" where every other "site" in the file is "website".cert-error-key-pinning-failure—neterror/certError.ftl— "publieke sleutel" vs "openbare sleutel" everywhere else.fp-certerror-unknown-issuer-why-dangerous-body—neterror/certError.ftl— "intermediaire certificaten" vs "tussencertificaten" incert-error-trust-unknown-issuer,cert-error-path-len-constraint-invalid.printui-paper-size-label—printing/printUI.ftl— "Papierafmeting" vs "Papierformaat" inprintui-error-invalid-marginandprintDialogs.ftl.pdfjs-digital-signature-properties-sub-signatures—pdfviewer/viewer.ftl— the "Sub-" prefix is lost and "ondertekening" is used where the file otherwise says "handtekening". Suggest: "Subhandtekening(en)".pdfjs-editor-signature-editor1(.aria-description),pdfjs-editor-add-signature-container(.aria-label),pdfjs-editor-add-saved-signature-button(.title),pdfjs-editor-delete-signature-button1(.title),pdfjs-editor-delete-signature-button-label1,pdfjs-editor-add-signature-dialog-label—pdfviewer/viewer.ftl— "ondertekening" (the act) where the file's own term is "handtekening" (the signature), and "-editor" where the siblings use "-bewerker" ("Markeringsbewerker", "Tekeningbewerker", "Afbeeldingsbewerker").pdfjs-current-outline-item-button(.title),pdfjs-current-outline-item-button-label—pdfviewer/viewer.ftl— "inhoudsopgave" vs "Documentoverzicht" inpdfjs-document-outline-button,pdfjs-views-manager-outlines-title1.pdfjs-editor-free-highlight-thickness-title(.title) —pdfviewer/viewer.ftl— "accentuering" where the file uses "markeren/markering".pdfjs-free-text2(.default-content) vspdfjs-editor-edit-comment-dialog-text-input(.placeholder) — "Start met typen…" vs "Begin met typen…" for the same en-US string.about-logging-new-log-filevsabout-logging-current-log-file/about-logging-set-log-file— "logboekbestand" vs "logbestand";about-logging-set-log-modulesuses "Logmodules" while the rest of the file uses "logboekmodules".about-reader-layout-header—about/aboutReader.ftl— "Vormgeving" vs "opmaak" inabout-reader-toolbar-text-layout-controls.about-reader-word-spacing-label(.label) —about/aboutReader.ftl— "-spatiëring" vs "-afstand" in the siblingabout-reader-character-spacing-label.about-glean-metrics-table-settings-histograms-chart-max— "diagram" vs "Grafiek" in-histograms-chart-padding,-timelines-chart-padding.about-glean-adhoc-note,about-glean-adhoc-explanation2— "metrische …"/"metriek" vs "statistiek" throughout the file.about-telemetry-keyed-histogram-sectionvsabout-telemetry-keyed-scalar-section— "Sleutelhistogrammen" (= key histograms) vs untranslated "Keyed Scalars".third-party-blocking-requires-restart—about/aboutThirdParty.ftl— "externe module" vs "module van derden" everywhere else in the file.about-networking-flagsvsurl-classifier-debug-*— see B.about-webrtc-remote-send-ssrc— "Op afstand verzendende SSRC" vs "Extern" inabout-webrtc-type-remote,about-webrtc-remote-candidate.shortcuts-remove-button(.aria-label),shortcuts-duplicate,shortcuts-duplicate-warning-message,-message2— see S-4.addon-permissions-managed-by-policy— see S-3.css-compatibility-deprecated-supported-message—devtools/client/tooltips.ftl— "W3C-normen" vs "W3C-standaarden" in all siblingcss-compatibility-*strings.inactive-css-no-size-containment-fix,inactive-css-not-for-internal-table-elements-fix,-except-table-cells-fix(and their-fix-1variants) — "de property" vs "de eigenschap" ininactive-css-not-floated-fix,inactive-css-position-property-on-unpositioned-box-fix,inactive-css-border-image-fix.inactive-css-not-grid-or-flex-container-or-multicol-container,inactive-css-only-non-grid-or-flex-item,inactive-css-not-inline-or-tablecell,flextype-dual,gridtype-dual— hyphenated "flex-container / grid-container / flex-items" vs the closed "flexcontainer / gridcontainer / flexitem" used in the neighbouring strings.about-debugging-setup-usb-disabled,about-debugging-setup-usb-step-enable-debug2,about-debugging-sidebar— "debugging" vs "foutopsporing" for the same concept in one file.network-menu-summary-transferredvsnetwork-menu-summary-tooltip-transferred— "overgebracht" vs "overgedragen".inspector-emulation-panel-color-scheme— "Kleurenschema-emulatie" vs "kleurschema" in theinspector-color-scheme-emulation-*andinspector-emulation-panel-color-scheme-*strings.inspector-emulation-panel-reduced-motion-no-preference(.aria-label) — "verminderde bewegingsemulatie" vs "Beperkte-bewegingsemulatie" in-reduced-motion-reduce/-reduced-motion-none.styleeditor-visibility-toggle-system(.tooltiptext) — "Systeemstylesheets" while the file uses "stijlblad(en)".options-show-user-agent-shadow-dom-tooltip(.title) — "schaduw-DOM-elementen" while its own label keeps "Shadow DOM".
menu-tools-extensions-and-themes(.label) —menubar.ftl— "Extensies en Thema's" → "Extensies en thema's". (See also S-2.)language-and-appearance-header—preferences/preferences.ftl— "Taal en Vormgeving" → "Taal en vormgeving"files-and-applications-title—preferences/preferences.ftl— "Bestanden en Toepassingen" → "Bestanden en toepassingen" (cf.applications-setting2)connection-proxy-option-wpad(.label) —preferences/connection.ftl— "…voor Automatische detectie van webproxy…" → lowercase "automatische"places-view-sortby-name,-url,-date,-visit-count,-date-added,-last-modified—places.ftl— "Sorteren op Naam / Locatie / Meest recente bezoek / Bezoekteller / Toegevoegd / Laatst gewijzigd" → lowercase after "op" (cf.places-sortby-name)fxviewtabrow-move-tab-start,fxviewtabrow-move-tab-end—fxviewTabList.ftl— "Verplaatsen naar Start" / "naar Einde" → "naar begin" / "naar einde" (cf.move-to-start/move-to-endintabContextMenu.ftl, andfxviewtabrow-move-tab-window)main-context-menu-send-to-mobile-2,main-context-menu-link-send-to-mobile—browserContext.ftl;fxviewtabrow-send-to-mobile—fxviewTabList.ftl;tab-context-send-to-mobile([1]variant) —tabContextMenu.ftl— "Naar Mobiel verzenden" → "Naar mobiel verzenden"; notetab-context-send-to-mobileis inconsistent within itself (only the[1]variant capitalises).main-context-menu-send-to-mobile-enable-sync2—browserContext.ftl— "Schakel synchronisatie in…" while-enable-sync3,-enable-sync-from-link,-enable-sync-from-pageandfxviewtabrow-send-to-mobile-turn-on-syncdisagree on capitalising "Synchronisatie". Pick one.search-one-offs-context-open-new-tab—browser.ftl— "Zoeken in Nieuw tabblad" → "Zoeken in nieuw tabblad"fxa-menu-sync-status-on,fxa-menu-sync-status-off—appmenu.ftl— "Synchronisatie is Aan" / "is Uit" → lowercasedefault-browser-guidance-notification-body-instruction-win10/-win11—defaultBrowserNotification.ftl— step sentences inconsistently capitalised after the colon, both between and within the two variants.preonboarding-manage-and-read-header-v2—preonboarding.ftl— "Gebruiksvoorwaarden en privacyverklaring" — "Privacyverklaring" is capitalised as a document title everywhere else in the file.genai-settings-chat-claude-links—genai.ftl— "gebruiksbeleid" lowercased while the two other document names in the same sentence are capitalised.policy-SkipTermsOfUse2—policies/policies-descriptions.ftl— "(Ge)bruiksvoorwaarden" capitalised differently in its two sentences.manifest-loaded-devtools-error—devtools/client/application.ftl— "Firefox Devtools-fout" → "Firefox DevTools-fout"newtab-stocks-widget-menu-button(.title/.aria-label) —newtab/newtab.ftl— "Opties voor Aandelenwidget" → lowercaseaiwindow-ai-chat-grid-list-view(.aria-label) —aiWindow.ftl— "Modus wisselen: Lijstweergave" → lowercase (cf.-grid-view)toolbar-switcher-customizable-label(.tooltiptext) —aiWindow.ftl;smartwindow-switcher-callout—newtab/onboarding.ftl— mid-sentence "Slimme" capitalised in one half of a coordination only.about-networking-title—about/aboutNetworking.ftl— "Over Netwerken" → "Over netwerken"about-reader-color-scheme-light/-dark/-sepia/-auto(.title) —about/aboutReader.ftl— "Kleurenschema Licht" → "Kleurenschema licht"
- I-1 — dash mixing: see S-1.
- I-2 — three-dot ellipsis instead of
…:onboarding-live-language-waiting-button,onboarding-live-language-installing—newtab/onboarding.ftl. menu-help-share-ideas—menubar.ftl— lost the trailing…that marks the item as opening a further page (en-US "Share Ideas and Feedback…").extension-firefox-alpenglow-description—appExtensionFields.ftl— wrong apostrophe character:menu‘suses U+2018 (opening single quote) instead of U+2019. Compareextension-default-theme-description, which uses "menu’s".popup-trigger-redirect-menuitem(.label) —browser.ftl— uses‘…’while its siblingpopup-show-popup-menuitemand en-US both use“…”.toolbox-meatball-menu-pseudo-locale-accented—devtools/client/toolbox.ftl— the opening quote is a closing apostrophe, and the structure differs from its sibling. Current: "’Geaccentueerde’ locale inschakelen" → Suggest: "Locale ‘geaccentueerd’ inschakelen" (cf.-pseudo-locale-bidi)about-httpsonly-explanation-continue—about/aboutHttpsOnlyError.ftl— stray space before the final period.fp-certerror-not-yet-valid-why-dangerous-body—neterror/certError.ftl— stray space before the final period.home-new-windows-tabs-description2—preferences/preferences.ftl— serial comma copied from English. Current: "…nieuwe vensters, en nieuwe tabbladen." → drop the comma.sitedata-option-block-cross-site-cookies(.label),content-blocking-cross-site-tracking-cookies-plus-isolate—preferences/preferences.ftl— same stray comma before "en".policy-Windows10SSO—policies/policies-descriptions.ftl— missing comma after the suspended compound. Current: "voor Microsoft- werk- en schoolaccounts." → Suggest: "voor Microsoft-, werk- en schoolaccounts."- Missing sentence-final period (present in en-US and in the sibling strings):
ipprotection-message-bandwidth-warning(.message),ipprotection-locations-subview-promo(.message),inactive-css-first-line-pseudo-element-not-supported,inactive-css-first-letter-pseudo-element-not-supported,pippki-reset-password-confirmation-message,crashreporter-checkbox-send-report,policy-LegacyProfiles,policy-DisableThirdPartyModuleBlocking,policy-Handlers,mr2022-onboarding-no-mobile-download-cta-text,create-backup-screen-1-title. - Superfluous sentence-final period (absent in en-US and in the sibling strings):
home-prefs-weather-description(preferences/preferences.ftl;newtab-custom-weather-toggle.descriptionhas none),preferences-doh-radio-default(.description),preferences-doh-radio-off(.description),ip-protection-vpn-upgrade-link-1(.description) vsipprotection-locations-subview-promo. july-jam-bodyvsspotlight-peace-mind-body—newtab/asrouter.ftl— the same figure written "3.000" and "3000".fx100-thank-you-subtitlevsfx100-upgrade-thank-you-body—newtab/onboarding.ftl— the same ordinal written "100ste" and "100e".about-processes-total-memory-size-changed/download-utils-time-pairvsabout-processes-total-memory-size-no-change— a space between the number and its unit in two of the three, none in the third. (The space is correct Dutch; the third should match.)
| Area | Findings |
|---|---|
browser/browser/*.ftl (top level) |
~95 |
browser/browser/preferences/ |
~37 |
browser/browser/newtab/ |
~45 |
browser/browser/policies/ + safebrowsing/ |
~15 |
toolkit/toolkit/about/ |
~62 |
toolkit/ other (intl, neterror, pdfviewer, printing, global, featuregates, firefoxlabs, updates, crashreporter) |
~65 |
devtools/ |
~38 |
dom/, security/, mobile/ |
~13 |
| Systemic buckets | 10 |
webext-perms-host-description-one-domain— en-US itself reads "Access your data for sites in{ $domain }domains" (singular$domainwith the plural noun "domains"), which is what the nl string mirrors.fxa-signout-dialog-body-aiwindow— the en-US source ("Synced data will remain in your account. Open Smart Windows will switch to Classic Windows.") is itself awkward; the nl defect noted in E is only the untranslated "Open".popup-warning-exceeded-message,addon-confirm-install-some-unsigned-message,tabbrowser-confirm-close-tabs-title,tabbrowser-confirm-close-windows-title,tabbrowser-ctrl-tab-list-all-tabs.label— en-US wraps these in a{ $count -> … }select with only an*[other]variant. nl flattened them to a plain pattern, which is functionally equivalent. Not a defect.-fxaccount-brand-name—browser/browser/accounts.ftlcalls it with(capitalization: "title"), but the nl term is a plain string. Fluent ignores unused parameters, so this renders correctly. Not a defect.download-utils-status,-status-infinite-rate,-status-no-rate— the en-US comment describes its own character ("— is the 'em dash'"); nl uses the en dash here consistently with the rest of the tree. Treated as the locale's typography convention, not a defect.tabbrowser-confirm-close-windows-button— bothPLATFORM()variants are identical ("Sluiten en afsluiten") where en-US distinguishes "Close and exit" / "Close and quit". Dutch has no natural distinction here; noted rather than flagged.
Dutch is in very good shape structurally: no syntax errors, no variable or placeholder mismatches, no obsolete strings, no missing files, and only 27 missing strings across four files. Typographic discipline is high — straight quotes and apostrophes are absent from message values, quote pairs balance, the formal u register is applied without a single lapse, and the locale ships its own spelling dictionary.
The defects concentrate in three places: a small number of genuinely functional bugs (the "j" button label, three malformed HTML closing tags, the misspelled CSS keyword colums:2, the truncated chooser-dialog-description); a long tail of mistranslations in the dense technical surfaces (about:webrtc, about:telemetry, about:glean, NSS error strings, devtools tooltips, print dialogs), where terms of art like slot, principal, payload, box, pretty print, inference and encode/decode have been read in their everyday senses; and pervasive terminology drift where two or three renderings of the same English term coexist, sometimes in the same dialog. The ten systemic buckets in §3 are normalization decisions rather than bug fixes and are worth deciding once, centrally.