Skip to content

Instantly share code, notes, and snippets.

@flodolo
Created August 11, 2026 06:35
Show Gist options
  • Select an option

  • Save flodolo/8d59e8d2890873a8a66ad9e58ba034e6 to your computer and use it in GitHub Desktop.

Select an option

Save flodolo/8d59e8d2890873a8a66ad9e58ba034e6 to your computer and use it in GitHub Desktop.
Frisian (fy-NL) automated QA checks

Firefox l10n review — Frisian (fy-NL)

Date 2026-08-11
Locale tree ~/mozilla/git/firefox-l10n/fy-NL
Repo commit d2359b083300db1993ce76d9e8fc214d4066d271 (2026-08-11)
en-US reference ~/mozilla/git/firefox-quarantine @ 8ca943f87f5e4d73a517cc1a1b0fa4acc82fdb5c
Scope 242 .ftl files — browser, toolkit, devtools, dom, security, netwerk, mobile

1. Health check

Check Result
Fluent syntax (moz-l10n lint) Clean — 0 parse errors
Variable / placeholder mismatches 0 real (5 flagged by the parser are safe — see note)
Plural / select structure 0 real — 6 flattened selects, all of en-US selects that have only a *[other] variant
Access keys not present in their label 1 — and it is a consequence of a broken label, not an accesskey policy issue
Stray invisible characters 3 soft hyphens (U+00AD); no NBSP, no zero-width chars

Note on the 5 "variable mismatches". 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 and the term -fxaccount-brand-name are written as plain patterns where en-US uses a selector. In every case the en-US select has a single variant, so flattening is valid Fluent and renders correctly. Not defects.


2. Systemic observations (decisions, not line items)

2.1 Diacritics on initial capitals — house style, correct

The locale systematically drops the diacritic from a word-initial capital: Utskeakelje (33×, Útskeakelje 0×), Under (34×), Ofbylding (38×), Ofslute (8×). Diacritics are preserved on capitals inside all-caps strings (ÔFSPYLJE, LÛD ÚT). This is consistent and deliberate — do not "fix" it. Only lowercase letters missing a diacritic are reported below (section G).

2.2 Quote and apostrophe convention — ‘ … ’ and ’

Counted: ’ 796, ‘ 181, “/” 83/93, „ 0, « » 0. The house style is single curly quotes ‘…’ with ’ (U+2019) as apostrophe. Deviations are enumerated in section I.

2.3 Address register — jo, consistent

2 228 occurrences of jo; no informal do/dyn in UI text. No register problem. Do not flag.

2.4 Doubled spaces inside message values — 47 strings

en-US uses single spaces throughout, so these are locale-introduced. 24 of them are in toolkit/toolkit/neterror/nsserrors.ftl alone (a legacy .properties import artefact). Affected IDs:

about-logins-intro-import3, ipprotection-feature-introduction-link-text-privacy-3, ipprotection-site-settings-callout-subtitle, migration-chrome-windows-password-import-step1, migration-safari-password-import-step2, onboarding-gratitude-security-and-privacy-subtitle, onboarding-refresh-gratitude-subtitle, fxa-qrcode-pair-step2-signin, extension-controlled-enable, settings-translations-subpage-never-translate-sites-description, sync-mobile-promo, add-exception-valid-long, set-password-message, set-password-reminder, recommended-theme-1, about-logging-preset-web-compat-description, rights-intro-point-1, rights-locationawarebrowsing, rights-safebrowsing, rights-webservices-term-3, rights-webservices-term-4, rights-webservices-term-5, windows-messages-intro, sidebar-customization-callout-1-subtitle, genai-chatbot-summarize-footer-generic-subtitle, languages-code-format, and in nsserrors.ftl: sec-error-ckl-conflict, sec-error-crl-expired, sec-error-expired-issuer-certificate, sec-error-invalid-password, sec-error-pkcs12-cert-collision, sec-error-pkcs12-corrupt-pfx-structure, sec-error-pkcs12-decoding-pfx, sec-error-pkcs12-importing-cert-chain, sec-error-pkcs12-invalid-mac, sec-error-pkcs12-key-database-not-initialized, sec-error-pkcs12-privacy-password-incorrect, sec-error-pkcs12-unable-to-export-key, sec-error-pkcs12-unable-to-import-key, sec-error-pkcs12-unable-to-locate-object-by-name, sec-error-pkcs12-unable-to-read, sec-error-pkcs12-unable-to-write, sec-error-pkcs12-unsupported-mac-algorithm, sec-error-pkcs12-unsupported-pbe-algorithm, sec-error-pkcs12-unsupported-transport-mode, sec-error-pkcs12-unsupported-version, sec-error-retry-old-password, ssl-error-export-only-server, ssl-error-us-only-server, xp-sec-fortezza-bad-card.

2.5 Deliberate Dutch — not defects

References to non-Frisian OS and third-party browser UI are correctly given in Dutch, because neither Windows nor Safari/Chrome ships a Frisian UI: migration-safari-password-import-post-sequoia-step2, migration-safari-password-import-step1, migration-safari-password-import-step2, migration-chrome-windows-password-import-step1, default-browser-guidance-notification-body-instruction-win11 and siblings ("Instellingen > Standaardapps"). Left alone.

2.6 Upstream issue, not the locale's fault

load-module-help-root-certs-module-name.value — en-US itself has the mismatched pair ‘Root Certs‘ (U+2018 used as the closing quote). The locale faithfully copied it. Worth fixing locally, but the defect originates upstream.


3. Findings

A. Functional / markup / structural

String ID File Problem
forms-primary-pw-former-name browser/browser/preferences/preferences.ftl Value is "", which renders two literal straight-quote characters in the UI. The dev comment says to use { "" } when editing the FTL directly. → forms-primary-pw-former-name = { "" }
appmenu-update-other-instance browser/browser/appMenuNotifications.ftl .secondarybuttonlabel is the stray letter j and .secondarybuttonaccesskey is w. en-US: "Not Now" / N. → label No net, accesskey N. This is also the single accesskey failure in the whole tree.
cfr-doorhanger-milestone-heading2 browser/browser/newtab/asrouter.ftl [one] variant has b>{ $blockedCount }</b> — the opening < is missing, so the raw text b> shows. The *[other] variant is correct.
safeb-blocked-addon-page-short-desc browser/browser/safebrowsing/blockedSite.ftl Stray trailing </p> with no opening tag; not present in en-US.
about-logins-intro-import2 browser/browser/aboutLogins.ftl <a data-l10n-name = "import-file-link"> — spaces around = inside the tag.
genai-settings-chat-gemini-links browser/browser/genai.ftl </a > — stray space inside the closing tag.
toolbar-button-save-page browser/browser/browser.ftl .label begins with a soft hyphen (U+00AD): ­Side bewarje.
toolbar-button-open-file browser/browser/browser.ftl .label begins with a soft hyphen: ­Bestân iepenje.
tabbrowser-empty-private-tab-title browser/browser/tabbrowser.ftl Soft hyphen inside privee­ljepblêd. Possibly intentional for line breaking — verify before removing.
return-to-amo-addon-title browser/browser/newtab/onboarding.ftl Both spaces around <img data-l10n-name="icon"/> were dropped: Litte wy no<img …/><b>…</b> ophelje.
recommended-theme-1 toolkit/toolkit/about/aboutAddons.ftl Stray leading space inside the <a data-l10n-name="link"> text — renders as underlined whitespace.
inactive-css-not-grid-or-flex-container-or-multicol-container devtools/client/tooltips.ftl <strong> { $property } </strong> — stray spaces inside the tag; en-US has none.
css-compatibility-default-message devtools/client/tooltips.ftl Same stray spaces inside <strong>.
printui-paper-jis-b4 toolkit/toolkit/printing/printUI.ftl Value is JIS-B5 — duplicates printui-paper-jis-b5, so the B4 paper size is unselectable/mislabelled. → JIS-B4
region-name-ne toolkit/toolkit/intl/regionNames.ftl Value is Nigeria, identical to region-name-ng. Niger has no correct name in the list. → Niger

B. Dutch text left in place of Frisian

Fully or largely untranslated-from-Dutch strings

String ID File Current
addon-confirm-install-some-unsigned-message browser/browser/addonNotifications.ftl Entire string is Dutch: "Waarschuwing: deze website wil … Ga verder op eigen risico."
genai-shortcuts-selected-warning-generic .message browser/browser/genai.ftl Entire string is Dutch: "U hebt ongeveer … kunnen sturen is ongeveer …" (also has a doubled period geselecteerd..)
genai-shortcuts-selected-warning .message browser/browser/genai.ftl Entire string is Dutch
downloads-files-not-downloaded *[other] browser/browser/downloads.ftl "{ $num } bestanden niet gedownload." — the [one] variant is Frisian
sec-error-pkcs12-unable-to-read toolkit/toolkit/neterror/nsserrors.ftl First sentence Dutch: "Kan niet importeren." → "Kin net ymportearje." (all siblings use the Frisian form)

Individual Dutch words / forms

