Spreadsheet-UX op een echte relationele engine

main

Deze repository wordt als momentopname gepubliceerd: een clone bevat de volledige inhoud, maar geen commitgeschiedenis.

6.8 kB Ruw bestand
import type { MessageCatalog } from './entry';

/**
 * The signed-out screens: signing in, signing up, the recovery flow and the
 * other end of an invite link. Taglines are lowercase because the card sets
 * them that way.
 */
export const auth = {
  /* The sign-in card. */
  'auth.loginTagline': { en: 'every grid is a query', nl: 'elk raster is een query' },
  'auth.signIn': { en: 'Sign in', nl: 'Inloggen' },
  'auth.signingIn': { en: 'Signing in…', nl: 'Inloggen…' },
  'auth.signInLink': { en: 'Sign in', nl: 'Log in' },
  'auth.signOut': { en: 'Sign out', nl: 'Uitloggen' },
  'auth.badCredentials': {
    en: 'That email and password combination is not recognised.',
    nl: 'Die combinatie van e-mailadres en wachtwoord klopt niet.',
  },
  'auth.signInFailed': { en: 'Could not sign in.', nl: 'Inloggen is niet gelukt.' },
  'auth.forgotPassword': { en: 'Forgot your password?', nl: 'Wachtwoord vergeten?' },
  'auth.noAccountBefore': { en: 'No account yet? ', nl: 'Nog geen account? ' },
  'auth.noAccountLink': { en: 'Create a workspace', nl: 'Maak een werkruimte aan' },
  'auth.inviteOnly': {
    en: 'Accounts here are made by invitation. Ask whoever runs this installation.',
    nl: 'Accounts worden hier op uitnodiging aangemaakt. Vraag het aan degene die deze installatie beheert.',
  },

  /* The signup card. */
  'auth.signupTagline': {
    en: 'a real database that stays simple',
    nl: 'een echte database die eenvoudig blijft',
  },
  'auth.signupFailed': {
    en: 'Could not create the account.',
    nl: 'Het account kon niet worden aangemaakt.',
  },
  'auth.yourName': { en: 'Your name', nl: 'Je naam' },
  'auth.passwordRule': { en: 'At least 10 characters.', nl: 'Minstens 10 tekens.' },
  'auth.creating': { en: 'Creating…', nl: 'Aanmaken…' },
  'auth.createAccount': { en: 'Create the account', nl: 'Account aanmaken' },
  'auth.haveAccountBefore': { en: 'Already have an account? ', nl: 'Heb je al een account? ' },

  /* Asking for a reset link. */
  'auth.forgotTagline': { en: 'reset your password', nl: 'je wachtwoord herstellen' },
  'auth.forgotFailed': {
    en: 'Could not send a reset link.',
    nl: 'De herstellink kon niet worden verstuurd.',
  },
  'auth.sendResetLink': { en: 'Send a reset link', nl: 'Stuur een herstellink' },
  'auth.rememberedBefore': { en: 'Remembered it? ', nl: 'Weet je het weer? ' },
  'auth.checkEmailTagline': { en: 'check your email', nl: 'check je e-mail' },
  'auth.resetSentBefore': { en: 'If ', nl: 'Als ' },
  'auth.resetSentAfter': {
    en: ' has a Wellformed account, a reset link is on its way. It works once and expires in an hour.',
    nl: ' een Wellformed-account heeft, is er een herstellink onderweg. Die werkt één keer en verloopt na een uur.',
  },
  'auth.backToSignIn': { en: 'Back to sign in', nl: 'Terug naar inloggen' },
  'auth.askOperatorTagline': { en: 'ask the operator', nl: 'vraag het de beheerder' },
  'auth.noMailBefore': {
    en: 'This installation sends no email, so it cannot mail you a link. Whoever runs this install can issue one with ',
    nl: 'Deze installatie verstuurt geen e-mail, dus een link mailen kan niet. Degene die deze installatie beheert kan er een aanmaken met ',
  },

  /* Spending a reset link. */
  'auth.checkingLink': { en: 'checking that link…', nl: 'die link wordt gecontroleerd…' },
  'auth.linkSpentTagline': { en: 'that link is spent', nl: 'die link is al gebruikt' },
  'auth.resetLinkDead': {
    en: 'This reset link has expired or been used.',
    nl: 'Deze herstellink is verlopen of al gebruikt.',
  },
  'auth.askNewLink': { en: 'Ask for a new one', nl: 'Vraag een nieuwe aan' },
  'auth.newPasswordFor': {
    en: (email: string) => `new password for ${email}`,
    nl: (email: string) => `nieuw wachtwoord voor ${email}`,
  },
  'auth.setPasswordFailed': {
    en: 'Could not set the password.',
    nl: 'Het wachtwoord kon niet worden ingesteld.',
  },
  'auth.settingPassword': { en: 'Setting…', nl: 'Instellen…' },
  'auth.setAndSignIn': { en: 'Set it and sign in', nl: 'Instellen en inloggen' },
  'auth.resetEndsSessions': {
    en: 'Every session this account had open ends when you do this — including on whatever device made you come here.',
    nl: 'Elke sessie die dit account open had, eindigt zodra je dit doet — ook op het apparaat waardoor je hier terechtkwam.',
  },
  'auth.signedInAsOther': {
    en: (current: string, target: string) =>
      `You are signed in as ${current}. This link changes ${target}.`,
    nl: (current: string, target: string) =>
      `Je bent ingelogd als ${current}. Deze link wijzigt ${target}.`,
  },

  /* Spending a confirmation link. */
  'auth.confirming': { en: 'confirming…', nl: 'bevestigen…' },
  'auth.addressConfirmedTagline': { en: 'address confirmed', nl: 'adres bevestigd' },
  'auth.emailConfirmed': {
    en: (email: string) => `${email} is confirmed.`,
    nl: (email: string) => `${email} is bevestigd.`,
  },
  'auth.confirmLinkDead': {
    en: 'This confirmation link is no longer valid.',
    nl: 'Deze bevestigingslink is niet meer geldig.',
  },
  'auth.backToWorkspaces': { en: 'Back to your workspaces', nl: 'Terug naar je werkruimtes' },

  /* The other end of an invite link. */
  'auth.checkingInvite': {
    en: 'checking the invitation…',
    nl: 'de uitnodiging wordt gecontroleerd…',
  },
  'auth.inviteInvalidTagline': {
    en: 'this invitation is not valid',
    nl: 'deze uitnodiging is niet geldig',
  },
  'auth.inviteLinkExpired': { en: 'The link has expired.', nl: 'De link is verlopen.' },
  'auth.goToWellformed': { en: 'Go to Wellformed', nl: 'Naar Wellformed' },
  'auth.acceptFailed': {
    en: 'Could not accept the invitation.',
    nl: 'De uitnodiging kon niet worden geaccepteerd.',
  },
  'auth.joinTagline': {
    en: (workspace: string) => `join ${workspace}`,
    nl: (workspace: string) => `word lid van ${workspace}`,
  },
  'auth.invitedAsBefore': { en: 'You were invited as ', nl: 'Je bent uitgenodigd als ' },
  'auth.invitedAsMiddle': { en: ' with the ', nl: ' met de rol ' },
  'auth.invitedAsAfter': { en: ' role.', nl: '.' },
  'auth.wrongAccountBefore': { en: 'You are signed in as ', nl: 'Je bent ingelogd als ' },
  'auth.wrongAccountAfter': {
    en: '. This invitation is for someone else — sign out first, then open the link again.',
    nl: '. Deze uitnodiging is voor iemand anders — log eerst uit en open de link daarna opnieuw.',
  },
  'auth.choosePassword': { en: 'Choose a password', nl: 'Kies een wachtwoord' },
  'auth.joining': { en: 'Joining…', nl: 'Lid worden…' },
  'auth.joinWorkspace': {
    en: (workspace: string) => `Join ${workspace}`,
    nl: (workspace: string) => `Word lid van ${workspace}`,
  },
  'auth.alreadyAccountAfter': {
    en: ' already has a Wellformed account. ',
    nl: ' heeft al een Wellformed-account. ',
  },
  'auth.thenOpenAgain': {
    en: ', then open this link again.',
    nl: ' en open deze link daarna opnieuw.',
  },
} as const satisfies MessageCatalog;