You install a Norwegian language pack on WordPress Multisite in two layers: the network admin installs the language files once under Network Settings, then each site either inherits the network default or selects Norwegian under Settings > General. On multisite, individual sites cannot download language packs themselves; the network must allow it. Norwegian exists as both Bokmål (nb_NO) and Nynorsk (nn_NO), and Bokmål is the default written standard for roughly 90 percent of Norwegians, so most sites start there.
How language packs actually reach a multisite install
WordPress does not bundle translations in core since version 4.0. Instead, the Translate WordPress project hosts language packs on a separate translation server, and WordPress downloads them on demand through the WordPress API. Each language pack is a ZIP containing compiled .mo files, PHP translation files, and JSON files for block editor strings. When WordPress detects a locale, it fetches the matching pack and stores it in wp-content/languages, with a subfolder per locale such as wp-content/languages/nb_NO.
On single-site WordPress, any administrator can trigger this download by changing the site language. Multisite changes the permission model. The network super admin controls whether sites may install languages at all, using the setting labeled "Allow site administrators to install languages" under Network Settings. If that box is unchecked, the site's language dropdown shows only languages already present on the server. This is the single most common reason a Norwegian option appears missing on a multisite subsite. The site admin sees nothing wrong; the network simply never granted permission.
The mechanism matters because language files are shared network-wide. One downloaded nb_NO pack in wp-content/languages serves every site that selects Bokmål, so there is no per-site duplication and no storage penalty for running dozens of Norwegian subsites. A typical language pack is small, usually a few hundred kilobytes up to roughly 1-2 MB depending on how many plugins ship translations.
Quantified context: locales, coverage, and file sizes
Norwegian is unusual because it has two official written forms, and WordPress treats them as separate locales. Bokmål uses the locale code nb_NO. Nynorsk uses nn_NO. A third code, no_NO, historically represented generic Norwegian but is deprecated in practice and should not be selected for new installs. Choosing the wrong code is a quiet failure mode: the dashboard may fall back to English even though "Norwegian" appeared in the list.
Translation coverage is never exactly 100 percent at any given moment because core strings change with every release. Core Norwegian Bokmål typically sits in the high 90s as a percentage of translated strings, while plugin and theme coverage varies wildly because each project has its own translation team. A plugin with no Norwegian translation simply displays English strings inside an otherwise Norwegian dashboard. This partial translation is expected behavior, not a bug.
File sizes help set expectations for shared hosting. A core nb_NO pack is commonly under 1 MB. A full set including a page builder, an SEO plugin, and a commerce plugin might reach several megabytes of translation files. Because the network stores them once, the marginal cost of the tenth Norwegian site is effectively zero.
Timeline: what happens when you switch the locale
| Step | What occurs | Typical timing |
|---|---|---|
| 1 | Super admin enables language installation under Network Settings | Immediate on save |
| 2 | Site admin selects nb_NO under Settings > General | Immediate on save |
| 3 | WordPress requests the pack from the translation API | Seconds, if outbound HTTP works |
| 4 | Pack extracts into wp-content/languages/nb_NO | Seconds |
| 5 | Admin notices and core UI render in Norwegian | On next page load |
| 6 | Front-end theme strings translate if the theme is translation-ready | On next page load |
| 7 | Plugin strings translate only where the plugin ships nb_NO translations | Varies; may never reach 100 percent |
Two timing caveats matter. First, if the server blocks outbound HTTP requests, the download fails silently and WordPress keeps English. Second, browser caching and object caching can serve stale English strings for minutes to hours after the switch, so a hard refresh or cache purge is often needed before you judge the result.
Edge cases that break the simple instructions
The counterintuitive detail most guides miss: on multisite, changing the network default language does not automatically change existing subsites that already saved a language value. Each site stores its own WPLANG option in its own database tables. A network default of nb_NO applies only to newly created sites or sites that never overrode it. If you want every subsite in Norwegian, you must either set each one individually or enforce locale programmatically.
Other edge cases worth flagging as red flags:
The "Allow site administrators to install languages" box is unchecked, so subsites see no Norwegian option. This is the top cause of "the language is missing." The server blocks outbound connections to the WordPress translation API, so downloads never complete. Check with your host before troubleshooting anything else. A site selects nn_NO by mistake when Bokmål was intended, producing Nynorsk labels that look unfamiliar to most Norwegian readers. A theme or plugin is not translation-ready, meaning its strings are hardcoded in English regardless of locale. A caching layer or CDN serves the old English HTML after the switch, making the change appear to have failed. Someone edits translation files directly in wp-content/languages, and the next automatic update overwrites the edits.
Each of these produces the same symptom, an interface that is partly or wholly English, which is why diagnosis should start with permissions and connectivity rather than with the language files themselves.
Misconceptions about "installing" Norwegian
The word "install" misleads people into expecting a plugin or a manual file upload. In modern WordPress you rarely upload language files by hand; the system fetches them. Manual installation remains possible for offline or restricted servers, by downloading the .mo and .po files from the translation project and placing them in wp-content/languages or wp-content/languages/themes and wp-content/languages/plugins, but it is a fallback, not the default path.
A second misconception is that switching the admin language changes the public website. It does not. The site language under Settings > General controls both the dashboard and the front end for that site, but a multilingual audience usually needs a dedicated multilingual plugin on top, because WordPress core has no built-in content translation. Language packs translate the interface, not your posts and pages.
A third misconception is that Norwegian Bokmål and Nynorsk are interchangeable. They are distinct written standards with different grammar and vocabulary. Picking nb_NO because "it is Norwegian" is correct for most audiences but wrong for institutions that formally require Nynorsk, such as some government and education bodies.
Practical actions, step by step
The concrete sequence for a multisite network:
Log in as the network super admin and open Network Admin > Settings. Confirm the setting that allows site administrators to install languages is enabled, and save. Verify the server can reach the WordPress translation API; if downloads fail, ask the host to allow outbound HTTP. On the network level, consider setting the default language for new sites so new subsites start in nb_NO automatically. For each existing subsite, go to Settings > General, select Norsk bokmål (nb_NO), and save. Purge object cache and any page cache, then reload the dashboard to confirm Norwegian strings appear. Audit plugins and themes for translation coverage, since gaps will remain in English. If content must be multilingual for visitors, add a dedicated multilingual plugin rather than relying on the language pack.
For a restricted server where automatic downloads fail, install manually: obtain the nb_NO core pack, place the .mo and .php files in wp-content/languages, and place theme and plugin translations in their respective subfolders. Keep a record, because updates can replace these files.
Limitations and what this cannot do
Language packs translate the WordPress interface and any theme or plugin that ships translations. They do not translate your content, your media alt text, or strings hardcoded into custom code. Coverage of third-party plugins is controlled by each project's volunteer translation team, so no administrator can force a plugin to become fully Norwegian. Multisite adds the permission layer described above, and a network admin who disables language installation removes the option entirely.
This article is general educational information about WordPress configuration, not a guarantee of a specific translation outcome on your hosting environment. Hosting restrictions, plugin behavior, and translation coverage vary, so consult your host or a qualified WordPress professional for site-specific issues.