String ID File Current → Suggest
unified-extensions-button-blocklisted .label browser/browser/browser.ftl Extensies → Utwreidingen
pocket-panel-saved-removed-updated browser/browser/aboutPocket.ftl Opgeslagen items → Bewarre items
pocket-panel-header-my-saves browser/browser/aboutPocket.ftl Myn Opgeslagen items besjen → Myn bewarre items besjen
aiwindow-feedback-add-details browser/browser/aiWindow.ftl persoanlijke → persoanlike
reset-primary-password-text security/…/pippki/pippki.ftl persoanlijke → persoanlike
security-block-downloads .label browser/…/preferences/preferences.ftl Gefaarlijke → Gefaarlike
performance-allow-hw-accel .label browser/…/preferences/preferences.ftl hardware-acceleratie → hardwarefersnelling
preferences-ai-controls-pdfjs-control .label browser/…/preferences/preferences.ftl bij ôfbyldingen → by ôfbyldingen
preferences-ai-controls-block-confirmation-pdfjs browser/…/preferences/preferences.ftl bij ôfbyldingen → by ôfbyldingen
select-bookmark-desc browser/…/preferences/selectBookmark.ftl yn die map → yn dy map
appearance-browser-icon-entry-group .description browser/…/preferences/browserIcon.ftl bureaublêd → buroblêd
backup-file-other-browser-restore-step-2 browser/browser/backupSettings.ftl Synchronisaasje → Syngronisaasje
protections-panel-description-shim-allowed browser/browser/protectionsPanel.ftl op dizze pagina → op dizze side
item-cookies-site-data-description browser/browser/sanitize.ftl winkelweinen leegje → winkelweintsjes leech meitsje
tab-group-editor-color-selector2-pink (label + .title) browser/browser/tabbrowser.ftl Roze → Rôs
profiles-pink-theme-title browser/browser/profiles.ftl Rôze → Rôs (its own label is Rôs)
heart-rate-avatar-tooltip browser/browser/profiles.ftl Hartslachavatar → Hertslachavatar
tab-groups-onboarding-session-restore-title-2 browser/browser/newtab/onboarding.ftl tabbladtitels → ljepblêdtitels
newtab-wallpaper-hot-air-balloons browser/browser/newtab/newtab.ftl ballonnen in ferskate kleuren → … yn ferskate kleuren
launch-on-login-spotlight-title browser/browser/newtab/asrouter.ftl computer → kompjûter
perftools-presets-networking-description devtools/client/perftools.ftl netwerkbugs → netwurkbugs
profiler-popup-presets-networking-description browser/browser/appmenu.ftl netwerkbugs → netwurkbugs
inactive-css-placeholder-pseudo-element-not-supported devtools/client/tooltips.ftl pseudo-elementen → pseudo-eleminten
inactive-css-cue-pseudo-element-not-supported devtools/client/tooltips.ftl pseudo-elementen → pseudo-eleminten
abuse-report-policy-suggestions toolkit/…/about/abuseReports.ftl melden wurde → meld wurde
abuse-report-settings-suggestions toolkit/…/about/abuseReports.ftl jo … meldt → jo … melde
pkcs12-info-no-smartcard-backup security/…/certificates/certManager.ftl die op in befeiligingsapparaat → dy’t op in befeiligingsapparaat
choose-p12-backup-file-dialog security/…/certificates/certManager.ftl reservekopie → reservekopy
add-exception-checking-long security/…/certificates/certManager.ftl Poging ta identifikaasje → Besykjen om … te identifisearjen
ssl-error-socket-write-failure, sec-error-exporting-certificates, sec-error-importing-certificates, sec-error-pkcs12-unable-to-import-key, sec-error-pkcs12-importing-cert-chain, sec-error-crl-import-failed toolkit/…/neterror/nsserrors.ftl Poging … → Besykjen … (6 strings)
sec-error-crl-expired toolkit/…/neterror/nsserrors.ftl kontrolear uw systeemdatum → kontrolearje jo systeemdatum
sec-error-incompatible-pkcs11 toolkit/…/neterror/nsserrors.ftl schendt → skeint
sec-error-no-recipient-certs-query toolkit/…/neterror/nsserrors.ftl iedere ûntfanger → eltse ûntfanger
xp-sec-fortezza-bad-card toolkit/…/neterror/nsserrors.ftl retourneer dizze nei jo útjouwer → jou dizze werom oan jo útjouwer
ssl-error-rx-malformed-handshake, sec-error-bad-signature, sec-error-crl-bad-signature toolkit/…/neterror/nsserrors.ftl ûnjildiche → ûnjildich(e)
cert-error-intro toolkit/…/neterror/certError.ftl feiligheidssertifikaat → befeiligingssertifikaat (feiligheid is Dutch; Frisian is feilichheid)
download-utils-transfer-same-units, download-utils-transfer-diff-units toolkit/…/downloads/downloadUtils.ftl van → fan
pdfjs-editor-add-signature-save-warning-message toolkit/…/pdfviewer/viewer.ftl Ferwiderje ien → Smyt ien fuort
pdfjs-printing-not-supported toolkit/…/pdfviewer/viewer.ftl Warning: Printen … → Warskôging: Ofdrukken …
margin-group-label-inches, margin-group-label-metric toolkit/…/printing/printDialogs.ftl Marges → Marzjes
has-seccomp-tsync toolkit/…/about/aboutSupport.ftl threadsynchronisatie → threadsynchronisaasje
about-reader-line-spacing-label toolkit/…/about/aboutReader.ftl Regelôfstân → Rigelôfstân
about-webauthn-text-connect-device toolkit/…/about/aboutWebauthn.ftl befveiligingstoken → befeiligingstoken
experimental-features-newtab-widget-lists-and-timer-description toolkit/…/firefoxlabs/features.ftl boodskippelistkes → boadskippelisten; in gedachten → yn gedachten
crashreporter-comment-prompt toolkit/crashreporter/crashreporter.ftl publyklik → iepenbier
crashed-comment .placeholder browser/browser/aboutTabCrashed.ftl publyklik → iepenbier
about-glean-adhoc-explanation2 toolkit/…/about/aboutGlean.ftl mei de naam → mei de namme
about-glean-metrics-table-settings-histograms-left-padding toolkit/…/about/aboutGlean.ftl linkeropfolling → lofteropfolling (linker is Dutch; the tree uses lofts)
about-webauthn-ctap2-enroll-feedback-too-left toolkit/…/about/aboutWebauthn.ftl nei links → nei lofts

C. Mistranslation / meaning reversed

Reversed or negation-dropped (highest priority)

String ID File Problem
security-privacy-issue-warning-third-party-cookies .label browser/…/preferences/preferences.ftl "Cookies fan tredden binne útskeakele" — en-US: "Third-party cookies are enabled". This is a warning that they're on; the description right beneath it explains they track you. → ynskeakele
cert-error-mitm-connection toolkit/…/neterror/certError.ftl Negation dropped: "…in troch in CA útjûn sertifikaat dat him yn it CA-argyf fan Mozilla stiet" — en-US: "…issued by a CA that is not in the Mozilla CA store". Also dat him … stiet is ungrammatical.
permissions-site-notification-disable-desc browser/…/preferences/permissions.ftl "Dit soarget derfoar dat websites … freegje" = "this causes sites to ask". en-US: "This will prevent…". → Dit foarkomt dat …
permissions-site-location-disable-desc browser/…/preferences/permissions.ftl Same reversal → Dit foarkomt dat …
permissions-site-camera-disable-desc browser/…/preferences/permissions.ftl Same reversal → Dit foarkomt dat …
permissions-site-microphone-disable-desc browser/…/preferences/permissions.ftl Same reversal → Dit foarkomt dat …
extensions-warning-update-security toolkit/…/about/aboutAddons.ftl "Jo kinne efterrinne mei fernijingen" = "you may fall behind on updates". en-US: "You may be compromised by updates." Security warning defused.
extensions-warning-update-security2 .message toolkit/…/about/aboutAddons.ftl Same
third-party-button-to-unblock-module toolkit/…/about/aboutThirdParty.ftl Label reads "Dizze module blokkearje" but the button unblocks — its own .title says "Klik om te deblokkearjen". en-US: "Unblock this module".
split-dismiss-button-show-fewer-option .label browser/browser/featureCallout.ftl "Mear oanrekommandaasjes toane" — en-US: "Show fewer recommendations"
download-ui-dont-go-offline-button toolkit/…/downloads/downloadUI.ftl "Ferbining beëinige" ("End connection") — en-US: "Stay Online". This is the cancel button; as written it says the opposite.
webrtc-sharing-menu .label browser/browser/webrtcIndicator.ftl "Apparaten dy’t ljepblêden diele" — en-US: "Tabs sharing devices". Subject/object swapped.
eme-notifications-drm-content-playing browser/browser/browser.ftl Relation inverted: as written Firefox is what gets limited. en-US: "…which may limit what { -brand-short-name } can let you do with it."
inactive-css-not-table-fix / -fix-1 devtools/client/tooltips.ftl Suggests display:flex to fix "not a table" — en-US says display:table. Actively wrong advice.
delete-ca-cert-impact security/…/certificates/certManager.ftl Triple negation "net langer gjin inkelt sertifikaat mear fertrouwe" garbles the sense.
autofill-use-payment-method-os-prompt-other toolkit/…/formautofill/formAutofill.ftl Translated as the show/edit prompt and is now byte-identical to autofill-edit-payment-method-os-prompt-other. en-US: "…is trying to use stored payment method information."
newtab-topsites-edit-topsites-header browser/browser/newtab/newtab.ftl "Topwebsite tafoegje" — en-US: "Edit Top Site"
about-httpsonly-explanation-iframe toolkit/…/about/aboutHttpsOnlyError.ftl "…net mooglik om dit frame hânmjittich te laden" — en-US: "not possible to manually allow this frame to load"
abuse-report-broken-suggestions-sitepermission toolkit/…/about/abuseReports.ftl Link text "Besykje de website fan it tema" — copy-paste from the theme variant
permissions-site-microphone-desc browser/…/preferences/permissions.ftl Says "jo kamera" in the microphone dialog — copy-paste from the camera string
fxa-adoption-addresses-backup-subtitle browser/browser/newtab/asrouter.ftl "jo bewarre wachtwurden" on the addresses card — en-US: "your saved addresses"
rights-webservices-term-5 toolkit/…/about/aboutRights.ftl Final clause copied from term-4 ("…of ymplisite garânsjes…"); en-US is about certain damages

Wrong word / wrong sense

