SPB Git forge

spb/countryatlas

Public
20commits 1branches 0releases
268.3 MBsize
maindefault branch
12 days agolast push
TypeScript 57% Python 38.6% JavaScript 3.6% CSS 0.6%
13.8 KB · 258 lines typescript
Raw Blame History
1/**2 * Strings for the core-page upgrade (home 2.0, country page 2.0, compare, rankings, indicator page, regions).3 * Merged into `en.ts`. Same conventions: flat dotted keys, `{name}` placeholders. Owned by the "core" stream —4 * other streams add strings to en.flagship.ts / en.platform.ts.5 */6export const enCore = {7  // --- navigation (2.0)8  'nav.explore': 'Explore',9  'nav.changes': 'Changes',10  'nav.more': 'More',11  'nav.rank': 'Rank',12  'nav.trajectories': 'Trajectories',13  'nav.scatter': 'Scatter',14  'nav.finder': 'Finder',15  'nav.extremes': 'Extremes',16  'nav.stories': 'Stories',17  'nav.sources': 'Sources',18  'nav.api': 'API',19  'nav.downloads': 'Downloads',20  'nav.methodology': 'Methodology',21  'nav.updates': 'Data updates',22  'nav.peers': 'Above / below expected',23  'nav.moreMenu': 'More pages',2425  // --- shared controls26  'control.year': 'Year',27  'control.play': 'Play',28  'control.pause': 'Pause',29  'control.first': 'First year',30  'control.last': 'Latest year',31  'control.featured': 'Featured',32  'control.searchIndicators': 'Search indicators…',33  'control.noMatch': 'No indicator matches.',34  'control.indicator': 'Indicator',35  'control.view': 'View',36  'control.reset': 'Reset view',3738  // --- charts (shared additions)39  'chart.summary.histogram': 'Distribution of {n} countries from {min} to {max}.',40  'chart.histogram.countries': 'Countries',41  'chart.bubble.size': 'Bubble size = {name}',4243  // --- home 2.044  'home.map.title': 'Interactive world map',45  'home.map.unavailable': 'The map data for this indicator could not be loaded.',46  'home.map.world': 'World #{rank} / {n}',47  'home.map.region': '{region} #{rank} / {n}',48  'home.map.openExplorer': 'Open in World Explorer',49  'home.map.openCountry': 'Open country page',50  'home.map.history': 'History {y0}–{y1}',51  'home.map.noValue': 'No value for {year}.',52  'home.snapshot.updated': 'Data updated',53  'home.snapshot.countriesSub': 'countries & territories',54  'home.snapshot.withData': '{n} with data',55  'home.snapshot.sources': '{n} sources',56  'home.pulse.title': 'World Pulse',57  'home.pulse.sub': 'What is changing globally — computed from every country’s latest year versus the previous one.',58  'home.pulse.footnote': 'Reference year {year}; {n} countries and territories in the snapshot.',59  'home.pulse.shareLabel': '{up} countries up, {down} down',60  'home.pulse.records': '{n} record highs',61  'home.pulse.largestRise': 'Largest rise',62  'home.pulse.largestFall': 'Largest fall',63  'home.movers.title': 'Biggest movers',64  'home.movers.sub': 'The largest statistically unusual movements, detected deterministically. Pick a window, a category and a kind.',65  'home.movers.window': 'Window',66  'home.movers.window.1': '24 months',67  'home.movers.window.5': '5 years',68  'home.movers.window.10': '10 years',69  'home.movers.category': 'Category',70  'home.movers.cat.all': 'All topics',71  'home.movers.cat.economic': 'Economic',72  'home.movers.cat.demographic': 'Demographic',73  'home.movers.cat.health': 'Health',74  'home.movers.cat.energy': 'Energy',75  'home.movers.cat.climate': 'Climate',76  'home.movers.cat.digital': 'Digital',77  'home.movers.cat.housing': 'Housing',78  'home.movers.cat.labor': 'Labor',79  'home.movers.kind': 'Kind',80  'home.movers.kind.all': 'All kinds',81  'home.movers.kind.improvement': 'Fastest improvement',82  'home.movers.kind.deterioration': 'Largest deterioration',83  'home.movers.kind.increase': 'Largest increase',84  'home.movers.kind.decrease': 'Largest decrease',85  'home.movers.kind.record': 'Record breakers',86  'home.movers.kind.reversal': 'Reversals',87  'home.movers.kind.acceleration': 'Accelerations',88  'home.movers.kind.structural': 'Structural change',89  'home.movers.interp.improvement': 'improvement',90  'home.movers.interp.deterioration': 'deterioration',91  'home.movers.none': 'No movement matches these filters in the current snapshot.',92  'home.movers.extremes': 'Extremes over longer windows',93  'home.similar.title': 'Find statistical neighbours',94  'home.similar.sub': 'Pick any country to see which countries resemble it most, on each dimension.',95  'home.rankings.sub': 'Three rankings from the latest data — every indicator has one.',96  'home.trajectory.title': 'Income and longevity, every country',97  'home.trajectory.sub': 'One bubble per country, sized by population, coloured by region. Open the trajectories view to watch it move from 1960 to today.',98  'home.trajectory.stats': '{n} countries · Spearman ρ {rho} · {year}',99  'home.trajectory.open': 'Open trajectories',100  'home.updates.title': 'Latest data updates',101  'home.updates.sub': 'When each source was last imported and what changed in the current snapshot.',102  'home.updates.vintage': 'vintage {date}',103  'home.updates.counts': '{obs} obs. · {ind} indicators',104  'home.updates.changed': '{n} values changed · {c} countries',105  'home.updates.snapshot': 'Snapshot {run}, built {date}.',106  'home.updates.all': 'Freshness dashboard',107  'home.updates.status.ok': 'OK',108  'home.updates.status.partial': 'Partial',109  'home.updates.status.failed': 'Failed',110  'home.updates.status.stale': 'Stale',111  'home.updates.status.unknown': 'Unknown',112  'home.transparency.title': 'Data transparency',113  'home.transparency.sub': 'Every number on this site is traceable to source → dataset → series → retrieval date.',114  'home.transparency.obs': '{n} obs.',115  'home.transparency.text': 'CountryAtlas compiles {n} public sources into one registry of countries and indicators. A value is never mixed across sources within a series, forecasts are flagged and excluded from rankings, and unusual values are flagged rather than deleted. Click any number to open its provenance panel.',116117  // --- country 2.0118  'country.miniMap': 'Locator map of {name}',119  'country.api': 'API',120  'country.freshSplit': '{fresh} fresh · {stale} stale series',121  'country.noLandBorders': 'No land borders.',122  'country.memberOf': 'Member of',123  'country.story.title': 'How {name} changed',124  'country.story.sub': 'Long-run indicators since {since}, {n} charts. Sentences are templates filled with the numbers charted — nothing generated.',125  'country.story.none': 'Not enough long-run series to tell this story yet.',126  'country.story.peak': 'Peak {value} in {year}',127  'country.story.rank': 'Rank {r0} ({y0}) → {r1} of {n} ({y1})',128  'country.timeline.filter': 'Filter the timeline by topic',129  'country.timeline.f.all': 'All',130  'country.timeline.f.economy': 'Economy',131  'country.timeline.f.population': 'Population',132  'country.timeline.f.health': 'Health',133  'country.timeline.f.energy': 'Energy',134  'country.timeline.f.climate': 'Climate',135  'country.timeline.f.digital': 'Digital',136  'country.timeline.decade': '{d}s',137  'country.dna.ref': 'Compare against',138  'country.dna.ref.world': 'World',139  'country.dna.ref.region': 'Region',140  'country.dna.ref.income': 'Income peers',141  'country.dna.ref.country': 'Country',142  'country.dna.ref.pick': 'Pick a country…',143  'country.dna.ref.worldLabel': 'World median (50)',144  'country.dna.notScore': 'Percentile profile, not an overall country score.',145  'country.dna.dimension': 'Dimension',146  'country.similar.whySimilar': 'Why similar?',147  'country.similar.compareWith': 'Compare {a} with {b}',148  'country.similar.close.very': 'very similar',149  'country.similar.close.similar': 'similar',150  'country.similar.close.moderate': 'moderately similar',151  'country.similar.close.different': 'different',152  'metric.ownPercentile': '{p} percentile of own history since {y0}',153  'metric.ownPercentileHint': 'Share of this country’s earlier values (since {y0}) below the latest value.',154  'metric.sparkAria': '{name}, {y0}–{y1}',155  'change.kind.structural_break': 'Structural break',156  'change.kind.trend_reversal': 'Trend reversal',157  'change.kind.volatility_spike': 'Volatility spike',158159  // --- indicator 2.0160  'indicator.map.legendNote': 'Quantile classes computed over every year, so colours stay comparable while you scrub.',161  'indicator.quality.years': '{n} years with ≥ 50 countries',162  'indicator.quality.flagged': '{n} flagged values',163  'indicator.movers.title': 'Fastest movers, {y0}–{y1}',164  'indicator.movers.sub': 'Ten-year change among countries above 1 M inhabitants. Improvement follows the direction this indicator declares.',165  'indicator.movers.subNeutral': 'Ten-year change among countries above 1 M inhabitants. “Better” is not defined for this indicator: these are increases and decreases.',166  'indicator.movers.fastestImproving': 'Fastest improving',167  'indicator.movers.fastestDeclining': 'Fastest declining',168  'indicator.movers.largestIncrease': 'Largest increase',169  'indicator.movers.largestDecrease': 'Largest decrease',170  'indicator.movers.note': 'Change from {y0} to {y1}, {kind}. Computed from the same yearly values as the map.',171  'indicator.movers.relative': 'in percent of the starting value',172  'indicator.movers.absolute': 'in the indicator unit',173  'indicator.dist.section': 'Distribution across countries',174  'indicator.dist.sectionSub': 'How the world is spread: histogram of country values with the world and regional medians.',175  'indicator.dist.title': 'Country distribution, {year}',176  'indicator.dist.sub': '{n} countries · middle 80 % between {p10} and {p90}',177  'indicator.dist.worldMedian': 'World median',178  'indicator.dist.regionMedian': '{region} median',179  'indicator.dist.highlight': '{value} — {pct} percentile, rank {rank} of {n}.',180  'indicator.dist.medians': 'Medians by group',181  'indicator.dist.group': 'Group',182  'indicator.dist.n': 'n',183  'indicator.race.title': 'Historical rankings',184  'indicator.related.statTitle': 'Related indicators',185  'indicator.related.statSub': 'Indicators that move together with this one across countries (latest values). Descriptive statistics only.',186  'indicator.related.noneStat': 'Not enough overlapping countries to compute relationships.',187  'indicator.related.method': 'Cross-section of latest values around {year}, {n} candidate indicators, Spearman ρ first, pairs need ≥ 40 countries.',188  'indicator.related.positive': 'positive',189  'indicator.related.negative': 'negative',190  'indicator.related.openScatter': 'Open the scatter explorer',191  'indicator.downloads.builder': 'Dataset builder',192193  // --- regions 2.0194  'regions.compare.title': '{a} vs {b} — Group Comparison',195  'regions.compare.description': 'Compare {a} and {b}: population, GDP and share of the world economy, GDP per capita, life expectancy, CO₂, internet use, growth and inflation, with history since 1960.',196  'regions.compare.pageTitle': 'Compare groups',197  'regions.compare.heading': '{a} vs {b}',198  'regions.compare.lede': 'Two country groups side by side: aggregates computed by CountryAtlas from their members, plus their history.',199  'regions.compare.a': 'Group A',200  'regions.compare.b': 'Group B',201  'regions.compare.swap': 'Swap the two groups',202  'regions.compare.unavailable': 'One of the groups could not be resolved. Pick two groups above.',203  'regions.compare.shares': 'Share of the world',204  'regions.compare.sharesSub': 'Members’ share of world population and world GDP (sums across countries in the snapshot, latest year).',205  'regions.compare.gdpShare': 'Share of world GDP',206  'regions.compare.popShare': 'Share of world population',207  'regions.compare.table': 'Aggregates',208  'regions.compare.tableSub': 'Sum, median or population-weighted mean across members, as labelled; the year and the number of reporting members are shown under each value.',209  'regions.compare.history': 'History',210  'regions.compare.historySub': 'Aggregates year by year since 1960 (years where at least 60 % of members report).',211  'regions.compare.withOther': 'Compare with another group',212  'regions.compare.withOtherSub': 'G7 vs BRICS, EU vs USMCA, high income vs low income…',213  'regions.compare.open': 'Open the comparison',214  'region.history.title': 'Historical aggregates',215  'region.history.sub': '{name} over time: total population and GDP, population-weighted GDP per capita, median life expectancy.',216217  // --- above / below expected218  'peers.title': 'Above and below expected',219  'peers.metaTitle': 'Above / Below Expected — Countries vs the Cross-Country Relationship',220  'peers.description': 'Which countries sit above or below the fitted relationship between two indicators, e.g. life expectancy given income. Descriptive statistics, not causal claims.',221  'peers.lede': 'A robust line fitted across all countries; residuals show who sits above or below it. Descriptive statistical deviation, not a causal judgement.',222  'peers.pair': 'Relationship',223  'peers.method': 'Fit',224  'peers.method.theilSen': 'Theil–Sen (robust)',225  'peers.method.ols': 'Least squares',226  'peers.stats': '{n} countries · {year} · R² {r2}',227  'peers.fitLine': 'Fitted line',228  'peers.above': 'Above the fitted line',229  'peers.below': 'Below the fitted line',230  'peers.actualVsExpected': '{actual} vs {expected} expected',231  'peers.methodology': 'Methodology',232  'peers.disclaimer': 'Descriptive statistical deviation, not a causal judgement.',233  'peers.unavailable': 'The relationship could not be computed for this pair.',234235  // --- changes 2.0236  'changes.filteredCountry': 'Showing changes for {country}.',237  'changes.clearCountry': 'Show all countries →',238  'changes.windows.title': 'Longer windows',239  'changes.windows.nav': 'Window:',240  'changes.windows.sub': 'Five- and ten-year movements, ranked by how unusual they are across countries.',241242  // --- search 2.0243  'search.type.action': 'Go',244  'search.examples': 'Try:',245  'search.example.compare': 'compare canada usa',246  'search.example.rank': 'rank gdp',247  'search.example.indicatorCountry': 'life expectancy japan',248  'search.example.indicatorGroup': 'population africa',249250  // --- semantics251  'semantics.increase': 'Increase',252  'semantics.decrease': 'Decrease',253  'semantics.higherBetter': 'Higher is better',254  'semantics.lowerBetter': 'Lower is better',255  'semantics.noDirection': 'No inherent direction',256  'semantics.note': 'Colours show direction of change, not whether the change is desirable.',257} as const;258