import json var availableTranslations* {.threadvar.}: seq[string] var translations* {.threadvar.}: JsonNode proc initTranslations = # for gc-safe availableTranslations = @["en", "de"] translations = %* { "global": { "en": { "LANG": "en", "FROM": "From", "TO": "To", "VIA": "Via", "OPTIONAL": "optional", "PRODUCTS": "Products", "DEPARTURE": "Departure", "ARRIVAL": "Arrival", "DURATION": "Duration", "CHANGES": "Changes" }, "de": { "LANG": "de", "FROM": "Von", "TO": "Nach", "VIA": "Via", "OPTIONAL": "optional", "PRODUCTS": "Verkehrsmittel", "DEPARTURE": "Abfahrt", "ARRIVAL": "Ankunft", "DURATION": "Dauer", "CHANGES": "Umstiege" } }, "search": { "en": { "ISARR": "Search by Arrival", "DATE": "Date (YYYY-MM-DD)", "TIME": "Time (HH:mm)", "HIGHSPEED_TRAIN": "Log distance trains", "REGIONAL_TRAIN": "Regional trains", "SUBURBAN_TRAIN": "Suburban trains", "SUBWAY": "Subway", "TRAM": "Tram", "BUS": "Bus", "FERRY": "Ferry", "TAXI": "Taxi", "ACCESSIBILITY": "Accessibility", "ACCESSIBILITY_NONE": "none", "ACCESSIBILITY_PARTIAL": "partial", "ACCESSIBILITY_FULL": "full", "SEARCH": "Search", "LANGUAGE": "Language" }, "de": { "ISARR": "Ankunftszeit statt Abfahrtszeit", "DATE": "Datum (im Format YYYY-MM-DD)", "TIME": "Uhrzeit (im Format HH:mm)", "HIGHSPEED_TRAIN": "Fernverkehr", "REGIONAL_TRAIN": "Regionalverkehr", "SUBURBAN_TRAIN": "S-Bahn", "SUBWAY": "U-Bahn", "TRAM": "Tram", "BUS": "Bus", "FERRY": "Fähre", "TAXI": "Taxi", "ACCESSIBILITY": "Barrierefreiheit", "ACCESSIBILITY_NONE": "keine Einschränkungen", "ACCESSIBILITY_PARTIAL": "Bedingt barrierefrei", "ACCESSIBILITY_FULL": "Barrierefrei", "SEARCH": "Suchen", "LANGUAGE": "Sprache" } }, "journeys": { "en": { "BACK": "Back to search", "EARLIER": "erlier", "LATER": "later", "DETAILS": "Details" }, "de": { "BACK": "Zurück zur Suche", "EARLIER": "früher", "LATER": "später", "DETAILS": "Details" } }, "journey": { "en": { "BACK": "Back to overview", "DATE": "Date", "STATION": "Station", "PLATFORM": "Platform", "GO_TO": "Go to", "APPRX": "apprx.", "METERS": "meters", "TRAVEL_TO": "Travel to ", "CHANGE_DURATION": "to change", "CANCELLED": "cancelled!", "RELOAD": "Refresh" }, "de": { "BACK": "Zurück zur Übersicht", "DATE": "Datum", "STATION": "Station", "PLATFORM": "Gleis", "GO_TO": "Laufe nach", "APPRX": "ca.", "METERS": "Meter", "TRAVEL_TO": "Reise nach", "CHANGE_DURATION": "Umstiegszeit", "CANCELLED": "Fällt aus", "RELOAD": "Datenstand erneuern" } } } initTranslations()