String ID File Current → Suggest
windows-passkey-settings-label browser/…/preferences/preferences.ftl Wachtwurden beheare → Tagongskaaien beheare (passkeys ≠ passwords)
containers-icon-briefcase .label browser/…/preferences/containers.ftl Sammeling → Aktetaske
search-one-click-header2 browser/…/preferences/preferences.ftl Fluchkeppelingen sykje (imperative) → Sykfluchkeppelingen (noun heading)
data-collection-run-studies .description browser/…/preferences/preferences.ftl in keur oan brûkers → willekeurich brûkers ("randomly" lost)
appearance-window-density-touch .description browser/…/preferences/preferences.ftl lykas klikdoelen → en klikdoelen
confirm-on-close-multiple-tabs .label browser/…/preferences/preferences.ftl Warskôgje by → Befêstigje foar
windows-launch-on-login-disabled browser/…/preferences/preferences.ftl Link text Apps → Opstart-apps (Windows "Startup Apps")
identity-weak-encryption browser/browser/browser.ftl swakke befeiliging → swakke fersifering
identity-https-only-info-no-upgrade browser/browser/browser.ftl HTTP-ferbining net fernije → ferbining net opwurdearje fan HTTP
urlbar-searchmode-no-keyword2 .title browser/browser/browser.ftl Sykje nei trefwurden → Sykjen mei trefwurden
urlbar-search-tips-onboard browser/browser/browser.ftl Sykje nei { $engineName } → Sykje mei { $engineName }
browser-window-restore-down-button .tooltiptext browser/browser/browser.ftl Omleech opnij ynstelle → Ferlytsje
enable-devtools-popup-description2 browser/browser/browser.ftl it menu Ekstra → it menu Browserhelpmidelen
urlbar-placeholder-search-mode-other-actions / urlbar-result-action-search-actions browser/browser/browser.ftl Sykaksjes → Sykje yn aksjes / Aksjes trochsykje ("Search" is a verb)
restore-page-window-label browser/browser/aboutSessionRestore.ftl Skerm #{ $windowNumber } → Finster { $windowNumber }
restore-page-list-header .label browser/browser/aboutSessionRestore.ftl Skermen en ljepblêden → Finsters en ljepblêden
appmenu-recently-closed-windows .label browser/browser/appmenu.ftl Koartlyn sluten skermen → … finsters
menu-history-undo-window-menu browser/browser/menubar.ftl Koartlyn sluten skermen → … finsters
main-context-menu-stop / -stop-mac browser/browser/browserContext.ftl Beëinigje → Stopje
customkeys-dev-storage browser/browser/customkeys.ftl Unthâld-ynspektor → Opslach-ynspektor
customize-mode-overflow-list-description browser/browser/customizeMode.ftl hjirnei ta → hjirhinne
sidebar-callout-survey-neutral browser/browser/featureCallout.ftl Gemiddeld → Neutraal
default-browser-guidance-notification-info-page browser/browser/defaultBrowserNotification.ftl Toane: → Sjen litte
genai-input-ask-smart-window / genai-menu-ask-smart-window browser/browser/genai.ftl Fragen… → Freegje…
genai-prompts-summarize .value browser/browser/genai.ftl Makket … eksakte en beskriuwende wurden → Meitsje … krekte en beknopte wurden
genai-page-warning .message browser/browser/genai.ftl is dit foar in part de gearfetting → is dit in dielgearfetting
profiler-popup-presets-ml-description browser/browser/appmenu.ftl masineoersettingsbugs → masinaal-learenbugs (ML ≠ MT)
perftools-presets-ml-description2 devtools/client/perftools.ftl Same ML/MT confusion
about-logging-preset-ml-description toolkit/…/about/aboutLogging.ftl Same ML/MT confusion
about-logins-import-report-page-title browser/browser/aboutLogins.ftl Gearfettend rapport ymportearje → Rapport ymportgearfetting
confirm-discard-changes-dialog-title browser/browser/aboutLogins.ftl Dizze wizigingen ferwerpe? → Net-bewarre wizigingen ferwerpe?
pocket-panel-saved-error-no-internet browser/browser/aboutPocket.ftl 2nd sentence: Kontrolearje jo ferbining → Meitsje ferbining mei it ynternet
addon-install-error-incorrect-hash / addon-local-install-error-incorrect-hash browser/browser/addonNotifications.ftl de ferwachte add-on { -brand-short-name } → de add-on dy’t { -brand-short-name } ferwachte
screenshots-connection-error-title browser/browser/screenshots.ftl ferbine nei → ferbine mei
opensearch-error-duplicate-desc browser/browser/search.ftl in masine → in sykmasine
opensearch-error-format-title browser/browser/search.ftl Net falide formaat → Unjildich formaat
tab-context-close-multiple-tabs browser/browser/tabContextMenu.ftl Mear ljepblêden slute → Meardere ljepblêden slute
item-offline-apps browser/browser/sanitize.ftl Bewarre websitegegevens → Offline websitegegevens
sanitize-button-clearing browser/browser/sanitize.ftl Wiskje (identical to sanitize-button-ok2) → Dwaande mei wiskjen…
etp-card-title-always browser/browser/protections.ftl beskerming tsjin befeiliging → beskerming tsjin folgjen
protections-panel-not-found-label browser/browser/protectionsPanel.ftl Gjin detektearre → Neat detektearre
newtab-sports-widget-loading-more browser/browser/newtab/newtab.ftl Mear oerienkomsten lade… → Mear wedstriden lade…
newtab-shortcuts-highlight-title browser/browser/newtab/newtab.ftl foar de hân → by de hân
newtab-section-following-button / newtab-section-unfollow-button-label browser/browser/newtab/newtab.ftl Folgjend ("next") → Folge ("following")
newtab-privacy-message-streak [one] browser/browser/newtab/newtab.ftl "op rige" dropped in the singular variant only
mr2022-onboarding-pin-private-image-alt browser/browser/newtab/onboarding.ftl út in ferskine — the noun hoed is missing
onboarding-easy-setup-security-and-privacy-subtitle browser/browser/newtab/onboarding.ftl troch in non-profitorganisaasje browser — stipe missing, bedriuwen duplicated
mr2022-onboarding-set-default-title browser/browser/newtab/onboarding.ftl Meitsje … earste browser → … jo earste browser
policy-Backup browser/…/policies/policies-descriptions.ftl reparearje → weromsette (restore, not repair)
policy-DisableSecurityBypass browser/…/policies/policies-descriptions.ftl befeiligingsynstellingen → befeiligingswarskôgingen
policy-DisableRemoteImprovements browser/…/policies/policies-descriptions.ftl "changes" dropped → wizigingen oan prestaasjes, stabiliteit en funksjes
policy-OfferToSaveLoginsDefault browser/…/policies/policies-descriptions.ftl Spurious ôftwingje carried over from policy-OfferToSaveLogins
backup-folder-name, restore-from-backup-header, backup-file-title, backup-file-header, backup-file-how-to-restore-header browser/browser/backupSettings.ftl reparearje → werstelle. The file's own instructions quote the button label "Jo gegevens werstelle", so text and referenced label no longer match.
network-menu-summary-finish devtools/client/netmonitor.ftl Foltôgje: (imperative) → Klear: (noun label)
styleeditor-import-button .tooltiptext devtools/client/styleeditor.ftl Says "apply to an existing style sheet"; en-US: "Import and append an existing style sheet to the document"
options-netmonitor-body-limit-tooltip devtools/client/toolbox-options.ftl oerskriuwe (overwrite) → oerskriede (exceed)
whypaused-promise-rejection devtools/shared/debugger-paused-reasons.ftl Pauzearre by taseine ôfwizing → … by ôfwizing fan in tasizzing
inactive-css-at-position-try-not-supported devtools/client/tooltips.ftl Text from the browser-compat message spliced in: "…net stipe yn de folgjende browsers @position-try-regels**:**"
inactive-css-not-block-container devtools/client/tooltips.ftl Duplicated fragment: "op eleminten op blokcontainer-eleminten"
perftools-heading-features-default devtools/client/perftools.ftl (standert oan oanrekommandearre) — two words collide; → (oanrekommandearre, standert oan)
session-history-entry-info-button-title .title devtools/client/application.ftl "data" dropped → Sesjeskiednisgegevens toane
about-processes-inference-process toolkit/…/about/aboutProcesses.ftl Konklúzje → Inference (ML inference process)
about-processes-shutdown-process .title toolkit/…/about/aboutProcesses.ftl Ljepblêden leechmeitsje → Ljepblêden ûntlade
third-party-intro toolkit/…/about/aboutThirdParty.ftl ynboud → ynjektearre (contradicts the next sentence)
media-device-rate toolkit/…/about/aboutSupport.ftl Wurdearrring → Frekwinsje (device sample rate)
sample-rate toolkit/…/about/aboutSupport.ftl foarbyldfrekwinsje → samplefrekwinsje
roundtrip-latency toolkit/…/about/aboutSupport.ftl Retinsjelatinsje (retention) → Retoerlatinsje
place-database-stats-size-kib toolkit/…/about/aboutSupport.ftl Grutte (KB) → Grutte (KiB)
content-analysis-agent-failed-signature-verification toolkit/…/about/aboutSupport.ftl "could not perform" → "failed" the verification
reset-on-next-restart toolkit/…/about/aboutSupport.ftl Opnij ynstelle nij werstart → … by de folgjende werstart
certificate-viewer-key-usages toolkit/…/about/certviewer.ftl Wichtichste brûksmooglikheden → Kaaibrûksmooglikheden (cryptographic key)
certificate-viewer-extended-key-usages toolkit/…/about/certviewer.ftl Wiidweidige brûksmooglikheden → Utwreide kaaibrûksmooglikheden
certificate-viewer-tab-ca toolkit/…/about/certviewer.ftl Organisaasjes → Autoriteiten (this tab lists CAs)
about-telemetry-late-writes-section toolkit/…/about/aboutTelemetry.ftl Lêste add-ons → Lette skriuwaksjes
about-telemetry-current-store toolkit/…/about/aboutTelemetry.ftl Aktuele winkel: → Aktuele opslach:
about-telemetry-histogram-stats toolkit/…/about/aboutTelemetry.ftl foarbyld/foarbylden → stekproef/stekproeven
about-telemetry-no-search-results-all toolkit/…/about/aboutTelemetry.ftl yn watfoar seksje reads interrogative → yn gjin inkelde seksje
about-glean-about-data-list-item-dictionary, about-glean-about-data-explanation toolkit/…/about/aboutGlean.ftl { -glean-brand-name }-biblioteek → { -glean-brand-name } Dictionary
about-glean-label-for-log-pings toolkit/…/about/aboutGlean.ftl Kontrolearje it foargeande fjild → Skeakelje it foargeande karfakje yn
about-networking-ssl-tokens-compression-details .title toolkit/…/about/aboutNetworking.ftl Fersifere: (encrypted) → Kodearre: (encoded)
about-reader-font-weight-light toolkit/…/about/aboutReader.ftl Ljocht (brightness) → Tin (font weight)
suffixes-label toolkit/…/about/aboutPlugins.ftl Bylagen (attachments) → Efterheaksels
about-about-note toolkit/…/about/aboutAbout.ftl se wearden nedich hawwe → se querystrings fereaskje
rights-webservices-term-4 toolkit/…/about/aboutRights.ftl ekspres of mei opsetsin → útdruklik of ymplisyt
rights-webservices-term-1 toolkit/…/about/aboutRights.ftl grut genôch → folslein (comprehensive)
rights-intro-point-1 toolkit/…/about/aboutRights.ftl de boarnekoade te bewurkjen **of** { -brand-short-name } → … **fan** { -brand-short-name }
cert-error-bad-der toolkit/…/neterror/certError.ftl fersifere (encrypted) → kodearre (encoded)
sec-error-cert-signature-algorithm-disabled toolkit/…/neterror/nsserrors.ftl fersifere mei in ûndertekening → ûndertekene mei in ûndertekeningsalgoritme
ssl-error-next-protocol-no-callback toolkit/…/neterror/nsserrors.ftl is útskeakele → wie ynskeakele (en-US: "was enabled")
sec-error-no-slot-selected, sec-error-cannot-move-sensitive-key toolkit/…/neterror/nsserrors.ftl leech plak → slot (PKCS#11 slot, not an empty space)
process-type-privilegedabout toolkit/…/global/processTypes.ftl Oer Mei privileezjes → About mei privileezjes (about: pages)
chooser-dialog-description toolkit/…/global/handlerDialog.ftl Noun dropped: de { $scheme }-mei → de { $scheme }-keppeling mei
pdfjs-document-properties-page-size-name-legal toolkit/…/pdfviewer/viewer.ftl Juridysk → Legal (US paper size; printui-paper-legal keeps "Legal")
xpath-bad-extension-function dom/dom/xslt.ftl XPath-bylagefunksje (attachment) → XPath-útwreidingsfunksje
xpath-unbalanced-curly-brace dom/dom/xslt.ftl krullende bân (band/tyre) → krolhaakje
set-password-reminder security/…/pippki/pippki.ftl ferhelpe (remedy) → weromsette (restore)
pkcs12-decode-err security/…/certificates/certManager.ftl en-US "Either … or …" presents alternatives; the fy text asserts the first as fact
pippki-failed-pw-change, pippki-incorrect-pw, pippki-pw-erased-ok, pippki-pw-not-wanted, pippki-pw-change2empty-in-fips-mode security/…/pippki/pippki.ftl All five add "haad-" (Primary); these are the security-device password dialogs, not the Primary Password. pippki-incorrect-pw also drops "current".
config-pref-reset-button mobile/…/android/aboutConfig.ftl Werinisjalisearje → Weromsette (established rendering of "Reset")
shortcuts-system toolkit/…/about/aboutAddons.ftl Kin gjin besteande … fluchtoets brûke → Kin in … fluchtoets net oerskriuwe (en-US: "Can't override")
details-notification-blocked toolkit/…/about/aboutAddons.ftl om reden fan feilichheid of stabiliteit → fanwegen feilichheids- of stabiliteitsproblemen ("issues" dropped)
abuse-report-messagebar-action-keep-extension, -keep-sitepermission, -keep-theme toolkit/…/about/abuseReports.ftl Nee, bewarje (= save to disk) → Nee, hâlde (en-US: "No, I'll Keep It")
about-telemetry-events-section toolkit/…/about/aboutTelemetry.ftl Eveneminten (social events) → Barrens
about-telemetry-memory-map-title toolkit/…/about/aboutTelemetry.ftl Unthâldtawizing: (allocation) → Unthâldkaart:
about-glean-metrics-table-settings-hide-empty-value-rows toolkit/…/about/aboutGlean.ftl Regels (rules) → Rigen (table rows)
about-logging-preset-webgpu-description toolkit/…/about/aboutLogging.ftl "issues" dropped → om WebGPU-problemen te diagnostisearjen
about-webrtc-ice-restart-count-label toolkit/…/about/aboutWebrtc.ftl ICE start opnij: (status) → ICE-werstarts: (counter label)
about-webrtc-dropped-frames-label toolkit/…/about/aboutWebrtc.ftl Ferlerne frames: collides with about-webrtc-lost-label → Fallen litten frames:
about-webrtc-max-padding-bytes-sec toolkit/…/about/aboutWebrtc.ftl opfolling (succession) → padding
about-networking-dns-lookup-button toolkit/…/about/aboutNetworking.ftl Omsette (convert/translate) → Opsykje (en-US: "Resolve")
about-networking-ssl-tokens-restored .alt/.title toolkit/…/about/aboutNetworking.ftl Wersteld fan ûnthâld út (memory) → Wersteld út de opslach (storage)
about-translations-copy-button-copied .title toolkit/…/about/aboutTranslations.ftl .title was changed to Oersetting kopiearre; en-US keeps .title = "Copy translation" in both states — only .label changes
plugins-widevine-description toolkit/…/about/aboutPlugins.ftl (and the duplicate in aboutAddons.ftl) mei achtslaan fan de … spesifikaasje → yn oerienstimming mei de … spesifikaasje (en-US: "in compliance with")

D. Wrong language & region names

toolkit/toolkit/intl/languageNames.ftl

String ID Current → Suggest Why
language-name-fj Fiji → Fidzjysk Country name given instead of the language
language-name-kg Congo → Kongo Country spelling for the language
language-name-zu Zoeloe → Zûlû Bare Dutch form
language-name-uz Oezbeeks → Oezbeeksk Dutch -s; the file's pattern is -sk
language-name-br Bretons → Bretonsk Dutch -s ending
language-name-be Wit-Russysk → Wyt-Russysk wit is Dutch
language-name-fo Faerors → Faeröersk Missing diaeresis and -sk
language-name-nb Noarsk Bokmal → Noarsk Bokmål Missing å
language-name-hr Kroätysk → Kroatysk ä is not used in Frisian
language-name-dz Dzongka → Dzongkha Missing h
language-name-sg Sangho → Sango Stray h
language-name-sc Sardiijnsk → Sardynsk Doubled i + Dutch ij digraph
language-name-kw Kornish → Kornysk English form
language-name-gd Skots Gaelik → Skotsk Gaelysk language-name-sco uses Skotsk; Gaelik is English
language-name-crh Krimean Tatar → Krim-Tataarsk Anglicism; language-name-tt = Tataarsk
language-name-hsb / -dsb Heech sorbysk / Legersorbysk → Heechsorbysk / Leechsorbysk Two different patterns for a paired term

toolkit/toolkit/intl/regionNames.ftl

String ID Current → Suggest Why
region-name-ne Nigeria → Niger Duplicate of region-name-ng; Niger is missing (also listed in section A)
region-name-sz-2019 Swazylân → Eswatini The -2019 ID exists precisely for the rename
region-name-bl Sint Bartholemeus → Saint-Barthélemy Wrong name and misspelled
region-name-kg Kyrgyzyë → Kirgyzstan Garbled; the entry is a country, not a -ië derivative
region-name-za Zuid-Afrika → Súd-Afrika Dutch; the file uses Súd- for kr, ss, gs
region-name-no Noorwegen → Noarwegen Dutch
region-name-ph Filipijnen → Filipinen Dutch ij digraph
region-name-lt Lithuaanje → Litouwen English th; language-name-lt = Litousk
region-name-de Dûtslân → Dútslân û for ú; language-name-de = Dútsk
region-name-is Iislân → Yslân Doubled i
region-name-im Eialân fan Man → Eilân fan Man Typo
region-name-kh Kambodjaa → Kambodja Doubled a
region-name-pg Papua Nij Gunea → Papua Nij-Guinea Typo
region-name-ba Bosnje en Herzgovina → … Herzegovina Missing e
region-name-hu Hungarije → Hongarije language-name-hu = Hongaarsk
region-name-st Sao Tome en Prinsipe → São Tomé en Prinsipe Missing ã, é
region-name-vi Maagdeneilannen, Amearikaanske → …, Amerikaanske Stray a; cf. region-name-as
region-name-uz Uzbekistan → Oezbekistan Inconsistent with language-name-uz / region-name-ua
region-name-cx Krist Eilân → Krysteilân Frisian for Christmas is Kryst
region-name-az Azerbeijaan → Azerbeidzjan Misspelling
region-name-cg Kongo(Brazzaville) → Kongo (Brazzaville) Missing space; cf. region-name-cd
region-name-pm Saint Pierre and Miquelon → … en Miquelon English and; cf. region-name-vc

Also: newtab-sports-widget-team-name-label-bih (browser/browser/newtab/newtab.ftl) — Bosnje en Herzgovina → Herzegovina.


E. Developer comment not followed / should stay English

String ID File Problem
forms-primary-pw-former-name browser/…/preferences/preferences.ftl See section A — "" instead of { "" }
inactive-css-ruby-element-fix / -fix-1 devtools/client/tooltips.ftl CSS property translated inside <strong>: lettertypegrutte → font-size
inactive-css-not-grid-or-flex-container-or-multicol-container-fix / -fix-1 devtools/client/tooltips.ftl CSS keyword garbled: colums:2 → columns:2
inactive-css-not-table-fix / -fix-1 devtools/client/tooltips.ftl Wrong CSS keyword — see section C
url-classifier-content-classifier-col-important toolkit/…/about/url-classifier.ftl Comment says "Important" must not be translated; currently Wichtich
url-classifier-content-classifier-loading-url toolkit/…/about/url-classifier.ftl URL lade (imperative) → Ladende URL (noun label, per comment)
url-classifier-content-classifier-loading-url-enabled toolkit/…/about/url-classifier.ftl Laden fan URL ynskeakelje → Ladende URL ynskeakelje
addon-badge-line3 / addon-badge-line4 .title toolkit/…/about/aboutAddons.ftl Comment hard-codes Mozilla so forks don't show "by Fork"; the locale added "Firefox": troch Mozilla Firefox boude útwreiding
about-glean-button-dictionary-link toolkit/…/about/aboutGlean.ftl Comment: "Docs" = documentation. Dokuminten → Dokumintaasje
glean-debug-ping-viewer-brand-name toolkit/…/about/aboutGlean.ftl File header says Glean product naming stays English → { -glean-brand-name } Debug Ping Viewer
app-basics-update-dir toolkit/…/about/aboutSupport.ftl Comment says "Update" is a noun. Map fernije → Fernijingsmap (both variants)
webconsole-commands-usage-block devtools/shared/webconsole-commands.ftl Literal argument name garbled: URLSTRING → URL_STRING
styleeditor-pretty-print-button .title devtools/client/styleeditor.ftl Left in English ("Stylesheet Pretty Print") while both siblings are translated
about-unloads-last-updated browser/browser/aboutUnloads.ftl Left in English: "Last updated: …"
error-try-again .label2 browser/browser/aboutRobots.ftl .label2 left in English while the value is translated
sec-error-ocsp-bad-signature toolkit/…/neterror/nsserrors.ftl OCSP response left in English; the file uses OCSP-antwurd
pdfjs-printing-not-supported / pdfjs-printing-not-ready toolkit/…/pdfviewer/viewer.ftl Warning: left in English

F. Grammar / agreement / verb form / preposition

String ID File Current → Suggest
collection-usage-ping .label browser/…/preferences/preferences.ftl ferstjoerd → ferstjoere
data-collection-usage-ping .label browser/…/preferences/preferences.ftl ferstjoerd → ferstjoere
sync-signedin-login-failure browser/…/preferences/preferences.ftl om wer te ferbinen { $email } → om { $email } wer te ferbinen
do-not-track-description browser/…/preferences/preferences.ftl om litte te witten → om witte te litten
download-private-browsing-delete2 .label browser/…/preferences/preferences.ftl Stray út: fan priveefinsters út by sluten → fan priveefinsters by sluten
performance-limit-content-process-blocked-desc browser/…/preferences/preferences.ftl kontrolearjen **of** → kontrolearjen **oft** (whether)
sitedata-heading .description browser/…/preferences/preferences.ftl Duplicated en in the list
preferences-etp-status-header .description browser/…/preferences/preferences.ftl wêrby → wêrby’t
preferences-etp-advanced-settings-group .description browser/…/preferences/preferences.ftl wêrby → wêrby’t
applications-setting2 .description browser/…/preferences/preferences.ftl hoe → hoe’t
network-proxy-connection-description browser/…/preferences/preferences.ftl hoe → hoe’t
sitedata-cookies-exceptions3 .description browser/…/preferences/preferences.ftl hoe → hoe’t
tracking-manage-exceptions .label browser/…/preferences/preferences.ftl Utsûndering → Utsûnderingen
preferences-doh-manage-exceptions .label browser/…/preferences/preferences.ftl Utsûndering → Utsûnderingen
panic-button-thankyou-msg1 browser/browser/panelUI.ftl is wiskje → is wiske
panic-button-open-new-window browser/browser/panicButton.ftl "clean" dropped → In nij, skjin finster iepenje
item-cached-content-with-size browser/browser/sanitize.ftl Tydlik buffere → Tydlike buffere
places-locked-prompt browser/browser/places.ftl omdat ien de bestannen → omdat ien **fan** de bestannen
places-forget-about-this-site-confirmation-msg browser/browser/places.ftl troch gean → trochgean
protections-panel-smartblock-desc-label browser/browser/protectionsPanel.ftl wylst jo besite oan dizze website, útsein jo… → wylst jo op dizze website binne, útsein as jo…
monitor-no-breaches-description, monitor-breaches-resolved-description browser/browser/protections.ftl dan litten wy it jo witte → dan litte wy it jo witte
menu-application-hide-other browser/browser/menubar.ftl Oare ferstopje → Oaren ferstopje
tabbrowser-tab-audio-playing-description browser/browser/tabbrowser.ftl Lûd ôfspylje (imperative) → Lûd wurdt ôfspile
tabbrowser-context-unmute-tab, tabbrowser-context-unmute-selected-tabs, tabbrowser-unmute-tab-audio-aria-label, tabbrowser-manager-unmute-tab, taskbar-tab-audio-unmute browser/browser/tabbrowser.ftl, taskbartabs.ftl Ljepblêd dempe/dôvje opheffe (verb on verb) → Dempen fan ljepblêd opheffe
sidebar-bookmarks-context-menu-delete-bookmark browser/browser/sidebar.ftl Plural for en-US singular → Blêdwizer fuortsmite
unified-extensions-mb-blocklist-error-multiple *[other] browser/browser/unifiedExtensions.ftl Singular noun in the plural variant → útwreidingen
tab-context-close-n-tabs browser/browser/tabContextMenu.ftl sluten (participle) → slute
migration-list-autofill-label browser/browser/migrationWizard.ftl gegevens automatysk ynfolje → gegevens foar automatysk ynfoljen
delete-profile-autofill browser/browser/profiles.ftl Same; also betelmetoaden vs Betellingsmetoaden elsewhere
about-logins-export-password-os-auth-dialog-message-macosx browser/browser/aboutLogins.ftl bewarren oanmeldingen … te eksportearjen → bewarre oanmeldingen … eksportearje
create-new-login-button, login-item-new-login-title browser/browser/aboutLogins.ftl Nij oanmelding → Nije oanmelding
login-list-intro-description browser/browser/aboutLogins.ftl Wannear jo → Wannear’t jo
data-reporting-notification-message browser/browser/browser.ftl ferstjoerd → ferstjoert
identity-https-only-info-turn-off2 browser/browser/browser.ftl te wurkje → te wurkjen
urlbar-screen-blocked .tooltiptext browser/browser/browser.ftl Doubled jo: Jo hawwe jo it dielen
onboarding-aw-finish-setup-button .tooltiptext browser/browser/browser.ftl Ynstellen { -brand-short-name } → Ynstellen **fan** { -brand-short-name }
smartbar-placeholder .placeholder browser/browser/aiWindow.ftl in URL type → in URL typje
smartbar-placeholder-hint-1 browser/browser/aiWindow.ftl @ brûken om… → Brûk @ om…
smartwindow-nl-retry-group-tabs-message browser/browser/aiWindowContent.ftl Dangling hokker ljepblêden at the end
about-private-browsing-nova-info-subheader2 browser/browser/aboutPrivateBrowsing.ftl al jo priveefinster → al jo priveefinsters
activist-colorway-description browser/browser/colorways.ftl en lit oaren leauwe → en litte oaren leauwe
dreamer-colorway-description browser/browser/colorways.ftl Idiom garbled + wrong subject agreement
mr2022-onboarding-colorway-description-activist browser/browser/newtab/onboarding.ftl en lit oaren leauwe → en litte oaren leauwe
mr2022-onboarding-colorway-description-dreamer browser/browser/newtab/onboarding.ftl Verb agrees with gelok instead of Jo
welcome-back-restore-some-label browser/browser/aboutSessionRestore.ftl dy’t jo winske (past) → dy’t jo winskje
callout-firefox-view-colorways-subtitle browser/browser/featureCallout.ftl it kleur **dy’t** → it kleur **dat** (neuter)
sidebar-callout-survey-features-question browser/browser/featureCallout.ftl in { -brand-short-name } → yn { -brand-short-name }
windows-10-eos-sync-split-dismiss-button-show-fewer-option .label browser/browser/featureCallout.ftl Minder oanrekommandearre toane → Minder oanrekommandaasjes toane
windows-10-eos-sync-urgency-subtitle-1 browser/browser/featureCallout.ftl -ynstelling → -ynstellingen
vertical-tabs-callout-1-subtitle browser/browser/featureCallout.ftl Doubled fluch
contextual-manager-passwords-remove-all-message / -sync browser/browser/contextual-manager.ftl wachtwurd **dy’t** → wachtwurd **dat** (neuter) in the [one] variants
customize-mode-downloads-button-autohide .label browser/browser/customizeMode.ftl wannear leech → wannear’t dizze leech is
default-browser-agent-task-description browser/browser/backgroundtasks/defaultagent.ftl Two occurrences of wannear → wannear’t
firefox-relay-get-reusable-masks-failed browser/browser/firefoxRelay.ftl Stray nij: gjin nij opnij brûkbere maskers
ipprotection-connection-status-blocked-error-description-1 browser/browser/ipProtection.ftl Comma splits subject from verb
ipprotection-locations-subview-recommended-description browser/browser/ipProtection.ftl Fyn (imperative) → Fynt
addon-install-error-not-signed browser/browser/addonNotifications.ftl Perfect tense implies the install happened → ynstallearret
skip-troubleshoot-refresh-profile browser/browser/safeMode.ftl Sentence begins lowercase: jo kinne → Jo kinne
multi-profile-callout-subtitle browser/browser/newtab/onboarding.ftl litte … te hâlden → litte … hâlde
smartwindow-onboarding-subtitle browser/browser/newtab/onboarding.ftl Stray in: sûnder in wat te missen
smartwindow-sidebar-auto-open-callout-body browser/browser/newtab/onboarding.ftl jo it nedich binne → jo it nedich hawwe
windows-10-eos-challenger-pin-callout-subtitle browser/browser/newtab/asrouter.ftl jo it nedich binne → jo it nedich hawwe
spotlight-public-wifi-vpn-body browser/browser/newtab/asrouter.ftl wylst it navigearjen → wylst jo navigearje
july-jam-body browser/browser/newtab/asrouter.ftl feilich en flugge tagong → feilige en flugge tagong
set-default-menu-message-split-layout-subtitle *[other] browser/browser/newtab/asrouter.ftl Untfang flugger sneupe → … sneupen
newtab-privacy-message-info-2 browser/browser/newtab/newtab.ftl Superfluous te: jo online **te** folgje
newtab-privacy-trackers-blocked-today [one] browser/browser/newtab/newtab.ftl Plural noun in the singular variant → Tracker
newtab-empty-section-topstories, newtab-empty-section-topstories-generic browser/browser/newtab/newtab.ftl Kin jo net wachtsje? → Kinne jo net wachtsje?
newtab-wallpaper-palm-trees browser/browser/newtab/newtab.ftl wylst gouden oere → tidens it gouden oere
newtab-wallpaper-abstract-purple-green browser/browser/newtab/newtab.ftl Pears en griene → Pearze en griene
newtab-section-unblock-topic .aria-label browser/browser/newtab/newtab.ftl Blokkearring { $topic } opheffe → Blokkearring **fan** { $topic } opheffe
newtab-stocks-ticker-status-up / -down browser/browser/newtab/newtab.ftl Bare infinitive reads as a command → omheech / omleech
policy-ManagedBookmarks browser/…/policies/policies-descriptions.ftl wizige wurde kin → wizige wurde kinne
accessibility-keyboard-issue-focus-visible devtools/client/accessibility.ftl elemint **dy’t** → elemint **dat** (neuter)
storage-tree-labels-local-storage devtools/client/storage.ftl Lokale ûnthâld → Lokaal ûnthâld
styleeditor-new-button .tooltiptext devtools/client/styleeditor.ftl in nije stylblêd → in nij stylblêd
options-disable-javascript-tooltip devtools/client/toolbox-options.ftl wurdt … útskeakelje → útskeakele
options-source-maps-tooltip devtools/client/toolbox-options.ftl tawizen wurde → tawiisd wurde
console-timer-start mobile/…/android/geckoViewConsole.ftl Bare stem reads as imperative; en-US is a past-tense report
about-glean-interface-description toolkit/…/about/aboutGlean.ftl Missing article: is gegevenssamlingsbiblioteek → is **in** …
about-glean-upload-fake-enabled toolkit/…/about/aboutGlean.ftl wurden → wurde; nettsjinsteandede → nettsjinsteande de
about-glean-additional-links toolkit/…/about/aboutGlean.ftl Main verb dropped ("please reference")
about-glean-about-data-description toolkit/…/about/aboutGlean.ftl ark **dy’t** → ark **dat**
about-glean-profiler-explanation-profiler toolkit/…/about/aboutGlean.ftl Missing subject: wannear’t sammele binne → wannear’t **se** sammele binne
about-webauthn-confirm-deletion-label toolkit/…/about/aboutWebauthn.ftl Jo geane fuortsmite: → Jo steane op it punt om te fuortsmiten:
about-webauthn-results-pin-auth-blocked-error toolkit/…/about/aboutWebauthn.ftl besykjen … probearre → besykjen … west
about-webauthn-auth-info-preferred-platform-uv-attempts toolkit/…/about/aboutWebauthn.ftl Mis-bracketed compound
about-webrtc-save-page-label toolkit/…/about/aboutWebrtc.ftl Side bewarre (participle) → Side bewarje
about-webrtc-sdp-set-at-timestamp-local / -remote toolkit/…/about/aboutWebrtc.ftl Imperative for a history header → … ynsteld op tiidstimpel …
third-party-page-title toolkit/…/about/aboutThirdParty.ftl Missing preposition → Ynformaasje **oer** modulen fan tredden
third-party-blocking-requires-restart toolkit/…/about/aboutThirdParty.ftl opnij start wurden → opnij start wurde
rights-webservices-term-4 toolkit/…/about/aboutRights.ftl List mis-parsed: stean útsluting, beheining of ymplisite garânsjes net ta
rights-webservices-term-5 toolkit/…/about/aboutRights.ftl oanspraaklikheid … sille → sil
rights-webservices-term-7 toolkit/…/about/aboutRights.ftl in part … binne → is
rights-intro-point-5-unbranded toolkit/…/about/aboutRights.ftl Number mismatch, missing wurde, wrong preposition
certificate-viewer-critical-extension .title toolkit/…/about/certviewer.ftl wegerje moatten → wegerje moatte
about-translations-feature-blocked-info-message .message toolkit/…/about/aboutTranslations.ftl om dizze brûken te gean → om dizze te brûken
profiles-delete-profile-failed-message toolkit/…/about/aboutProfiles.ftl wylst in besykjen → by it besykjen
about-reader-load-error toolkit/…/about/aboutReader.ftl Artikel fan side laden is mislearre → Laden fan artikel fan side is mislearre
about-pdf-dropzone-error-generic toolkit/…/about/aboutPDF.ftl De oplaad → It opladen
legacy-extensions-description toolkit/…/about/aboutAddons.ftl Two main clauses run together — missing en
details-notification-soft-blocked-extension-disabled, -other-disabled toolkit/…/about/aboutAddons.ftl skeinen (infinitive) → skeining (noun)
abuse-report-settings-reason-v2 toolkit/…/about/abuseReports.ftl nije ljepblêd → nij ljepblêd
aboutaddons-themes-picker-disable-button .label toolkit/…/about/aboutAddons.ftl Utskeakele (participle) → Utskeakelje
download-ui-confirm-quit-cancel-downloads *[other] toolkit/…/downloads/downloadUI.ftl Singular verb+noun in the plural branch
pdfjs-digital-signature-properties-status-unknown toolkit/…/pdfviewer/viewer.ftl kin net ferifiearje wurde → ferifiearre wurde
profile-has-selectable-profiles-message toolkit/…/global/profileSelection.ftl Stray jo: selektearje jo ‘Profilen beheare’
neterror-dns-not-found-offline-hint-reconnect toolkit/…/neterror/netError.ftl Missing en: Ferbrek de ferbining ferbyn opnij
neterror-generic-error toolkit/…/neterror/netError.ftl ien **oft** oare reden → ien **of** oare reden
certerror-mitm-what-can-you-do-about-it-antivirus toolkit/…/neterror/netError.ftl funksje **dy** fersifere ferbiningen scant → **dy’t**
fp-certerror-self-signed-what-can-you-do-body toolkit/…/neterror/certError.ftl Doubled is
fp-certerror-self-signed-important-note toolkit/…/neterror/certError.ftl WICHTICH OPMERKING → WICHTIGE OPMERKING
cert-error-inadequate-cert-type toolkit/…/neterror/certError.ftl Verb cluster garbled
ssl-error-bad-certificate, ssl-error-access-denied-alert, ssl-error-token-insertion-removal toolkit/…/neterror/nsserrors.ftl Present passive for a past event → waard …
mozilla-pkix-error-key-pinning-failure toolkit/…/neterror/nsserrors.ftl Auxiliary wurde dropped
xp-java-cert-not-exists-error toolkit/…/neterror/nsserrors.ftl Dit haadpersoan → Dizze haadpersoan
ssl-error-session-not-found toolkit/…/neterror/nsserrors.ftl net fûn **in** sesjebuffer → net fûn **yn** sesjebuffer
sec-error-module-stuck, sec-error-busy toolkit/…/neterror/nsserrors.ftl noch **in** gebrûk → noch **yn** gebrûk
ssl-error-cipher-disallowed-for-version toolkit/…/neterror/nsserrors.ftl selektearre **yn** cipher suite → **in** cipher suite
ssl-error-us-only-server toolkit/…/neterror/nsserrors.ftl net stipe wurd → net stipe wurdt
sec-error-ocsp-unknown-response-status toolkit/…/neterror/nsserrors.ftl De OCSP-server **jou** → **jout**
crashreporter-report-info toolkit/crashreporter/crashreporter.ftl doe it ferûngelokke → doe’t it ferûngelokke
crashreporter-submit-in-progress toolkit/crashreporter/crashreporter.ftl Ferstjoert jo rapport… → Ferstjoeren fan jo rapport…
webauthn-register-direct-prompt toolkit/toolkit/webauthnDialog.ftl ynfloed kin op jo privacy → ynfloed **hawwe** kin op jo privacy
reset-primary-password-text security/…/pippki/pippki.ftl Main clause has no finite verb → …, **sille** al jo bewarre … fergetten wurde.
delete-ssl-override-impact security/…/certificates/certManager.ftl Inverted-subject agreement: werstelt jo / fereasket jo → werstelle jo / fereaskje jo
exception-mgr-supplemental-warning security/…/certificates/certManager.ftl oare publike **sides** → **siden**
detail-show-preferences .tooltiptext toolkit/…/about/aboutAddons.ftl fan dizze add-on**s** → fan dizze add-on (plural for a single add-on; both platform variants)
url-classifier-search-result-list toolkit/…/about/url-classifier.ftl List **fan** tabellen → List **mei** tabellen

G. Spelling / diacritics on lowercase letters

Found with the repo's own Frisian hunspell dictionary (extensions/spellcheck/hunspell/fy-NL.dic) plus near-miss analysis against the corpus, then verified per string.

String ID File Current → Suggest
update-unsupported, settings-update-unsupported browser/browser/aboutDialog.ftl fernijngen → fernijingen
pocket-panel-saved-error-tag-length browser/browser/aboutPocket.ftl beheint → beheind
appmenu-remote-tabs-tabsnotsyncing browser/browser/appmenu.ftl ljepblêdsyngroanisaasje → ljepblêdsyngronisaasje
addon-install-full-screen-blocked browser/browser/addonNotifications.ftl Add-on-installaasje → Add-on-ynstallaasje
bookmarks-toolbar-callout-2b-title browser/browser/featureCallout.ftl blêdwizerakbalke → blêdwizerarkbalke
policy-Bookmarks browser/…/policies/policies-descriptions.ftl Blêdwizerakbalke → Blêdwizerarkbalke
policy-HttpsOnlyMode browser/…/policies/policies-descriptions.ftl tasean → tastean
policy-UseSystemPrintDialog browser/…/policies/policies-descriptions.ftl systeemdialoochfienster fan it systeem → printdialoochfinster fan it systeem
policy-AutofillCreditCardEnabled browser/…/policies/policies-descriptions.ftl beteelingsmetoaden → betelmetoaden
aiwindow-starter-browsing-compare browser/browser/aiWindow.ftl ljeplêden → ljepblêden
smart-window-opened-tabs-row-label browser/browser/aiWindowContent.ftl ljeplêden → ljepblêden
firefoxview-opentabs-nav, firefoxview-opentabs-header browser/browser/firefoxView.ftl ljeplêden → ljepblêden
menu-view-open-tabs, sidebar-menu-open-tabs-label, sidebar-menu-open-tabs-header, sidebar-opentabs-title browser/browser/sidebar.ftl ljeplêden → ljepblêden
delete-profile-tabs browser/browser/profiles.ftl ljeplêden → ljepblêden
vertical-tabs-callout-2-subtitle browser/browser/featureCallout.ftl list mei ljeppers → list mei ljepblêden
tab-splitview-splitter browser/browser/tabbrowser.ftl ljepblêdwerjefe → ljepblêdwerjefte
tab-group-preview-open-description, tab-group-preview-closed-description browser/browser/tabbrowser.ftl Ljepblêdelist → Ljepblêdlist
webrtc-indicator-menuitem-sharing-application-with-n-tabs [one] browser/browser/webrtcIndicator.ftl Stray trailing b: ljepblêdb
places-bookmarks-backup-title browser/browser/placesPrompts.ftl Betânsnamme → Bestânsnamme
unified-extensions-mb-blocklist-warning-single .message browser/browser/unifiedExtensions.ftl utskeakele → útskeakele (the only lowercase missing-diacritic case in the tree)
report-broken-site-panel-url-label browser/browser/reportBrokenSite.ftl net-wurkende → net-wurkjende
set-desktop-background-filename browser/browser/setDesktopBackground.ftl buroblêdeftergrûn → Búroblêdeftergrûn
pane-experimental-description3 browser/…/preferences/preferences.ftl de manier werop → de manier wêrop
appearance-browser-icon-unlocked .message browser/…/preferences/browserIcon.ftl bonupsiktogrammen → bonuspiktogrammen
connection-proxy-autologin .tooltip, connection-proxy-autologin-checkbox .tooltiptext browser/…/preferences/connection.ftl automatisysk → automatysk; derfaor → derfoar
preferences-profiles-subpane-description, preferences-profiles-section-header, preferences-manage-profiles-description browser/…/preferences/preferences.ftl navigaasjejegegevens → navigaasjegegevens
spellcheck-promo browser/…/preferences/preferences.ftl staveringhifkjen → staveringshifkjen
browsing-use-full-keyboard-navigation .label browser/…/preferences/preferences.ftl formulierbesjoeringseleminten → formulierbestjoeringseleminten
addon-recommendations .label browser/…/preferences/preferences.ftl útrweidingsrekommandaasjes → útwreidingsoanrekommandaasjes
search-suggestions-cant-show, search-suggestions-cant-show-2 browser/…/preferences/preferences.ftl lokaasjebalkresultaten → lokaasjebalkeresultaten
account-sync-section .heading browser/…/preferences/preferences.ftl Accoant → Account
more-from-moz-mdn-card .description browser/…/preferences/moreFromMozilla.ftl webûntwikling → webûntwikkeling
cookie-banner-handling-description browser/…/preferences/preferences.ftl Doubled op + misplaced modifier
content-blocking-etp-strict-desc, preferences-text-zoom-override-warning browser/…/preferences/preferences.ftl der foar soargje → derfoar soargje
preferences-etp-custom-control-group .description browser/…/preferences/preferences.ftl yn of út skeakelje → yn- of útskeakelje
newtab-privacy-message-promo-monitor-1 browser/browser/newtab/newtab.ftl foar komme → foarkomme
newtab-privacy-message-promo-relay-1 browser/browser/newtab/newtab.ftl reagistraasjes → registraasjes
newtab-wallpaper-light-landscape browser/browser/newtab/newtab.ftl Berch lânskip → Berchlânskip
newtab-sports-widget-message-wallpapers-semifinals-body browser/browser/newtab/newtab.ftl Meitsje **ien** dekôr → Meitsje **it** dekôr
create-backup-screen-1-title browser/browser/newtab/onboarding.ftl meitjse → meitsje (letters transposed)
mr2022-upgrade-onboarding-pin-private-window-primary-button-label browser/browser/newtab/onboarding.ftl fêst meitsje → fêstmeitsje
onboarding-new-tabs-subtitle browser/browser/newtab/onboarding.ftl sybalkeynstellingen → sidebalkeynstellingen
nova-early-access-infobar-title browser/browser/newtab/asrouter.ftl úterlik → uterlik (spurious accent)
language-and-appearance-header and sibling browser/…/preferences/preferences.ftl úterlik → uterlik (2×)
default-bookmarks-crashes browser/browser/profile/default-bookmarks.ftl ungelokken → ûngelokken
default-browser-prompt-message-pin, -pin-mac browser/browser/defaultBrowserNotification.ftl hantberik → hânberik
ipprotection-connection-status-network-error-description browser/browser/ipProtection.ftl dernei → dêrnei
genai-prompts-proofread .value browser/browser/genai.ftl krekten → krektens
about-unloads-column-weight .title browser/browser/aboutUnloads.ftl alteart → allearst; ôflaad → ôflaat
about-unloads-column-sortweight .title browser/browser/aboutUnloads.ftl ôflaad → ôflaat
about-debugging-sidebar-item-connect-button-connection-not-responding devtools/client/aboutdebugging.ftl nochyin → noch yn
manifest-json-link-data-url devtools/client/application.ftl ynbed → ynbêde
perftools-record-all-registered-threads devtools/client/perftools.ftl pasearje → passearje
perftools-button-save-settings devtools/client/perftools.ftl Ynstellen bewarje → Ynstellingen bewarje
styleeditor-filter-input .placeholder devtools/client/styleeditor.ftl Styblêden → Stylblêden
options-default-color-unit-name devtools/client/toolbox-options.ftl Kleurmammen → Kleurnammen
options-stylesheet-autocompletion-tooltip .title devtools/client/toolbox-options.ftl Stylbebwurker → Stylbewurker; as weardes → en wearden
toolbox-mode-parent-process-container .title devtools/client/toolbox.ftl Allinne → Allinnich
whypaused-pause-on-dom-events devtools/shared/debugger-paused-reasons.ftl barrenlúterer → barrenslústerer
whypaused-event-breakpoint, whypaused-mutation-breakpoint, whypaused-interrupted devtools/shared/debugger-paused-reasons.ftl Pausearre → Pauzearre (10 sibling strings use the latter)
inactive-css-not-grid-item-fix-2, -fix-3, inactive-css-not-flex-item-fix-2, -fix-3 devtools/client/tooltips.ftl boppe lizzende → boppelizzende
manifest-loaded-devtools-error devtools/client/application.ftl Devtools → DevTools
detail-contributions-description toolkit/…/about/aboutAddons.ftl ûnwikkeler → ûntwikkeler
extensions-warning-check-compatibility, -compatibility2, -compatibility-button toolkit/…/about/aboutAddons.ftl kompatibileit → kompatibiliteit; kontrole → kontrôle
extensions-warning-update-security, -security2, -security-button toolkit/…/about/aboutAddons.ftl Feilichheidskontrole → Feilichheidskontrôle
shortcuts-duplicate-warning-message, -message2 toolkit/…/about/aboutAddons.ftl fluckkeppelingen → fluchkeppelingen; unferwacht → ûnferwacht
discopane-intro3 toolkit/…/about/aboutAddons.ftl Me útwreidingen → Mei útwreidingen
addon-badge-recommended2, -verified2, -verified4, -recommended4 toolkit/…/about/aboutAddons.ftl noarms → noarmen
has-privileged-user-namespaces toolkit/…/about/aboutSupport.ftl proscessen → prosessen
content-analysis-title toolkit/…/about/aboutSupport.ftl Ynhâldsanalyze → Ynhâldsanalyse
webgpu-default-adapter toolkit/…/about/aboutSupport.ftl standertdadapter → standertadapter
pending-reports [other] toolkit/…/about/aboutSupport.ftl Extra closing parenthesis ))
windows-messages-intro toolkit/…/about/aboutWindowsMessages.ftl fertsjinwurdiget → fertsjintwurdiget
about-webauthn-ctap2-enroll-feedback-too-left, -too-right toolkit/…/about/aboutWebauthn.ftl te tefolle → tefolle
about-glean-about-data-list-item-debug-ping-viewer toolkit/…/about/aboutGlean.ftl live-barresstream → live-barrensstream
rights-webservices-term-4 toolkit/…/about/aboutRights.ftl Tjinsten → Tsjinsten
rights-intro-point-4 toolkit/…/about/aboutRights.ftl beskrean → beskreaun
elevation-finished-background-page toolkit/…/updates/elevation.ftl stabliliteitsfernijing → stabiliteitsfernijing
certerror-expired-cert-what-can-you-do-about-it-clock toolkit/…/neterror/netError.ftl tiidssône → tiidsône
cert-error-trust-untrusted-issuer, cert-error-trust-expired-issuer toolkit/…/neterror/certError.ftl útjousertifikaat → útjouwerssertifikaat
sec-error-cert-usages-invalid toolkit/…/neterror/nsserrors.ftl Sertifikaatgebrûksfjld → …fjild
sec-error-crl-invalid-version toolkit/…/neterror/nsserrors.ftl Sertifikaateerroppingslist → Sertifikaatwerroppingslist
sec-error-baggage-not-created toolkit/…/neterror/nsserrors.ftl meitesjen → meitsjen; bagage objekt → bagageobjekt
sec-error-duplicate-cert toolkit/…/neterror/nsserrors.ftl bestiat → bestiet
ssl-error-incorrect-signature-algorithm toolkit/…/neterror/nsserrors.ftl ûndertekeneingsalgoritme → ûndertekeningsalgoritme
sec-error-ocsp-not-enabled toolkit/…/neterror/nsserrors.ftl úfieren → útfieren
sec-error-ocsp-malformed-request toolkit/…/neterror/nsserrors.ftl skansearr → skansearre
ssl-error-next-protocol-no-callback toolkit/…/neterror/nsserrors.ftl folgjene → folgjende; ûndehanneling → ûnderhanneling
ssl-error-rx-unexpected-hello-verify-request, ssl-error-rx-unexpected-cert-status toolkit/…/neterror/nsserrors.ftl unferwacht → ûnferwacht
sec-error-not-a-recipient toolkit/…/neterror/nsserrors.ftl privekaai → priveekaai
sec-error-revoked-key toolkit/…/neterror/nsserrors.ftl ynlûkt → ynlutsen
sec-error-untrusted-issuer toolkit/…/neterror/nsserrors.ftl oanmerke → oanmerkt
webext-perms-description-management toolkit/…/global/extensionPermissions.ftl Utwreidigsgebrûk → Utwreidingsgebrûk
webext-perms-description-data-long-technicalAndInteraction toolkit/…/global/extensionPermissions.ftl útwreidingûntwikkeler → útwreidingsûntwikkeler
form-post-secure-to-insecure-warning-message toolkit/…/global/htmlForm.ftl gegegevens → gegevens
prompt-to-install-message toolkit/…/global/run-from-dmg.ftl gegevensfelies → gegevensferlies
install-failed-message toolkit/…/global/run-from-dmg.ftl ysntallaasje → ynstallaasje
pdfjs-print-progress-message toolkit/…/pdfviewer/viewer.ftl tariede oar ôfdrukken → tariede foar ôfdrukken
pdfjs-editor-color-picker-free-text-input toolkit/…/pdfviewer/viewer.ftl Tekstleur → Tekstkleur
pdfjs-editor-highlight-editor toolkit/…/pdfviewer/viewer.ftl Markearingsbewurker → Markearringsbewurker
printui-headers-footers-checkbox toolkit/…/printing/printUI.ftl foetteksten → fuotteksten
printui-system-dialog-link toolkit/…/printing/printUI.ftl systeemdialoochfienster → systeemdialoochfinster
experimental-features-custom-wallpaper .label toolkit/…/firefoxlabs/features.ftl Nij-ljepbledside → Nij-ljepblêdside
webauthn-pin-not-set-prompt toolkit/toolkit/webauthnDialog.ftl Brûkerferifikaasje → Brûkersferifikaasje
xml-nostylesheet dom/dom/XMLPrettyPrint.ftl stylynformaaasje → stylynformaasje (tripled a)
network-connection-status-wrote netwerk/netwerk/necko.ftl skreun → skreaun
set-password-message security/…/pippki/pippki.ftl reserverkopybestân → reservekopybestân; beskermt → beskermet
download-cert-trust-email .label security/…/pippki/pippki.ftl Fertrouw → Fertrou (sibling uses Fertrou)
delete-ca-cert-confirm security/…/certificates/certManager.ftl fertroue → fertrouwe
pkcs12-decode-err security/…/certificates/certManager.ftl skansjearre → skansearre
delete-user-cert-impact security/…/certificates/certManager.ftl ydentifisearjen → identifisearjen
add-exception-expired-short security/…/certificates/certManager.ftl Alde **Y**nformaasje → Alde ynformaasje (stray mid-phrase capital)

