/** * English UI dictionary. Every visible string in a component goes through `t()` (src/i18n/index.ts). * Placeholders use `{name}`. Keys are flat, dot-namespaced; add new sections at the end of the block * they belong to so diffs stay readable. */ import { enCompare } from './en.compare'; import { enCore } from './en.core'; import { enExplore } from './en.explore'; import { enFlagship } from './en.flagship'; import { enPlatform } from './en.platform'; export const en = { // --- site 'site.name': 'CountryAtlas', 'site.tagline': 'Explore the world through data.', 'site.description': 'The interactive data atlas of the world: 218 countries and territories, 260+ indicators, 2 million observations across economy, population, health, energy, climate and more — every number traceable to its source.', 'site.skip': 'Skip to content', 'site.licence': 'Data: World Bank, IMF, OECD, Eurostat, WHO, Our World in Data, BIS, ILO — CC BY 4.0 where applicable. Each value links to its source.', 'site.footer.made': 'CountryAtlas is an independent, non-commercial data project.', 'site.footer.sources': 'Sources', 'site.footer.methodology': 'Methodology', 'site.footer.api': 'API', 'site.footer.data': 'Data downloads', 'site.footer.about': 'About', 'site.footer.explore': 'Explore', 'site.footer.reference': 'Reference', 'site.footer.refreshed': 'Data refreshed {date}', 'site.footer.build': 'Snapshot {run}', 'site.footer.madeBy': 'Made by', 'site.footer.author': 'Simon-Pierre Boucher', 'site.footer.contact': 'contact@spboucher.ai', 'site.footer.hostedOn': 'Hosted on', 'site.footer.host': 'MacLustr', 'site.footer.credits': 'Credits', 'site.footer.changes': 'Recent changes', 'site.footer.explorePage': 'Explore', 'brand.logoAlt': 'CountryAtlas logo', 'brand.home': 'CountryAtlas — home', // --- navigation 'nav.home': 'Home', 'nav.countries': 'Countries', 'nav.compare': 'Compare', 'nav.rankings': 'Rankings', 'nav.indicators': 'Indicators', 'nav.regions': 'Regions', 'nav.data': 'Data', 'nav.search': 'Search', 'nav.menu': 'Menu', 'nav.primary': 'Primary', 'nav.close': 'Close', // --- theme 'theme.toggle': 'Toggle colour theme', 'theme.light': 'Light', 'theme.dark': 'Dark', 'theme.system': 'System', // --- search 'search.placeholder': 'Search countries, indicators, topics…', 'search.placeholder.short': 'Search…', 'search.hint': 'Type to search. ↑↓ to navigate, ↵ to open, esc to close.', 'search.recent': 'Recent', 'search.clear': 'Clear', 'search.empty': 'No results for “{q}”.', 'search.error': 'Search is unavailable right now.', 'search.loading': 'Searching…', 'search.shortcut': '⌘K', 'search.open': 'Open search', 'search.type.country': 'Country', 'search.type.indicator': 'Indicator', 'search.type.topic': 'Topic', 'search.type.region': 'Region', 'search.type.source': 'Source', 'search.results': '{n} results', 'search.start': 'Start typing to search 218 countries and 260 indicators.', // --- common 'common.noData': 'No data', 'common.other': 'Other', 'common.noDataLong': 'No data available', 'common.loading': 'Loading…', 'common.seeAll': 'See all', 'common.seeFullRanking': 'See full ranking', 'common.more': 'More', 'common.less': 'Less', 'common.compare': 'Compare', 'common.ranking': 'Ranking', 'common.download': 'Download', 'common.downloadCsv': 'Download CSV', 'common.share': 'Share', 'common.copied': 'Link copied', 'common.copyLink': 'Copy link', 'common.close': 'Close', 'common.of': 'of', 'common.and': 'and', 'common.vs': 'vs {period}', 'common.source': 'Source', 'common.retrieved': 'retrieved {date}', 'common.forecast': 'forecast', 'common.estimate': 'estimate', 'common.viewTable': 'View data as table', 'common.hideTable': 'Hide data table', 'common.showMore': 'Show {n} more', 'common.back': 'Back', 'common.year': 'Year', 'common.value': 'Value', 'common.country': 'Country', 'common.indicator': 'Indicator', 'common.period': 'Period', 'common.change': 'Change', 'common.rank': 'Rank', 'common.world': 'World', 'common.region': 'Region', 'common.income': 'Income group', 'common.all': 'All', 'common.filters': 'Filters', 'common.reset': 'Reset', 'common.apply': 'Apply', 'common.sortBy': 'Sort by', 'common.name': 'Name', 'common.population': 'Population', 'common.gdpPerCapita': 'GDP per capita', 'common.gdp': 'GDP', 'common.coverage': 'Coverage', 'common.na': '—', 'common.up': 'up', 'common.down': 'down', 'common.flat': 'unchanged', 'common.log': 'Log scale', 'common.linear': 'Linear', 'common.legend': 'Legend', 'common.why': 'Why?', 'common.openProvenance': 'Show source and provenance', 'common.new': 'New', 'common.updated': 'Updated', 'common.notBuilt': 'Data is being prepared', 'common.notBuiltHint': 'The first data snapshot is still being built. This page will fill in automatically once it is ready.', 'common.errorTitle': 'Something went wrong', 'common.errorHint': 'The data service did not respond. Try again in a moment.', 'common.retry': 'Try again', 'common.notFound': 'Page not found', 'common.notFoundHint': 'We could not find that page. Try the search, or start from the list of countries.', 'common.goHome': 'Go to the home page', 'common.browseCountries': 'Browse all countries', 'common.freshness.fresh': 'Fresh', 'common.freshness.recent': 'Recent', 'common.freshness.stale': 'Stale', 'common.freshness.updated': 'Updated {when}', 'common.status.verified': 'Verified', 'common.status.imported': 'Imported', 'common.status.warning': 'Flagged', 'common.status.stale': 'Stale', 'common.status.quarantined': 'Quarantined', 'common.byline': 'CountryAtlas', 'common.ago.now': 'just now', 'common.ago.minutes': '{n} min ago', 'common.ago.hours': '{n} h ago', 'common.ago.days': '{n} d ago', 'common.ago.months': '{n} mo ago', 'common.ago.years': '{n} y ago', // --- provenance 'prov.title': 'Provenance', 'prov.source': 'Source', 'prov.dataset': 'Dataset', 'prov.series': 'Series code', 'prov.observation': 'Observation date', 'prov.retrieved': 'Retrieved', 'prov.sourceUpdated': 'Source updated', 'prov.unit': 'Unit', 'prov.transform': 'Transformation', 'prov.methodology': 'Methodology', 'prov.licence': 'Licence', 'prov.status': 'Status', 'prov.openSource': 'Open at source', 'prov.none': 'No transformation', 'prov.indicatorPage': 'Indicator page', 'prov.value': 'Value', // --- metric 'metric.rankWorld': '{rank} of {n}', 'metric.rankRegion': '{rank} in {region}', 'metric.rankYearNote': 'Ranked among {year} values', 'metric.change': '{change} vs {period}', 'metric.history': 'History', 'metric.open': 'Open {name}', // --- chart 'chart.summary.rose': '{subject} rose from {from} in {y0} to {to} in {y1}.', 'chart.summary.fell': '{subject} fell from {from} in {y0} to {to} in {y1}.', 'chart.summary.flat': '{subject} was {from} in {y0} and {to} in {y1}.', 'chart.summary.multi': '{n} series from {y0} to {y1}: {names}.', 'chart.summary.bars': 'Ranked bars: {top} leads with {value}; {n} entries.', 'chart.summary.map': 'World map of {name} ({year}) for {n} countries, from {min} to {max}.', 'chart.summary.dna': 'Country DNA fingerprint of {name}: {dims}.', 'chart.summary.pyramid': 'Population by age group for {name}: {parts}.', 'chart.summary.scatter': 'Scatter of {y} against {x} for {n} countries.', 'chart.summary.slope': 'Change from {y0} to {y1} for {n} entries.', 'chart.noData': 'No data to chart.', 'chart.forecastNote': 'Dashed segments are projections.', 'chart.tooltipForecast': 'Projection', 'chart.legend.noData': 'No data', 'chart.map.tapHint': 'Tap a country for its value', 'chart.map.hoverHint': 'Hover a country for its value; click to open it', 'chart.map.legend': '{name}, {year}', 'chart.table.caption': 'Data table for the chart above', 'chart.download': 'Download this series', 'chart.axisYear': 'Year', // --- home 'home.hero.title': 'Explore the world through data.', 'home.hero.sub': '218 countries and territories, 260 indicators, two million observations — every number traceable to its source.', 'home.snapshot.title': 'Global snapshot', 'home.snapshot.population': 'World population', 'home.snapshot.gdp': 'World GDP', 'home.snapshot.lifeExpectancy': 'Median life expectancy', 'home.snapshot.countries': 'Countries & territories', 'home.snapshot.indicators': 'Indicators', 'home.snapshot.observations': 'Observations', 'home.snapshot.refreshed': 'Refreshed {date}', 'home.explore.title': 'Explore countries', 'home.explore.sub': 'Pick a region, or start from the map.', 'home.explore.mapTitle': 'GDP per capita, PPP', 'home.explore.allCountries': 'All countries', 'home.compare.title': 'Compare countries', 'home.compare.sub': 'Side by side across every indicator.', 'home.compare.custom': 'Build your own comparison', 'home.topics.title': 'Major topics', 'home.topics.sub': '19 topics, 260 indicators.', 'home.featured.title': 'Featured indicators', 'home.featured.sub': 'Global trends and this year’s leaders.', 'home.changes.title': 'Biggest recent changes', 'home.changes.sub': 'Detected automatically from the latest data — no editorial picks.', 'home.changes.all': 'All recent changes', 'home.rankings.economies': 'Largest economies', 'home.rankings.growth': 'Fastest population growth', 'home.rankings.life': 'Highest life expectancy', 'home.rankings.energy': 'Energy transition leaders', 'home.updated.title': 'Recently updated data', 'home.updated.sub': 'Datasets refreshed in the latest snapshot.', 'home.notBuilt': 'The first data snapshot is being built. Countries, rankings and charts appear here as soon as it is ready.', // --- countries directory 'countries.title': 'Countries', 'countries.sub': '{n} countries and territories. Filter by region or income group, sort, or jump by letter.', 'countries.search': 'Filter by name…', 'countries.count': '{n} of {total}', 'countries.noMatch': 'No country matches these filters.', 'countries.sort.name': 'Name', 'countries.sort.population': 'Population', 'countries.sort.gdp': 'GDP per capita', 'countries.sort.coverage': 'Coverage', 'countries.letterIndex': 'Jump to letter', 'countries.territory': 'Territory', 'countries.filters': 'Filters', 'countries.filtersActive': '{n} active', 'countries.populationTrend': 'Population trend', // --- country page 'country.title': '{name} Data & Statistics', 'country.description': '{name}: population, GDP, growth, inflation, unemployment, life expectancy, energy, climate and 250+ more indicators with sources.', 'country.capital': 'Capital', 'country.region': 'Region', 'country.incomeGroup': 'Income group', 'country.population': 'Population', 'country.area': 'Area', 'country.currency': 'Currency', 'country.refreshed': 'Data refreshed {date}', 'country.coverage': '{pct} coverage · {n} indicators', 'country.compare': 'Compare', 'country.compareWith': 'Compare {name} with another country', 'country.download': 'Download', 'country.downloadHint': 'Full dataset (CSV)', 'country.share': 'Share', 'country.headline.title': 'At a glance', 'country.headline.sub': 'Twelve headline indicators, latest available year.', 'country.changes.title': 'What changed in {name}', 'country.changes.sub': 'Statistically notable movements in the latest data.', 'country.changes.none': 'No notable changes detected in the latest snapshot.', 'country.similar.title': 'Countries similar to {name}', 'country.similar.sub': 'Nearest peers by standardised distance on the selected dimension.', 'country.similar.none': 'Not enough data to compute peers.', 'country.similar.mode.overall': 'Overall', 'country.similar.mode.economic': 'Economic', 'country.similar.mode.demographic': 'Demographic', 'country.similar.mode.energy': 'Energy', 'country.similar.mode.social': 'Social', 'country.similar.score': 'Similarity {score}', 'country.similar.why': 'Why these are similar', 'country.similar.contrib': '{indicator}: {a} vs {b}', 'country.dna.title': 'Country DNA', 'country.dna.sub': 'Percentile rank among all countries on nine dimensions. Descriptive, not a score.', 'country.dna.none': 'DNA not available for this country yet.', 'country.facts.title': 'Key facts', 'country.facts.sub': 'Computed from the data — no model-generated numbers.', 'country.facts.none': 'No verified insights yet.', 'country.timeline.title': 'Timeline', 'country.timeline.sub': 'Records, reversals and turning points across the whole history.', 'country.timeline.none': 'No events detected.', 'country.topics.title': 'Explore {name} by topic', 'country.topics.sub': '{n} topics · {m} indicators with data.', 'country.topics.count': '{n} indicators', 'country.topics.withData': '{n} with data', 'country.landlocked': 'Landlocked', 'country.unMember': 'UN member', 'country.borders': 'Borders', 'country.languages': 'Languages', 'country.officialName': 'Official name', 'country.similar.peerOf': 'Peers of {name}', 'country.notFound': 'Unknown country', 'country.notFoundHint': 'No country or territory matches “{slug}”. Check the spelling or browse the directory.', 'country.severity': 'Severity {n}', 'country.dna.income': 'Income', 'country.dna.demographics': 'Demographics', 'country.dna.urbanization': 'Urbanisation', 'country.dna.trade': 'Trade', 'country.dna.energy': 'Energy', 'country.dna.emissions': 'Emissions', 'country.dna.innovation': 'Innovation', 'country.dna.education': 'Education', 'country.dna.public_spending': 'Public spending', 'country.overview': 'Overview', // --- topic page 'topic.title': '{country} — {topic}', 'topic.description': '{topic} indicators for {country}: {list} and more, with full history, ranks and sources.', 'topic.noData': 'No data available ({n})', 'topic.noDataHint': 'These indicators exist in the registry but no source reports a value for {country}.', 'topic.indicators': '{n} indicators', 'topic.withData': '{n} with data', 'topic.latest': 'Latest', 'topic.rankIn': 'Rank', 'topic.history': 'Full history', 'topic.compareLink': 'Compare', 'topic.rankingLink': 'Ranking', 'topic.indicatorLink': 'Indicator page', 'topic.otherTopics': 'Other topics', 'topic.notFound': 'Unknown topic', 'topic.overview': 'Overview', 'topic.jump': 'Jump to a subtopic', 'topic.collapsedHint': 'Latest values — expand for the charts.', // --- collapsible subtopic groups (compare tabs, topic pages) 'group.count': '{n} indicators', 'group.expand': 'Show charts', 'group.collapse': 'Hide charts', 'group.jump': 'Jump to', 'group.latestCol': 'Latest', 'group.yearCol': 'Year', // --- empty state 'empty.title': 'No data for {indicator} in {country}.', 'empty.sourcesChecked': 'Sources checked: {sources}.', 'empty.generic': 'Nothing to show here yet.', // --- data table 'table.definitionList': 'Table shown as a list on small screens', 'table.sortAsc': 'Sorted ascending', 'table.sortDesc': 'Sorted descending', // --- changes / severity 'change.kind.yoy_drop': 'Sharp drop', 'change.kind.yoy_jump': 'Sharp rise', 'change.kind.record_high': 'Record high', 'change.kind.record_low': 'Record low', 'change.kind.n_year_high': '{n}-year high', 'change.kind.n_year_low': '{n}-year low', 'change.kind.sign_flip': 'Reversal', 'change.kind.accelerating': 'Accelerating', 'change.kind.decelerating': 'Decelerating', 'change.severity.high': 'Major', 'change.severity.medium': 'Notable', 'change.severity.low': 'Minor', // --- opengraph 'og.alt': '{name} — key statistics on CountryAtlas', 'og.site': 'countryatlas.co', ...enCompare, ...enExplore, ...enCore, ...enFlagship, ...enPlatform, } as const; export type DictKey = keyof typeof en;