i18n-timezones-data

Localized timezone name translations in 36 locales — CLDR-sourced, framework-agnostic JSON.

This repository contains the canonical translation data for timezone display names, covering 152 ActiveSupport timezones across 36 locales. The data is sourced from the Unicode CLDR and stored as flat, human-readable JSON — easy to consume from any language or framework.

Who is this for?

Data Format

Each locale is a single JSON file with flat key-value pairs — no nesting, no complex structure. Keys are ActiveSupport timezone names:

// data/de.json
{
  "International Date Line West": "Internationale Datumsgrenze (Westen)",
  "American Samoa": "Amerikanisch-Samoa",
  "Tokyo": "Tokio",
  "Eastern Time (US & Canada)": "Eastern Time (USA & Kanada)"
}

Coverage

Repository Structure

data/
  en.json             # English (reference locale)
  de.json             # German
  ja.json             # Japanese
  ...                 # 36 locale files total
scripts/
  validate.js         # Validate consistency across all locale files
data.go               # Go embed directive
go.mod                # Go module definition

Validation

Every locale file is validated to ensure:

npm run validate
# ✓ All 36 locale files validated successfully (152 keys each)

Usage

Go

import data "github.com/onomojo/i18n-timezones-data"

// data.FS is an embed.FS containing data/*.json

Ruby

Available as a gem: gem install i18n-timezones-data

Rust

Available as a crate on crates.io:

# Cargo.toml
[dependencies]
i18n-timezones = "*"

Node.js

Available as an npm package or via the higher-level i18n-timezones package.

Data Source

All translations come from the Unicode CLDR (Common Locale Data Repository) — the industry-standard source used by every major platform including iOS, Android, Chrome, and Java.

Related

License

MIT