H. Terminology inconsistency

Same en-US term rendered two or more ways, often within one file. These are judgement calls, not hard errors — listed for the maintainer to standardise.

Sidebar — sydbalke vs sidebalke: sidebar-resize-splitter, sidebar-open-tools-from-sidebar, expand-sidebar-on-hover, sidebar-context-menu-unpin-extension (sidebar.ftl); sidebar-customization-callout-callout-button, -dismiss-button, sidebar-callout-survey-* (featureCallout.ftl); genai-onboarding-description (genai.ftl); pdfjs-views-manager-sidebar (viewer.ftl).

Log — loch- / logboek- / registraasje: about-logging-current-log-file, about-logging-set-log-modules, about-logging-new-log-file, about-logging-new-log-modules, about-logging-currently-enabled-log-modules, about-logging-preset-navigation-description, about-logging-preset-networking-http3-upload-speed-description, about-logging-preset-windows-description; certificate-viewer-log-name / certificate-viewer-logid; url-classifier-debug-js-log-chk, url-classifier-debug-sbjs-modules, url-classifier-disable-sbjs-log, url-classifier-enable-sbjs-log (vs url-classifier-debug-module-btn / -file-btn which use Loch-); about-webrtc-aec-logging-msg-label (AEC-registraasje) vs about-webrtc-log-heading (Ferbiningslochboek) vs about-webrtc-enable-logging-label (lochboekfoarynstelling).

