From 2f1bd12f4a8e3044268a44cab8a8e635784fd181 Mon Sep 17 00:00:00 2001
From: Guido Jansen
Date: Tue, 15 Sep 2026 13:45:10 +0200
Subject: [PATCH] Add /verify page: trusted verifier for the Dutch community
atproto.nl is now a trusted verifier on the mu Trusted Verifier Program.
New /verify page with:
- What the checkmark means (trust signal, free, yours)
- Criteria from the mu program guidelines
- What makes an account Dutch (localness signals)
- Get verified: 4-step process + mu.social/Bluesky CTAs
- Homepage teaser section + footer link
Scope-aware: .be gets Belgian cities, .no gets Norwegian,
.eu gets the aggregate framing. EN/NL/FR/NB translations.
---
src/components/pages/HomePage.astro | 19 ++
src/components/pages/VerifyPage.astro | 225 +++++++++++++++
src/i18n/ui.ts | 377 +++++++++++++++++++++++++-
src/layouts/Base.astro | 2 +
src/pages/[...lang]/verify.astro | 10 +
5 files changed, 631 insertions(+), 2 deletions(-)
create mode 100644 src/components/pages/VerifyPage.astro
create mode 100644 src/pages/[...lang]/verify.astro
diff --git a/src/components/pages/HomePage.astro b/src/components/pages/HomePage.astro
index 6e74f04..235d635 100644
--- a/src/components/pages/HomePage.astro
+++ b/src/components/pages/HomePage.astro
@@ -205,6 +205,13 @@ const avatarMembers = members.filter((m) => m.avatar).slice(0, 24);
)}
+
+
{t('join.heading')}
{t('join.body')}
@@ -219,3 +226,15 @@ const avatarMembers = members.filter((m) => m.avatar).slice(0, 24);
+
+
diff --git a/src/components/pages/VerifyPage.astro b/src/components/pages/VerifyPage.astro
new file mode 100644
index 0000000..7b625f6
--- /dev/null
+++ b/src/components/pages/VerifyPage.astro
@@ -0,0 +1,225 @@
+---
+import Base from '../../layouts/Base.astro';
+import { useTranslations, type Lang } from '../../i18n/ui';
+import { getScope, resolveScopeId } from '../../config/scopes';
+
+const { lang } = Astro.props as { lang: Lang };
+const t = useTranslations(lang);
+const scopeId = resolveScopeId(import.meta.env.PUBLIC_SITE_SCOPE);
+const scope = getScope(scopeId);
+const isAggregate = scope.aggregate;
+const p = lang === 'en' ? '' : `/${lang}`;
+const verifyHref = `${p}/verify`;
+---
+
+
+
+ {t('verify.title')}
+ {t('verify.intro')}
+
+
+ {!isAggregate && (
+ <>
+
+ {t('verify.checkmark.h')}
+ {t('verify.checkmark.intro')}
+
+
+
{t('verify.trust.h')}
+
{t('verify.trust')}
+
+
+
{t('verify.free.h')}
+
{t('verify.free')}
+
+
+
{t('verify.yours.h')}
+
{t('verify.yours')}
+
+
+
+
+
+ {t('verify.criteria.h')}
+ {t('verify.criteria.intro')}
+
+ - {t('verify.criteria.1')}
+ - {t('verify.criteria.2')}
+ - {t('verify.criteria.3')}
+ - {t('verify.criteria.4')}
+ - {t('verify.criteria.5')}
+ - {t('verify.criteria.6')}
+ - {t('verify.criteria.7')}
+
+
+
+
+ {t('verify.dutch.h')}
+ {t('verify.dutch.intro')}
+ {t('verify.dutch.short') && (
+ {t('verify.dutch.short')}
+ )}
+
+ {t('verify.dutch.live') && - {t('verify.dutch.live')}
}
+ {t('verify.dutch.bio') && - {t('verify.dutch.bio')}
}
+ {t('verify.dutch.city') && - {t('verify.dutch.city')}
}
+ {t('verify.dutch.posts') && - {t('verify.dutch.posts')}
}
+
+
+
+
+ {t('verify.getverified.h')}
+ {t('verify.getverified.intro')}
+
+ {t('verify.step1.h') && (
+ -
+ 01
+
{t('verify.step1.h')}
+ {t('verify.step1.d')}
+
+ )}
+ {t('verify.step2.h') && (
+ -
+ 02
+
{t('verify.step2.h')}
+ {t('verify.step2.d')}
+
+ )}
+ {t('verify.step3.h') && (
+ -
+ 03
+
{t('verify.step3.h')}
+ {t('verify.step3.d')}
+
+ )}
+ {t('verify.step4.h') && (
+ -
+ 04
+
{t('verify.step4.h')}
+ {t('verify.step4.d')}
+
+ )}
+
+
+ {t('verify.mu')}
+ {t('verify.bsky')}
+
+
+
+ {t('verify.who.intro') && (
+
+ {t('verify.who.h')}
+ {t('verify.who.intro')}
+
+ )}
+
+ {t('verify.bigger.intro') && (
+
+ )}
+ >
+ )}
+
+ {isAggregate && (
+ <>
+
+ {t('verify.dutch.h')}
+ {t('verify.dutch.intro')}
+
+
+
+
+
+ >
+ )}
+
+
+
diff --git a/src/i18n/ui.ts b/src/i18n/ui.ts
index a17ebad..a1d9c9d 100644
--- a/src/i18n/ui.ts
+++ b/src/i18n/ui.ts
@@ -161,6 +161,64 @@ export const ui = {
'A wider, modelled figure: the share of posts across Bluesky that are Dutch, scaled to all accounts and to the roughly two thirds of Dutch speakers who live in the Netherlands. It moves as the model updates, so we keep it separate from the confirmed floor.',
'statsPage.estimate.method': 'How we estimate this',
'statsPage.updated': 'Last updated',
+ 'nav.verify': 'Verify',
+ 'verify.title': 'Get verified',
+ 'verify.intro':
+ 'atproto.nl is a trusted community verifier for the Netherlands. We verify accounts that clearly belong to the Dutch AT Protocol community, so people can tell who is genuinely local.',
+ 'verify.checkmark.h': 'What the checkmark means',
+ 'verify.checkmark.intro':
+ 'On the open AT Protocol, no single company hands out verification. Trusted community verifiers do. We are one of them.',
+ 'verify.trust.h': 'A trust signal, not an endorsement',
+ 'verify.trust': 'We vouch that you are really you and really local, not for everything you post.',
+ 'verify.free.h': 'Always free',
+ 'verify.free': 'Verification is never paid for. It cannot be bought, only earned by being genuine.',
+ 'verify.yours.h': 'Yours to keep',
+ 'verify.yours':
+ 'The signal is written to your account on your own data (your PDS), so any app on the network can read it.',
+ 'verify.dutch.h': 'What makes an account Dutch?',
+ 'verify.dutch.intro':
+ 'We are not gatekeepers and there is no exam. We just look for clear, honest signs that you are part of life in the Netherlands. Any mix of these usually does it:',
+ 'verify.dutch.short':
+ 'In short: if a Dutch person read your profile and thought "yep, one of us" you are in.',
+ 'verify.dutch.live': 'You live in the Netherlands',
+ 'verify.dutch.bio':
+ 'Your name or bio says Nederlands, Dutch, Nederlandse, or flies the Dutch flag',
+ 'verify.dutch.city':
+ 'A Dutch city or workplace is in your profile: Amsterdam, Rotterdam, Utrecht, Eindhoven, Groningen, The Hague, Haarlem, Nijmegen, Tilburg, Almere...',
+ 'verify.dutch.posts':
+ 'Your posts are rooted here: resharing Dutch media, or talking about something that happened in your street, your neighbourhood, your club',
+ 'verify.getverified.h': 'Want the checkmark? Just ask.',
+ 'verify.getverified.intro': 'It is free, and it is done by real people. Four steps:',
+ 'verify.step1.h': 'Make your roots visible',
+ 'verify.step1.d':
+ 'A .nl handle, a Dutch flag, your city, your club: anything that makes your Dutch side clear.',
+ 'verify.step2.h': 'Ping us',
+ 'verify.step2.d': 'Mention or DM @atproto.nl on Bluesky or mu.social.',
+ 'verify.step3.h': 'We take a look',
+ 'verify.step3.d':
+ 'We read your profile and timeline for clear signs you belong to the Dutch AT Protocol community.',
+ 'verify.step4.h': 'You get verified',
+ 'verify.step4.d': 'If it is a clear yes, we add the checkmark. Welcome to the community.',
+ 'verify.mu': 'Message us on mu',
+ 'verify.bsky': 'Or on Bluesky',
+ 'verify.who.h': 'A volunteer collective, based in the Netherlands',
+ 'verify.who.intro':
+ 'We are AT Protocol enthusiasts who live and work in the Netherlands. No company, no agenda: just people who want the Dutch corner of the open social web to be a good, trustworthy place to be.',
+ 'verify.bigger.h': 'We are not the only verifiers',
+ 'verify.bigger.intro':
+ 'Community verification is a network of trusted verifiers, each vouching for the community it knows best. If you belong to another community, there may already be a verifier for you.',
+ 'verify.bigger.link': 'Read the verification principles',
+ 'verify.cta.teaser': 'atproto.nl is now a trusted verifier for the Dutch community',
+ 'verify.cta.teaser.btn': 'Get verified',
+ 'verify.criteria.h': 'What we check',
+ 'verify.criteria.intro': 'The criteria are simple:',
+ 'verify.criteria.1': 'The account is who they claim to be',
+ 'verify.criteria.2': 'Verification is done by a credible organization, group or network that has the information needed to know that the account is who they claim to be',
+ 'verify.criteria.3': 'We can verify our own accounts and staff',
+ 'verify.criteria.4': 'Beyond that, we focus on areas and sectors where we have expertise, for example the Dutch AT Protocol community',
+ 'verify.criteria.5': 'We can also verify accounts of people or organizations we know personally outside these areas',
+ 'verify.criteria.6': 'We are not responsible for what verified accounts do or say, but if we become aware of a verified account being compromised we report it to Eurosky',
+ 'verify.criteria.7': 'No minimum follower number or public profile criteria required',
},
nl: {
'site.title': '{siteName}',
@@ -307,6 +365,64 @@ export const ui = {
'Een breder, gemodelleerd getal: het aandeel Nederlandstalige posts op Bluesky, geschaald naar alle accounts en naar de ongeveer twee derde van de Nederlandstaligen die in Nederland woont. Het schommelt mee met het model, dus we houden het los van de bevestigde ondergrens.',
'statsPage.estimate.method': 'Hoe we dit schatten',
'statsPage.updated': 'Laatst bijgewerkt',
+ 'nav.verify': 'Verifiëren',
+ 'verify.title': 'Geverifieerd worden',
+ 'verify.intro':
+ 'atproto.nl is een vertrouwde community-verifier voor Nederland. We verifiëren accounts die duidelijk bij de Nederlandse AT Protocol-community horen, zodat mensen kunnen zien wie hier echt zit.',
+ 'verify.checkmark.h': 'Wat het vinkje betekent',
+ 'verify.checkmark.intro':
+ 'Op het open AT Protocol deelt geen enkel bedrijf verificaties uit. Vertrouwde community-verifiers doen dat. Wij zijn er daar een van.',
+ 'verify.trust.h': 'Een vertrouwssignaal, geen goedkeuring',
+ 'verify.trust': 'We bevestigen dat jij echt jij bent en echt hier zit, niet alles wat je post.',
+ 'verify.free.h': 'Altijd gratis',
+ 'verify.free': 'Verificatie wordt nooit verkocht. Je kunt het niet kopen, alleen verdienen door echt te zijn.',
+ 'verify.yours.h': 'Van jou',
+ 'verify.yours':
+ 'Het signaal staat op je eigen account, in je eigen data (je PDS), zodat elke app op het netwerk het kan lezen.',
+ 'verify.dutch.h': 'Wat maakt een account Nederlands?',
+ 'verify.dutch.intro':
+ 'We zijn geen poortwachters en er is geen examen. We zoeken gewoon naar duidelijke, eerlijke signalen dat je deel uitmaakt van het leven in Nederland. Een mix van deze is meestal genoeg:',
+ 'verify.dutch.short':
+ 'Kort gezegd: als een Nederlander je profiel leest en denkt "ja, een van ons" dan hoor je erbij.',
+ 'verify.dutch.live': 'Je woont in Nederland',
+ 'verify.dutch.bio':
+ 'Je naam of bio zegt Nederlands, Dutch, Nederlandse, of toont de Nederlandse vlag',
+ 'verify.dutch.city':
+ 'Een Nederlandse stad of werkplek staat in je profiel: Amsterdam, Rotterdam, Utrecht, Eindhoven, Groningen, Den Haag, Haarlem, Nijmegen, Tilburg, Almere...',
+ 'verify.dutch.posts':
+ 'Je posts zijn hier geworteld: Nederlandse media delen, of praten over iets dat in jouw straat, je buurt of je club gebeurde',
+ 'verify.getverified.h': 'Wil je het vinkje? Vraag het gewoon.',
+ 'verify.getverified.intro': 'Het is gratis en wordt door echte mensen gedaan. Vier stappen:',
+ 'verify.step1.h': 'Maak je roots zichtbaar',
+ 'verify.step1.d':
+ 'Een .nl-handle, de Nederlandse vlag, je stad, je club: alles wat je Nederlandse kant duidelijk maakt.',
+ 'verify.step2.h': 'Stuur ons een bericht',
+ 'verify.step2.d': 'Noem of DM @atproto.nl op Bluesky of mu.social.',
+ 'verify.step3.h': 'We kijken mee',
+ 'verify.step3.d':
+ 'We lezen je profiel en tijdlijn op zoek naar duidelijke signalen dat je bij de Nederlandse AT Protocol-community hoort.',
+ 'verify.step4.h': 'Je bent geverifieerd',
+ 'verify.step4.d': 'Als het een duidelijk ja is, zetten we het vinkje erbij. Welkom in de community.',
+ 'verify.mu': 'Stuur ons een bericht op mu',
+ 'verify.bsky': 'Of op Bluesky',
+ 'verify.who.h': 'Een vrijwilligerscollectief, gevestigd in Nederland',
+ 'verify.who.intro':
+ 'We zijn AT Protocol-enthousiastelingen die in en rond Nederland leven en werken. Geen bedrijf, geen agenda: gewoon mensen die willen dat de Nederlandse hoek van het open sociale web een goede, betrouwbare plek is.',
+ 'verify.bigger.h': 'We zijn niet de enige verifiers',
+ 'verify.bigger.intro':
+ 'Community-verificatie is een netwerk van vertrouwde verifiers, die elk vouchen voor de community die ze het beste kennen. Als je bij een andere community hoort, is er misschien al een verifier voor jou.',
+ 'verify.bigger.link': 'Lees de verificatie-principes',
+ 'verify.cta.teaser': 'atproto.nl is nu een vertrouwde verifier voor de Nederlandse community',
+ 'verify.cta.teaser.btn': 'Word geverifieerd',
+ 'verify.criteria.h': 'Wat we controleren',
+ 'verify.criteria.intro': 'De criteria zijn simpel:',
+ 'verify.criteria.1': 'Het account is wie het zegt dat het is',
+ 'verify.criteria.2': 'Verificatie wordt gedaan door een geloofwaardige organisatie, groep of netwerk dat de informatie heeft om te weten dat het account is wie het zegt dat het is',
+ 'verify.criteria.3': 'We kunnen onze eigen accounts en medewerkers verifiëren',
+ 'verify.criteria.4': 'Daarbuiten richten we ons op gebieden en sectoren waar we expertise in hebben, bijvoorbeeld de Nederlandse AT Protocol-community',
+ 'verify.criteria.5': 'We kunnen ook accounts verifiëren van mensen of organisaties die we persoonlijk kennen buiten deze gebieden',
+ 'verify.criteria.6': 'We zijn niet verantwoordelijk voor wat geverifieerde accounts doen of zeggen, maar als we merken dat een geverifieerd account gecompromitteerd is, melden we dat bij Eurosky',
+ 'verify.criteria.7': 'Geen minimum aantal volgers of publiek profiel vereist',
},
fr: {
'site.title': '{siteName}',
@@ -453,6 +569,64 @@ export const ui = {
"Un chiffre plus large et modélisé : la part des publications en néerlandais sur Bluesky, rapportée à l'ensemble des comptes puis aux quelque deux tiers des néerlandophones qui vivent aux Pays-Bas. Il fluctue avec le modèle, nous le gardons donc à part du plancher confirmé.",
'statsPage.estimate.method': 'Comment nous estimons cela',
'statsPage.updated': 'Dernière mise à jour',
+ 'nav.verify': 'Vérifier',
+ 'verify.title': 'Être vérifié',
+ 'verify.intro':
+ 'atproto.nl est un vérificateur communautaire de confiance pour les Pays-Bas. Nous vérifions les comptes qui appartiennent clairement à la communauté AT Protocol néerlandaise, pour que chacun puisse distinguer qui est vraiment d ici.',
+ 'verify.checkmark.h': 'Ce que signifie la coche',
+ 'verify.checkmark.intro':
+ 'Sur le protocole AT ouvert, aucune entreprise ne délivre la vérification. Des vérificateurs communautaires de confiance le font. Nous en sommes un.',
+ 'verify.trust.h': 'Un signal de confiance, pas une approbation',
+ 'verify.trust': 'Nous attestons que vous êtes vraiment vous et vraiment d ici, pas de tout ce que vous publiez.',
+ 'verify.free.h': 'Toujours gratuit',
+ 'verify.free': 'La vérification n est jamais payante. Elle ne s achète pas, elle se gagne en étant authentique.',
+ 'verify.yours.h': 'À vous',
+ 'verify.yours':
+ 'Le signal est écrit sur votre compte, dans vos propres données (votre PDS), pour que n importe quelle application sur le réseau puisse le lire.',
+ 'verify.dutch.h': 'Qu est-ce qui rend un compte néerlandais?',
+ 'verify.dutch.intro':
+ 'Nous ne sommes pas des gardiens et il n y a pas d examen. Nous cherchons simplement des signaux clairs et honnêtes que vous faites partie de la vie aux Pays-Bas. Une combinaison de ceux-ci suffit généralement:',
+ 'verify.dutch.short':
+ 'En bref: si un Néerlandais lisait votre profil et pensait « oui, un des nôtres », vous êtes dans la communauté.',
+ 'verify.dutch.live': 'Vous vivez aux Pays-Bas',
+ 'verify.dutch.bio':
+ 'Votre nom ou bio dit Nederlands, Dutch, Nederlandse, ou affiche le drapeau néerlandais',
+ 'verify.dutch.city':
+ 'Une ville ou un lieu de travail néerlandais figure dans votre profil: Amsterdam, Rotterdam, Utrecht, Eindhoven, Groningen, La Haye, Haarlem, Nijmegen, Tilburg, Almere...',
+ 'verify.dutch.posts':
+ 'Vos publications sont ancrées ici: partager des médias néerlandais, ou parler de quelque chose qui s est passé dans votre rue, votre quartier, votre club',
+ 'verify.getverified.h': 'Vous voulez la coche? Demandez-la.',
+ 'verify.getverified.intro': 'C est gratuit, et fait par de vraies personnes. Quatre étapes:',
+ 'verify.step1.h': 'Rendez vos racines visibles',
+ 'verify.step1.d':
+ 'Un handle en .nl, le drapeau néerlandais, votre ville, votre club: tout ce qui rend votre côté néerlandais clair.',
+ 'verify.step2.h': 'Contactez-nous',
+ 'verify.step2.d': 'Mentionnez ou DM @atproto.nl sur Bluesky ou mu.social.',
+ 'verify.step3.h': 'Nous regardons',
+ 'verify.step3.d':
+ 'Nous lisons votre profil et votre fil pour des signaux clairs que vous appartenez à la communauté AT Protocol néerlandaise.',
+ 'verify.step4.h': 'Vous êtes vérifié',
+ 'verify.step4.d': 'Si c est un oui clair, nous ajoutons la coche. Bienvenue dans la communauté.',
+ 'verify.mu': 'Envoyez-nous un message sur mu',
+ 'verify.bsky': 'Ou sur Bluesky',
+ 'verify.who.h': 'Un collectif de bénévoles, basé aux Pays-Bas',
+ 'verify.who.intro':
+ 'Nous sommes des passionnés d AT Protocol qui vivent et travaillent aux Pays-Bas. Pas d entreprise, pas d agenda: des personnes qui veulent que le coin néerlandais du web social ouvert soit un endroit bon et fiable.',
+ 'verify.bigger.h': 'Nous ne sommes pas les seuls vérificateurs',
+ 'verify.bigger.intro':
+ 'La vérification communautaire est un réseau de vérificateurs de confiance, chacun répondant de la communauté qu il connaît le mieux. Si vous appartenez à une autre communauté, il y a peut-être déjà un vérificateur pour vous.',
+ 'verify.bigger.link': 'Lire les principes de vérification',
+ 'verify.cta.teaser': 'atproto.nl est désormais un vérificateur de confiance pour la communauté néerlandaise',
+ 'verify.cta.teaser.btn': 'Être vérifié',
+ 'verify.criteria.h': 'Ce que nous vérifions',
+ 'verify.criteria.intro': 'Les critères sont simples:',
+ 'verify.criteria.1': 'Le compte est bien celui qu il prétend être',
+ 'verify.criteria.2': 'La vérification est effectuée par une organisation, un groupe ou un réseau crédible qui dispose des informations nécessaires pour savoir que le compte est bien celui qu il prétend être',
+ 'verify.criteria.3': 'Nous pouvons vérifier nos propres comptes et notre personnel',
+ 'verify.criteria.4': 'Au-delà, nous nous concentrons sur les domaines et secteurs où nous avons une expertise, par exemple la communauté AT Protocol néerlandaise',
+ 'verify.criteria.5': 'Nous pouvons également vérifier les comptes de personnes ou d organisations que nous connaissons personnellement en dehors de ces domaines',
+ 'verify.criteria.6': 'Nous ne sommes pas responsables de ce que les comptes vérifiés font ou disent, mais si nous apprenons qu un compte vérifié est compromis, nous le signalons à Eurosky',
+ 'verify.criteria.7': 'Aucun nombre minimum d abonnés ou de profil public requis',
},
nb: {
'site.title': '{siteName}',
@@ -581,8 +755,66 @@ export const ui = {
'statsPage.estimate.h': 'Aktivitetsanslag',
'statsPage.estimate.note': 'Et bredere, modellert tall: andelen poster på Bluesky som er på nederlandsk, skalert til alle kontoer og til omtrent to tredjedeler av nederlandsktalende som bor i Nederland. Det endrer seg med modellen, så vi holder det adskilt fra det bekreftede gulvet.',
'statsPage.estimate.method': 'Hvordan vi anslår dette',
- 'statsPage.updated': 'Sist oppdatert',
-},
+ 'statsPage.updated': 'Sist oppdatert',
+ 'nav.verify': 'Verifiser',
+ 'verify.title': 'Bli verifisert',
+ 'verify.intro':
+ 'atproto.nl er en betrodd fellesskapsverifikator for Nederland. Vi verifiserer kontoer som klart hører til det nederlandske AT Protocol-miljøet, slik at folk kan se hvem som faktisk er herfra.',
+ 'verify.checkmark.h': 'Hva verifiseringsmerket betyr',
+ 'verify.checkmark.intro':
+ 'På det åpne AT-protokollen deler ingen enkeltbedrift ut verifisering. Betrodde fellesskapsverifikatorer gjør det. Vi er en av dem.',
+ 'verify.trust.h': 'Et tillitssignal, ikke en anbefaling',
+ 'verify.trust': 'Vi bekrefter at du virkelig er deg og virkelig er herfra, ikke alt du poster.',
+ 'verify.free.h': 'Alltid gratis',
+ 'verify.free': 'Verifisering betales aldri. Det kan ikke kjøpes, bare tjenes ved å være ekte.',
+ 'verify.yours.h': 'Ditt eget',
+ 'verify.yours':
+ 'Signalet skrives til kontoen din i dine egne data (din PDS), slik at enhver app på nettverket kan lese det.',
+ 'verify.dutch.h': 'Hva gjør en konto nederlandsk?',
+ 'verify.dutch.intro':
+ 'Vi er ikke portvakter og det er ingen prøve. Vi ser bare etter klare, ærlige signaler om at du er en del av livet i Nederland. En blanding av disse er som regel nok:',
+ 'verify.dutch.short':
+ 'Kort sagt: hvis en nederlender leste profilen din og tenkte «ja, en av oss» er du i miljøet.',
+ 'verify.dutch.live': 'Du bor i Nederland',
+ 'verify.dutch.bio':
+ 'Navnet eller bioen din sier Nederlands, Dutch, Nederlandse, eller viser det nederlandske flagget',
+ 'verify.dutch.city':
+ 'En nederlandsk by eller arbeidsplass står i profilen din: Amsterdam, Rotterdam, Utrecht, Eindhoven, Groningen, Haag, Haarlem, Nijmegen, Tilburg, Almere...',
+ 'verify.dutch.posts':
+ 'Innleggene dine er forankret her: deler nederlandsk media, eller snakker om noe som skjedde i gata di, nabolaget ditt, klubben din',
+ 'verify.getverified.h': 'Vil du ha merket? Bare spør.',
+ 'verify.getverified.intro': 'Det er gratis, og det gjøres av ekte mennesker. Fire trinn:',
+ 'verify.step1.h': 'Gjør røttene dine synlige',
+ 'verify.step1.d':
+ 'Et .nl-handle, det nederlandske flagget, byen din, klubben din: alt som gjør den nederlandske siden din tydelig.',
+ 'verify.step2.h': 'Send oss en melding',
+ 'verify.step2.d': 'Nevn eller DM @atproto.nl på Bluesky eller mu.social.',
+ 'verify.step3.h': 'Vi tar en titt',
+ 'verify.step3.d':
+ 'Vi leser profilen og tidslinjen din etter tydelige signaler om at du hører til det nederlandske AT Protocol-miljøet.',
+ 'verify.step4.h': 'Du er verifisert',
+ 'verify.step4.d': 'Hvis det er et tydelig ja, legger vi til merket. Velkommen til miljøet.',
+ 'verify.mu': 'Send oss en melding på mu',
+ 'verify.bsky': 'Eller på Bluesky',
+ 'verify.who.h': 'Et frivillig kollektiv, basert i Nederland',
+ 'verify.who.intro':
+ 'Vi er AT Protocol-entusiaster som bor og jobber i Nederland. Ingen bedrift, ingen agenda: bare folk som vil at det nederlandske hjørnet av det åpne sosiale nettet skal være et bra, betrodd sted å være.',
+ 'verify.bigger.h': 'Vi er ikke de eneste verifikatorene',
+ 'verify.bigger.intro':
+ 'Fellesskapsverifisering er et nettverk av betrodde verifikatorer, som hver står for miljøet de kjenner best. Hvis du hører til et annet miljø, finnes det kanskje allerede en verifikator for deg.',
+ 'verify.bigger.link': 'Les verifiseringsprinsippene',
+ 'verify.cta.teaser': 'atproto.nl er nå en betrodd verifikator for det nederlandske miljøet',
+ 'verify.cta.teaser.btn': 'Bli verifisert',
+ 'verify.criteria.h': 'Hva vi sjekker',
+ 'verify.criteria.intro': 'Kriteriene er enkle:',
+ 'verify.criteria.1': 'Kontoen er den den påstår å være',
+ 'verify.criteria.2': 'Verifisering gjøres av en troverdig organisasjon, gruppe eller nettverk som har informasjonen som trengs for å vite at kontoen er den den påstår å være',
+ 'verify.criteria.3': 'Vi kan verifisere våre egne kontoer og ansatte',
+ 'verify.criteria.4': 'Utover det fokuserer vi på områder og sektorer der vi har ekspertise, for eksempel det nederlandske AT Protocol-miljøet',
+ 'verify.criteria.5': 'Vi kan også verifisere kontoer til personer eller organisasjoner vi kjenner personlig utenfor disse områdene',
+ 'verify.criteria.6': 'Vi er ikke ansvarlige for hva verifiserte kontoer gjør eller sier, men hvis vi blir oppmerksomme på at en verifisert konto er kompromittert, rapporterer vi det til Eurosky',
+ 'verify.criteria.7': 'Ingen minimumsantal følgere eller offentlig profil kreves',
+ },
} as const;
export type Lang = keyof typeof ui;
@@ -619,6 +851,29 @@ const uiByScope: Partial{t('footer.follow')}
{t('footer.chat')}
{t('nav.about')}
+ {t('nav.verify')}
{t('footer.goEu')}
{t('footer.privacy')}
{t('footer.terms')}
diff --git a/src/pages/[...lang]/verify.astro b/src/pages/[...lang]/verify.astro
new file mode 100644
index 0000000..e925c09
--- /dev/null
+++ b/src/pages/[...lang]/verify.astro
@@ -0,0 +1,10 @@
+---
+import VerifyPage from '../../components/pages/VerifyPage.astro';
+import { localePaths } from '../../i18n/paths';
+
+export const getStaticPaths = localePaths;
+
+const { lang } = Astro.props;
+---
+
+
--
knotmirror 0.0.1