Skip to content

Next.js in Wellington

Next.js development for Wellington government and public bodies

A Next.js development company working with Wellington agencies and national bodies. Te reo Māori in the interface, where a missing macron is a different word and a wrong font hides it.

Working day overlap
Close to none. Wellington runs about ten hours ahead of Ankara, so your day ends as ours begins
Who buys here
Government agencies and ministries, Crown entities, national bodies and the consultancies delivering for them
What that changes
Te reo Māori appears throughout public sector content, and a macron is part of a word rather than decoration on it
Local specifics
Many fonts lack macronised vowels, and the fallback is silent - the letter renders without its macron and the word changes meaning

Wellington's public sector content is bilingual, and the second language is one that most web tooling has never been tested against.

Te reo Māori appears throughout government and Crown entity material - in names, headings, programme titles, whole documents. It uses macronised vowels, and vowel length is phonemic, which means a macron is part of the spelling rather than an accent applied to it. Drop one and the word is a different word.

That makes a font choice a correctness decision, which is unusual.

The macron disappears quietly

Here is the failure, and the reason it survives into production.

A brand font is chosen for its appearance. It does not contain macronised vowels, because the designer who made it was not thinking about te reo. When the browser encounters one, it falls back for that single character - so the word renders partly in the brand font and partly in something else - or, with certain configurations, the character does not render as intended at all.

Nothing errors. No build warning appears. A design review conducted by people who do not read the language sees a slightly odd letter and moves on. The site then publishes misspelled words in a language the organisation has an obligation towards.

The response is to check, rather than assume. Verify the font contains the characters before choosing it. Self-host it so that subsetting is under your control and cannot drop a range nobody tested. Self-hosting fonts and what it changes covers the mechanism; the discipline is to look at the rendered glyph rather than at the stylesheet.

Two languages in one Wellington document

Public sector pages mix languages at the level of a heading or a phrase rather than a page, and that has a markup consequence.

A document declared as English, containing a heading in te reo, is a document a screen reader will read in an English voice - which produces something between unintelligible and disrespectful. Each fragment in another language needs its own language attribute at the point it appears.

That is not something a template can apply, because the template does not know which fields are in which language. It has to be available in the content model, which means the decision has to be made when the content type is designed rather than when the page is built. Retrofitting it means revisiting every piece of content.

Translation that is not symmetrical

The last structural point is the same one that applies to any real bilingual obligation, and it is worth stating because the usual content models fight it.

Some pages exist in both languages. Some exist in te reo only. Some have a Māori name and English content, which is normal rather than an edge case. A model that assumes every page is a translation of a counterpart forces either an empty page or a machine translation, and in this context the second is worse.

So each language gets its own set of pages, with relationships declared where one genuinely exists. The country-level ground for New Zealand - the privacy regime, data residency expectations, invoicing - is on the New Zealand market page.

Commercially

Scope fixed in writing before work starts, priced per project.

Invoiced by Codefacture Yazılım A.Ş. in Türkiye, in US dollars by bank transfer, with no Turkish VAT because exported services are exempt.

The regulatory and commercial ground for this city is on the New Zealand market page.

Frequently asked questions

Why do macrons disappear on our Wellington site?
Because the font does not contain the macronised vowels and the browser falls back for those characters alone, silently. The result is a word rendered partly in your brand font and partly in something else, or rendered without its macron entirely - and in te reo Māori that is a different word rather than a typo. The fix is to verify the font actually contains the characters before choosing it, and to self-host it so the subsetting is under your control rather than a service's.
Does a macron really change the meaning?
Yes, and that is why it matters more than it looks. Vowel length is phonemic in te reo Māori, so a macronised vowel and a plain one produce different words. Dropping it is not a styling nuance, it is a misspelling - and because it is visually subtle, it survives a design review by anybody not reading the language.
We have Māori headings and English body text on the same page. What is the right markup?
Each fragment marked with its own language rather than the page declaring one. A heading in te reo inside an otherwise English document should carry its own language attribute, which is what lets a screen reader pronounce it correctly rather than reading it as badly accented English. This is a per-element decision, which means it has to be available in the content model rather than applied by hand in a template.
With no overlap, how does the engagement run?
Written proposals and one review cycle a day. Your day finishes as ours starts, so nothing is settled in conversation - we write, your team reads and responds during their day, we act on it during ours. A scheduled call at the edges is possible and worth saving for what writing has not resolved.
Call us+1 848 272 7583WhatsApp+90 850 308 5436Emailinfo@codefacture.comContact page