Restore — reparearje / werstelle / werom bringe / tebeksette: the backupSettings.ftl group in section C, plus restore-page-tab-title, restore-page-restore-header, restore-page-try-again-button (aboutSessionRestore.ftl), menu-history-restore-last-session (menubar.ftl), places-cmd-restore (places.ftl).

Keyboard shortcut — fluchtoets vs fluchkeppeling: customkeys-shortcut-unassigned, customkeys-shortcut-input, customkeys-conflict-confirm-title (customkeys.ftl); shortcuts-remove-button.aria-label, shortcuts-duplicate, shortcuts-duplicate-warning-message, -message2 (aboutAddons.ftl). Also customkeys-conflict-unusable-title / -body use kaai (cryptographic key) where toets is meant.

Homepage — Startside vs Begjinside: home-homepage-title.label, detail-home.label, addon-detail-homepage-label, navbar-home (label vs tooltiptext), toolbar-drop-on-home-msg vs -multiple.

Free (gratis) — fergees / fergese / fergeze: more-from-moz-firefox-relay-description, more-from-moz-mozilla-monitor-card, more-from-moz-solo-description (moreFromMozilla.ftl); newtab-privacy-message-promo-relay-2, -relay-3, -monitor-2 (newtab.ftl); relay-50-masks-announcement-subtitle (asrouter.ftl).

