What is a key?
A translation key is a unique identifier that represents a single translatable string. Every piece of text your application displays — a button label, an error message, a page title — is represented by a key. A key has:| Property | Description | Example |
|---|---|---|
| Name | Unique identifier within the namespace | button.save, error.not_found |
| Source value | The original string in your source language | "Save changes" |
| Description | Optional context for translators | "Appears on the save button in the editor" |
| Tags | Optional labels for filtering | ui, cta, marketing |
| Namespace | The group this key belongs to | common, auth, settings |
Key naming conventions
Key names can follow any convention, but these patterns work well in practice:- Flat (snake_case)
- Dot notation
- Section prefix
Simple underscore-separated names. Works best with
json-flat format.What is a namespace?
A namespace is a named group of related keys. Namespaces let you partition your translations by feature, page, or team — keeping large projects manageable. Common namespace strategies:- By feature:
auth,editor,settings,billing,onboarding - By page:
home,dashboard,profile,checkout - By file: one namespace per locale file
Namespaces and file patterns
In your.nt3.yml, each file pattern corresponds to a namespace. The {namespace} placeholder (when used) maps the file path directly to the namespace name:
src/locales/en/auth.json belongs to the auth namespace, and src/locales/en/common.json belongs to the common namespace.
Alternatively, you can list each namespace as a separate pattern:
Key uniqueness
Keys are unique within a namespace. The same key name can exist in different namespaces without conflict. For example, bothauth and settings can have a key named title — they are distinct keys because they live in different namespaces.
A key is globally identified by the combination of project + namespace + key name.
Using descriptions and tags
Descriptions
Add a description to give translators the context they need to produce accurate translations:Tags
Tags allow you to filter and bulk-operate on related keys:- Tag all marketing copy with
marketingto batch-translate with a specific tone - Tag UI strings with
uito export only interface translations - Tag strings pending legal review with
legal-review
Importing keys
When you runnt3 push, the CLI reads your source locale file and creates or updates keys in Entri. By default, existing keys are not overwritten — use --overwrite to replace source values and metadata.