tilfluktsrom/pwa/src/i18n/en.ts
Ole-Morten Duesund 3d6f8f362e Stabile djuplenker og fleire bruksforbetringar
- Bytt djuplenkjenøkkel frå lokalId til romnr fordi Geonorge
  regenererer lokalId-UUID-en på kvar eksport (556/556 endra på sju
  dagar), medan romnr er DSB sin stabile rom-nummer-nøkkel. Dokumentert
  i ARCHITECTURE.md.
- PWA: ny del-knapp som genererer same HTTPS-djuplenke som Android-appen
  (Web Share API med utklippstavle-fallback).
- PWA: vald tilfluktsrom overlever no posisjonsoppdateringar og
  manuell dataoppdatering — sporast på romnr i staden for lista.
- Android: kart-bufferspørsmålet dukkar berre opp éin gong per økt
  ("Hopp over" sit), og forceRefresh viser lasteoverlegg + hindrar
  samtidige refresh-kall.
- i18n.ts: vakta DOM-skriving slik at vitest køyrer utan jsdom.
- Oppdatert pakka tilfluktsromdata frå Geonorge.

Refs #15

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 16:11:28 +02:00

100 lines
5 KiB
TypeScript

/** English strings — default locale. Ported from res/values/strings.xml. */
export const en: Record<string, string> = {
app_name: 'Tilfluktsrom',
// Status
status_ready: 'Ready',
status_loading: 'Loading shelter data\u2026',
status_updating: 'Updating\u2026',
status_offline: 'Offline mode',
status_shelters_loaded: '%d shelters loaded',
status_no_location: 'Waiting for GPS\u2026',
status_caching_map: 'Caching map for offline use\u2026',
// Loading
loading_shelters: 'Downloading shelter data\u2026',
loading_map: 'Caching map tiles\u2026',
loading_map_explanation:
'Preparing offline map.\nThe map will scroll briefly to cache your surroundings.',
loading_first_time: 'Setting up for first use\u2026',
// Shelter info
shelter_capacity: '%d places',
shelter_room_nr: 'Room %d',
nearest_shelter: 'Nearest shelter',
no_shelters: 'No shelter data available',
// Actions
action_refresh: 'Refresh data',
action_toggle_view: 'Toggle map/compass view',
action_skip: 'Skip',
action_cache_ok: 'Cache map',
action_cache_now: 'Cache now',
action_share: 'Share shelter',
share_subject: 'Emergency shelter',
share_no_shelter: 'No shelter selected',
share_copied: 'Shelter details copied to clipboard',
warning_no_map_cache: 'No offline map cached. Map requires internet.',
// Permissions
permission_location_title: 'Location permission required',
permission_location_message:
'This app needs your location to find the nearest shelter. Please grant location access.',
permission_denied:
'Location permission denied. The app cannot find nearby shelters without it.',
// Errors
error_download_failed:
'Could not download shelter data. Check your internet connection.',
error_no_data_offline:
'No cached data available. Connect to the internet to download shelter data.',
update_success: 'Shelter data updated',
update_failed: 'Update failed \u2014 using cached data',
error_shelter_not_found: 'Shelter not found',
compass_permission_denied:
'Compass access denied. You can still use the map to find shelters.',
ios_install_hint:
'Add Tilfluktsrom to your home screen for offline access: tap Share, then Add to Home Screen.',
// Accessibility
direction_arrow_description: 'Direction to shelter, %s away',
a11y_map: 'Map',
a11y_compass: 'Compass',
a11y_shelter_info: 'Shelter info',
a11y_nearest_shelters: 'Nearest shelters',
// Civil defense
action_civil_defense_info: 'Civil defense information',
civil_defense_title: 'What to do if the alarm sounds',
civil_defense_step1_title: '1. Important message signal',
civil_defense_step1_body: 'Three series of short blasts with one minute of silence between each series. This means: seek information immediately. Turn on DAB radio, TV, or check official sources online.',
civil_defense_step2_title: '2. Air raid alarm',
civil_defense_step2_body: 'Short blasts lasting approximately one minute. This means immediate danger of attack — seek shelter now. Go to the nearest shelter, basement, or inner room immediately.',
civil_defense_step3_title: '3. Go indoors and find shelter',
civil_defense_step3_body: 'Get indoors. Close all windows, doors, and ventilation openings. Use this app to find the nearest public shelter. The compass and map work offline. If no shelter is nearby, go to a basement or an inner room away from windows.',
civil_defense_step4_title: '4. Listen to NRK on DAB radio',
civil_defense_step4_body: 'Tune in to NRK P1 on DAB radio for official updates and instructions from authorities. DAB radio works even when mobile networks and the internet are down.',
civil_defense_step5_title: '5. All clear',
civil_defense_step5_body: 'One continuous tone lasting approximately 30 seconds. The danger or attack is over. Continue to follow instructions from authorities.',
civil_defense_source: 'Source: DSB (Norwegian Directorate for Civil Protection)',
// About
about_title: 'About Tilfluktsrom',
about_description:
'Tilfluktsrom helps you find the nearest public shelter in Norway. The app works offline after initial setup.',
about_privacy_title: 'Privacy',
about_privacy_body:
'This app does not collect, transmit, or share any personal data. There are no analytics, tracking, or third-party services. Your GPS location is used only on your device to find nearby shelters and is never sent to any server.',
about_data_title: 'Data sources',
about_data_body:
'Shelter data: DSB (Norwegian Directorate for Civil Protection), distributed via Geonorge. Map tiles: OpenStreetMap. Both are cached locally for offline use.',
about_stored_title: 'Stored on your device',
about_stored_body:
'Shelter database (public data), map tiles for offline use, and map cache metadata. No data leaves your device except requests to download shelter data and map tiles.',
about_copyright: 'Copyright © Ole-Morten Duesund',
about_open_source: 'Open source — kode.naiv.no/olemd/tilfluktsrom',
action_about: 'About',
action_close: 'Close',
action_clear_cache: 'Clear cached data',
cache_cleared: 'All cached data cleared',
};