Search suggestions — sykfoarstellen vs syksuggestjes: search-show-suggestions-option, search-suggestions-option, search-show-suggestions-url-bar-option, addressbar-locbar-showtrendingsuggestions-option.

Secure DNS — Feilige DNS vs Befeilige DNS: preferences-doh-overview-default, preferences-doh-radio-default, preferences-doh-overview-custom, preferences-doh-radio-custom.

Third-party redirects — three renderings: permissions-block-popups-exceptions-button4.description (trochliedingen), permissions-block-popups2 (omliedingen), permissions.ftl (trochferwizingen).

Appearance — útstrieling vs uterlik: preferences-web-appearance-choice-light2, -dark2, -tooltip-light, -tooltip-dark.

Network provider — netwurkbehearder (administrator) vs ynternetoanbieder: security-privacy-issue-warning-doh, security-privacy-issue-warning-ech (vs their -doh2/-ech2 variants).

Others (one-liners): fonts-default-serif Skreef vs fonts-serif Serif · permissions-exceptions-popup-window2 / -desc Popupfinsters vs Pop-upfinsters · screenshots-*-button-* Skermôfbylding vs Skermôfdruk · preonboarding-* three forms of "Terms of Use" · item-site-prefs vs item-site-settings (Websiteynstellingen / Website-ynstellingen) · places-untag-bookmark Tag vs places-view-sort-col-tags Labels · protections-not-blocking-cookies-third-party / -all phrasing · content-blocking-cookies-blocking-unvisited-label vs protections-blocking-cookies-unvisited · menu-tools-extensions-and-themes mid-phrase capital · media-image-type vs media-animated-image-type · barbell-avatar-tooltip / briefcase-avatar-tooltip / craft-avatar-tooltip don't match their labels · tabbrowser-manager-closed-tab-group Sluten vs tab-group-menu-closed-tab-group Sletten · about-logins-import-dialog-items-modified2 / -no-change2 / about-logins-import-report-row-description-modified2 (item / fermelding / ynfier) · helpus vs helpus-referrals · menu .title word order (Iepenje menu → Menu iepenje) · main-context-menu-frame-add-bookmark frame vs dielfinster · main-context-menu-video-save-as / -audio-save-as word order · appmenu-bookmarks-sync-promo-connectdevice duplicates -turnonsync · contextual-manager-passwords-breached-origin-link-message wit … oer vs wit … fan · link-preview-first-time-setup-message wichtichste punten vs haadpunten · aboutdialog-update-downloading Update vs Fernijing · network-menu-summary-transferred vs -tooltip-transferred · options-tool-not-supported-label / options-disable-javascript-tooltip / options-reopen-toolbox-message / options-disable-http-cache-label (toolbox / arkfek / wurkset) · options-select-additional-tools-label vs options-select-default-tools-label · css-compatibility-deprecated-supported-message W3C-noarmen vs W3C-standerts · inactive-css-*-fix de property vs de eigenskip · addon-permissions-data-collection-heading / -empty / addon-data-collection-learnmore Gegevenssamling vs Gegevenssammeling · addon-permissions-managed-by-policy machtigingen vs tastimmingen · addon-badge-recommended2 feilichheid vs befeiliging · abuse-report-messagebar-removed-sitepermission útwreiding vs add-on · about-telemetry-keyed-histogram-section translated vs -keyed-scalar-section untranslated · about-webauthn-auth-option-authnrcfg / -uvacfg Autenticator vs Authenticator · about-webrtc-remote-send-ssrc Op ôfstân vs Ekstern · about-webrtc-user-modified-configuration-show-msg / -hide-msg wizige vs oanpaste · media-device-latency Latintens vs Latinsje · support-sandbox-gpu-level Sânboks vs sandbox · about-networking-flags Ekstra labels vs url-classifier's Markearringen for "Flags" · gpu-device-reset vs gpu-device-reset-button · rights-intro-point-5 / -5-unbranded tsjinsttermen vs tsjinstbetingsten · contentanalysis-genericresponse-message Ynhâldanalyse vs Ynhâldsanalyse · process-type-tab Tab vs Ljepblêd · about-reader-word-spacing-label Wurdspasjearing vs -ôfstân · pdfjs-views-manager-layers-title1 standertstatus vs standertsteat · unable-to-toggle-fips / del-module-warning feilichheids- vs befeiligings- · reset-password-button-label Opnij inisjalisearje vs opnij ynstelle · pkcs12-dup-data privé-kaai vs priveekaai · ssl-error-no-cypher-overlap algemien vs mienskiplik · sec-error-ocsp-responder-cert-invalid ynfalide vs ûnjildich · eksperiment vs eksperimint (quickactions-cmd-labs) · ynteresses vs ynteressen (content-blocking-section-top-level-description) · Websiteynstellingen (item-site-prefs) · qrcode-save-filename-base qrkoade vs qrcode-save-filename-with-domain-base qrcode.

