---
id: "packages/active-geo/api/translator"
title: "Translator"
description: "englishGeoMessages, englishGeoTranslator, GeoTranslateFn, GeoTranslationKey and 1 more: generated from the source of active-geo."
url: "/packages/active-geo/api/translator"
locale: "en"
revision: "g0mvjxwj5c-88bdbe1c:translator"
---

# Translator

Exported by `@workspace/active-geo`. Generated from the package source; part of [the index of every export](/packages/active-geo/api).

## Functions, hooks and constants

**englishGeoMessages**: `Readonly<Record<"geo.announce.copied" \| "geo.announce.copyFailed" \| "geo.announce.deselected" \| "geo.announce.exportFailed" \| "geo.announce.exported" \| "geo.announce.fitted" \| "geo.announce.focusMoved" \| "geo.announce.highlightCleared" \| "geo.announce.highlighted" \| "geo.announce.level" \| "geo.announce.levelFailed" \| "geo.announce.selected" \| "geo.announce.targetGone" \| "geo.announce.zoom" \| "geo.card.showInTable" \| "geo.column.class" \| "geo.column.key" \| "geo.column.latitude" \| "geo.column.longitude" \| "geo.column.name" \| "geo.column.reason" \| "geo.column.reference" \| "geo.column.status" \| "geo.data.next" \| "geo.data.previous" \| "geo.data.range" \| "geo.data.title" \| "geo.empty" \| "geo.excluded.caption" \| "geo.export.hidden" \| "geo.export.selected" \| "geo.export.view" \| "geo.export.whole" \| "geo.keyboardHint" \| "geo.keyboardHintMenu" \| "geo.keyboardHintSelect" \| "geo.legend.above" \| "geo.legend.aboveRange" \| "geo.legend.atLeast" \| "geo.legend.band" \| "geo.legend.below" \| "geo.legend.clear" \| "geo.legend.exactly" \| "geo.legend.label" \| "geo.legend.range" \| "geo.legend.reference" \| "geo.legend.status" \| "geo.level.label" \| "geo.level.loading" \| "geo.menu.copyValue" \| "geo.menu.export" \| "geo.menu.exportBusy" \| "geo.menu.exportCsvAll" \| "geo.menu.exportCsvSelected" \| "geo.menu.exportPngView" \| "geo.menu.exportPngWhole" \| "geo.menu.exportSvgView" \| "geo.menu.exportSvgWhole" \| "geo.menu.hideTable" \| "geo.menu.label" \| "geo.menu.labelFor" \| "geo.menu.noValue" \| "geo.menu.noneSelected" \| "geo.menu.showTable" \| "geo.menu.svgTooLarge" \| "geo.menu.tooLarge" \| "geo.menu.valueWithheld" \| "geo.menu.zoomHere" \| "geo.menu.zoomTo" \| "geo.nav.controlsHint" \| "geo.nav.fit" \| "geo.nav.hint" \| "geo.nav.home" \| "geo.nav.keysHint" \| "geo.nav.label" \| "geo.nav.panDown" \| "geo.nav.panLeft" \| "geo.nav.panRight" \| "geo.nav.panUp" \| "geo.nav.touchHint" \| "geo.nav.wheelHint" \| "geo.nav.zoomIn" \| "geo.nav.zoomOut" \| "geo.panel.close" \| "geo.panel.count" \| "geo.panel.noResults" \| "geo.panel.notDrawn" \| "geo.panel.search" \| "geo.panel.valueRecord" \| "geo.panel.viewMissing" \| "geo.panel.views" \| "geo.reason.antimeridianUncut" \| "geo.reason.densifyLimit" \| "geo.reason.duplicateKey" \| "geo.reason.holeOutsideShell" \| "geo.reason.invalidCoordinate" \| "geo.reason.invalidKey" \| "geo.reason.latitudeOutOfRange" \| "geo.reason.longitudeOutOfRange" \| "geo.reason.missingGeometry" \| "geo.reason.missingKey" \| "geo.reason.negativeSizeValue" \| "geo.reason.nonFinitePosition" \| "geo.reason.notProjectable" \| "geo.reason.objectEmpty" \| "geo.reason.positionOutOfRange" \| "geo.reason.ringNotClosed" \| "geo.reason.ringTooShort" \| "geo.reason.ringZeroNetArea" \| "geo.reason.unsupportedGeometry" \| "geo.record.noGeometry" \| "geo.relation.band" \| "geo.relation.lower" \| "geo.relation.reference" \| "geo.relation.upper" \| "geo.status.drawn" \| "geo.status.partial" \| "geo.status.selected" \| "geo.summary" \| "geo.text.list" \| "geo.text.pair" \| "geo.value.ambiguous" \| "geo.value.invalid" \| "geo.value.missing" \| "geo.value.noRecord" \| "geo.value.suppressed", EnglishText>>`

The package's key catalogue with its English words, for a host that
writes its own translator: every key, its `{{variables}}`, and a plural
key as `one`/`other`. The keys and their variables are public contract.

**englishGeoTranslator**: `(key: GeoTranslationKey, variables?: GeoTranslationVariables) => string`

The package's English, with `{{name}}` interpolation and one/other plurals.

## Types

**GeoTranslateFn**

```ts
type GeoTranslateFn = (
  key: GeoTranslationKey,
  variables?: GeoTranslationVariables,
) => string;
```

**GeoTranslationKey**

```ts
type GeoTranslationKey = keyof typeof ENGLISH;
```

Every key the package asks for.

**GeoTranslationVariables**

```ts
type GeoTranslationVariables = Readonly<
  Record<string, string | number | undefined>
>;
```

Interpolation values; `count` also selects a plural form.