Also: quickactions-cmd-manageai (browser/browser/browser.ftl) lists ai útskeakelje, ai útskeakelje, ai beheare — the first keyword is duplicated, so one of en-US's three search keywords ("off ai") is unreachable.


I. Typography & punctuation

Straight apostrophe ' where the locale uses ’ (20 occurrences)

places-locked-prompt · protections-panel-cross-site-tracking-cookies · screenshots-generic-error-title · tabbrowser-confirm-caretbrowsing-message · security-browsing-protection · firefoxview-spotlight-promo-primarybutton · fxa-menu-message-sync-devices-secondary-text2 · mr2022-onboarding-pin-image-alt.aria-label · safeb-blocked-unwanted-page-title · about-debugging-setup-intro · webauthn-register-direct-prompt · pdfjs-editor-add-signature-dialog-label · discopane-intro · experimental-features-ime-search-description (both firefoxlabs/features.ftl and featuregates/features.ftl) · webext-perms-description-nativeMessaging · fp-neterror-content-encoding-intro · sec-error-ocsp-responder-cert-invalid · account-client-name (en-US itself uses ’ here) · webext-perms-extra-warning-userScripts-short (doubled: dy’'t).

Wrong-direction ‘ used as apostrophe or closing quote (6)

load-module-help-root-certs-module-name.value (‘Root Certs‘ — inherited from en-US) · protocolhandler-mailto-handler-set (dy‘t) · mr1-onboarding-theme-tooltip-light.title, mr1-onboarding-theme-description-light.aria-description, mr1-onboarding-theme-tooltip-dark.title, mr1-onboarding-theme-description-dark.aria-description (all menu‘s).

Wrong-direction ’ used as an opening quote

storage-cookie-create-error, storage-cookie-edit-error (devtools/client/storage.ftl) · toolbox-meatball-menu-pseudo-locale-accented (devtools/client/toolbox.ftl).

Straight double quotes / wrong quote family

rights-webservices-term-4 ("as-is") · protections-vpn-banner-content (TechRadar quote in "…") · popup-show-popup-menuitem.label (uses “…” where the adjacent popup-trigger-redirect-menuitem uses ‘…’).

Missing / extra space

ipprotection-locations-subview-promo.message (mear as300) · support-remote-experiments-see-about-studies (missing space before the placeable) · about-logging-unknown-error (bard :) · download-ui-confirm-quit-cancel-downloads-mac (stopje ,) · about-httpsonly-explanation-continue (útskeakele .) · experimental-features-custom-wallpaper-description (Nij-ljepblêdside .) · plus the 47 doubled-space strings in §2.4.

Missing terminal punctuation vs en-US

pippki-reset-password-confirmation-message · add-exception-invalid-header · monitor-header-content-signed-in · profiler-popup-presets-networking-with-logs-description · perftools-presets-networking-with-logs-description · spotlight-focus-promo-subtitle · firefoxview-tabpickup-description · redirect-warning-with-popup-message · ipprotection-locations-subview-promo.message · ipprotection-message-bandwidth-warning.message · ip-protection-description-1.description · about-logins-import-report-description2 · firefox-relay-and-fxa-popup-notification-second-sentence-with-domain-and-value-prop · policy-DefaultDownloadDirectory · policy-Handlers · policy-DisableThirdPartyModuleBlocking · policy-LegacyProfiles · create-backup-screen-1-title · inactive-css-first-line-pseudo-element-not-supported · inactive-css-first-letter-pseudo-element-not-supported · delete-unsubmitted-description · crashreporter-checkbox-send-report · third-party-tag-background.title · neterror-dns-not-found-trr-third-party-warning2 · fp-neterror-offline-intro-2 · sec-error-no-key · filepicker-blocked-infobar (reverse: extra period).

Extra terminal punctuation not in en-US

appmenuitem-monitor-description2 · bookmark-overlay-tags-empty-description.placeholder · choose-language-description · confirm-browser-language-change-description · download-always-ask-where2.label · home-prefs-weather-description · forms-master-pw-fips-desc · preferences-doh-status-item-not-active.message · preferences-doh-status-item-not-active-local.message · onboarding-refresh-import-title · newtab-label-source-read-time · private-browsing-description2 (period inside the link) · addon-badge-recommended2, addon-badge-line3, addon-badge-line4, addon-badge-recommended4 · autofill-insecure-field-warning-description · about-logins-import-report-error · splitview-onboarding-callout-subtitle-2.

Spurious question mark on a non-interrogative

website-remove-language-button.aria-label and .title (en-US: "Remove { $locale }") · newtab-widget-lists-menu-delete (en-US: "Delete this list") · delete-ca-cert-confirm (en-US is declarative).

Ellipsis mismatch

Added where en-US has none: add-engine-button (both search.ftl and preferences/addEngine.ftl) · quickactions-plugins · main-context-menu-bookmark-page.tooltiptext · main-context-menu-edit-bookmark.tooltiptext. Dropped where en-US has one: menu-help-share-ideas.label · home-mode-choice-custom.label · home-mode-choice-custom-srd.label · forms-master-pw-change.label.

Colon mismatch

Added: import-source-page-title · findbar-fast-find-links.placeholder · app-basics-disk-available · detail-rating.value · default-browser-guidance-notification-info-page · inactive-css-at-position-try-not-supported. Dropped: no-page-title.value.

Dash inconsistency

page-info-page, page-info-frame, tabbrowser-container-tab-title use - where the locale's house dash is – · tab-group-menu-closed-tab-group uses — while sibling tab-group strings use – · aboutdialog-update-downloading uses – while settings-update-downloading uses —.

Capitalisation

fxa-menu-sync-status-off (Syngronisaasje is Ut → … is út) · add-exception-expired-short (Alde Ynformaasje) · menu-tools-extensions-and-themes (Utwreidingen en Tema’s) · skip-troubleshoot-refresh-profile (sentence starts lowercase).


4. Findings by area

Area Findings
browser/browser/*.ftl (top level) ~130
browser/browser/preferences/ ~50
browser/browser/newtab/ ~45
toolkit/toolkit/about/ ~90
toolkit/toolkit/ (non-about, incl. intl + neterror) ~110
devtools/ ~40
security/ + dom/ + netwerk/ + mobile/ ~40
browser/browser/policies/, safebrowsing/, profile/, backgroundtasks/ ~15
Total enumerated ~520 (incl. the 47 doubled-space and 26 straight-quote systemic items)

5. Method

  • Tooling: moz.l10n (moz-l10n lint, moz-l10n compare) + custom parser scripts for variable/select structure, access keys, typography, cross-file consistency, and punctuation parity against en-US.
  • Spellcheck: hunspell run against the Frisian dictionary shipped in this very repo (fy-NL/extensions/spellcheck/hunspell/fy-NL.dic, Fryske Akademy 2016), then filtered to near-misses of words the corpus itself uses frequently — this is what surfaced most of section G.
  • Qualitative pass: eight parallel per-directory reviewers comparing each locale file to firefox-quarantine at the same relative path, using the # developer comments as context. Overlapping coverage on toolkit/toolkit/about/ gave an independent second opinion, which agreed on every finding.
  • All high-impact claims (reversed meanings, markup breakage, wrong region/paper values, dev-comment violations) were re-verified by hand against both trees before being listed here.

6. Suggested triage order

  1. Section A — 15 items, all functional. forms-primary-pw-former-name, appmenu-update-other-instance, cfr-doorhanger-milestone-heading2, printui-paper-jis-b4, region-name-ne are the ones users will actually hit.
  2. Section B, fully-Dutch strings — 5 strings currently ship Dutch text to Frisian users.
  3. Section C, reversed meanings — 22 items; several are security-relevant (security-privacy-issue-warning-third-party-cookies, cert-error-mitm-connection, the four permissions-site-*-disable-desc, extensions-warning-update-security, third-party-button-to-unblock-module).
  4. Sections D, E, G — mechanical and safe to apply.
  5. Sections F, I — mechanical, larger volume.
  6. Section H — normalisation decisions; needs a maintainer call, not a bulk edit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment