Strings: Remove DATE_WALLCLOCK_* string codes, add TT_TIME

pull/661/head
Jonathan G Rennison 4 months ago
parent 7ce06e22b8
commit e98d9a1d1d

@ -1231,10 +1231,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}Zobrazit
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+kliknutí je zobrazí samostatně.
STR_DEPARTURES_EMPTY :{ORANGE}Tuto stanici aktuálně nemá v jízdním řádu žádné vozidlo.
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Nejsou požadovány žádné informace z jízdního řádu.
STR_DEPARTURES_TIME :{ORANGE}{DATE_WALLCLOCK_TINY}
STR_DEPARTURES_TIME_DEP :{ORANGE}{DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW} {ORANGE}{0:DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME :{ORANGE}{TT_TIME}
STR_DEPARTURES_TIME_DEP :{ORANGE}{TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{TT_TIME} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:TT_TIME} {RED}{DOWN_ARROW} {ORANGE}{0:TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} přes {STRING}
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} přes
@ -1271,7 +1271,7 @@ STR_DEPARTURES_STATION_PORTAIRPORT :{ORANGE} {SHIP}
STR_DEPARTURES_ON_TIME :{GREEN}Včas
STR_DEPARTURES_ARRIVED :{GREEN}Přijel
STR_DEPARTURES_DELAYED :{YELLOW}Opožděn
STR_DEPARTURES_EXPECTED :{YELLOW}Očekávání {DATE_WALLCLOCK_TINY}
STR_DEPARTURES_EXPECTED :{YELLOW}Očekávání {TT_TIME}
STR_DEPARTURES_CANCELLED :{RED}SPOJ ZRUŠEN
STR_CONFIG_SETTING_DEPARTUREBOARDS :{ORANGE}Odjezdové tabule
@ -1749,9 +1749,10 @@ STR_TRADITIONAL_SHIP_NAME :{G=f}Loď {COMM
STR_TRADITIONAL_AIRCRAFT_NAME :{G=n}Letadlo {COMMA}
STR_FORMAT_DATE_MINUTES :{0:STRING}:{1:STRING}
STR_FORMAT_DATE_MINUTES_WITH_Y :{0:STRING}:{1:STRING} / {2:NUM}
STR_FORMAT_DATE_MINUTES_WITH_YM :{0:STRING}:{1:STRING} / {2:DATE_SHORT}
STR_FORMAT_DATE_MINUTES_WITH_YMD :{0:STRING}:{1:STRING} / {2:DATE_LONG}
STR_HHMM_WITH_DATE_Y :{TIME_HHMM} / {NUM}
STR_HHMM_WITH_DATE_YM :{TIME_HHMM} / {DATE_SHORT}
STR_HHMM_WITH_DATE_YMD :{TIME_HHMM} / {DATE_LONG}
STR_FORMAT_GROUP_VEHICLE_NAME_LONG :{GROUP} - {STRING}
@ -1949,11 +1950,11 @@ STR_SCHDISPATCH_RENAME_SCHEDULE_TOOLTIP :{BLACK}Pojmenov
STR_SCHDISPATCH_RENAME_SCHEDULE_CAPTION :{WHITE}Název rozvrhu
STR_ERROR_CAN_T_RENAME_SCHEDULE :{WHITE}Nelze pojmenovat rozvrh...
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Poslední odjezd v {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Poslední pořadí ještě neodjelo, odjede v {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Poslední odjezd v {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Poslední pořadí ještě neodjelo, odjede v {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}Tento rozvrh vyžaduje {COMMA} vozid{P lo la el}.
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}Tento rozvrh se opakuje každých {STRING}.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}Tento rozvrh začal v {DATE_WALLCLOCK_TINY} a skončí v {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}Tento rozvrh začal v {TT_TIME} a skončí v {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_L4 :{BLACK}Před vynecháním pořadí je tolerováno zpoždění nejvýše {STRING}.
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}Tento rozvrh není aktivní.

@ -7,15 +7,12 @@ STR_ORDER_TEXT :{STRING6} {STRI
##no-translate on
STR_JUST_DECIMAL1 :{DECIMAL1}
STR_JUST_DATE_WALLCLOCK_TINY :{DATE_WALLCLOCK_TINY}
STR_JUST_DATE_WALLCLOCK_SHORT :{DATE_WALLCLOCK_SHORT}
STR_JUST_DATE_WALLCLOCK_LONG :{DATE_WALLCLOCK_LONG}
STR_JUST_DATE_WALLCLOCK_ISO :{DATE_WALLCLOCK_ISO}
STR_JUST_TIME_HHMM :{TIME_HHMM}
STR_JUST_STRING3 :{STRING3}
STR_JUST_VELOCITY :{VELOCITY}
STR_JUST_TT_TICKS :{TT_TICKS}
STR_JUST_TT_TICKS_LONG :{TT_TICKS_LONG}
STR_JUST_TT_TIME :{TT_TIME}
STR_JUST_STATION :{STATION}
STR_RED_INT :{RED}{NUM}
@ -1363,10 +1360,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}Show upc
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+Click to show exclusively.
STR_DEPARTURES_EMPTY :{ORANGE}No vehicles are currently timetabled for this station.
STR_DEPARTURES_NONE_SELECTED :{ORANGE}No timetable information has been requested.
STR_DEPARTURES_TIME :{ORANGE}{DATE_WALLCLOCK_TINY}
STR_DEPARTURES_TIME_DEP :{ORANGE}{DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW} {ORANGE}{0:DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME :{ORANGE}{TT_TIME}
STR_DEPARTURES_TIME_DEP :{ORANGE}{TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{TT_TIME} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:TT_TIME} {RED}{DOWN_ARROW} {ORANGE}{0:TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} via {STRING}
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} via
@ -1403,7 +1400,7 @@ STR_DEPARTURES_STATION_PORTAIRPORT :{ORANGE} {SHIP}
STR_DEPARTURES_ON_TIME :{GREEN}On time
STR_DEPARTURES_ARRIVED :{GREEN}Arrived
STR_DEPARTURES_DELAYED :{YELLOW}Delayed
STR_DEPARTURES_EXPECTED :{YELLOW}Expt {DATE_WALLCLOCK_TINY}
STR_DEPARTURES_EXPECTED :{YELLOW}Expt {TT_TIME}
STR_DEPARTURES_CANCELLED :{RED}Cancelled
STR_CONFIG_SETTING_DEPARTUREBOARDS :{ORANGE}Departure boards
@ -1895,9 +1892,10 @@ STR_TRADITIONAL_SHIP_NAME :Ship {COMMA}
STR_TRADITIONAL_AIRCRAFT_NAME :Aircraft {COMMA}
STR_FORMAT_DATE_MINUTES :{0:RAW_STRING}:{1:RAW_STRING}
STR_FORMAT_DATE_MINUTES_WITH_Y :{0:RAW_STRING}:{1:RAW_STRING} / {2:NUM}
STR_FORMAT_DATE_MINUTES_WITH_YM :{0:RAW_STRING}:{1:RAW_STRING} / {2:DATE_SHORT}
STR_FORMAT_DATE_MINUTES_WITH_YMD :{0:RAW_STRING}:{1:RAW_STRING} / {2:DATE_LONG}
STR_HHMM_WITH_DATE_Y :{TIME_HHMM} / {NUM}
STR_HHMM_WITH_DATE_YM :{TIME_HHMM} / {DATE_SHORT}
STR_HHMM_WITH_DATE_YMD :{TIME_HHMM} / {DATE_LONG}
STR_FORMAT_GROUP_VEHICLE_NAME_LONG :{GROUP} - {STRING1}
@ -2117,25 +2115,25 @@ STR_SCHDISPATCH_RENAME_SCHEDULE_TOOLTIP :{BLACK}Name sch
STR_SCHDISPATCH_RENAME_SCHEDULE_CAPTION :{WHITE}Name schedule
STR_ERROR_CAN_T_RENAME_SCHEDULE :{WHITE}Can't name schedule...
STR_SCHDISPATCH_MOVE_SCHEDULE :{BLACK}Change position of current schedule in schedule list
STR_SCHDISPATCH_DATE_WALLCLOCK_TINY_FLAGGED :{DATE_WALLCLOCK_TINY}*
STR_SCHDISPATCH_SLOT_TOOLTIP :{BLACK}{DATE_WALLCLOCK_TINY}
STR_SCHDISPATCH_DATE_WALLCLOCK_TINY_FLAGGED :{TT_TIME}*
STR_SCHDISPATCH_SLOT_TOOLTIP :{BLACK}{TT_TIME}
STR_SCHDISPATCH_SLOT_TOOLTIP_RELATIVE : ({TIME_HHMM} from start)
STR_SCHDISPATCH_SLOT_TOOLTIP_LAST :{}Last departure slot
STR_SCHDISPATCH_SLOT_TOOLTIP_NEXT :{}Next available departure slot
STR_SCHDISPATCH_SLOT_TOOLTIP_REUSE :{}Departure slot may be used more than once
STR_SCHDISPATCH_SLOT_TOOLTIP_TIME_SUFFIX : ({DATE_WALLCLOCK_TINY})
STR_SCHDISPATCH_SLOT_TOOLTIP_TIME_SUFFIX : ({TT_TIME})
STR_SCHDISPATCH_SLOT_TOOLTIP_TAG :{}Tag {NUM}
STR_SCHDISPATCH_SUMMARY_NO_LAST_DEPARTURE :{BLACK}No previous departures.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Last departure at {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Last departure has not left yet, it will depart at {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Last departure at {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Last departure has not left yet, it will depart at {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}This schedule requires {COMMA} vehicle{P "" s}.
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}This schedule repeats every {STRING1}.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}This schedule began at {DATE_WALLCLOCK_TINY}, and ends at {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}This schedule began at {TT_TIME}, and ends at {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_L4 :{BLACK}Maximum delay of {STRING1} is allowed before the slot is skipped.
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}This schedule is not active.
STR_SCHDISPATCH_SUMMARY_REUSE_SLOTS_ENABLED :{BLACK}All departure slots may be used more than once.
STR_SCHDISPATCH_SUMMARY_NEXT_AVAILABLE_DEPARTURE :{BLACK}Next available departure at {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_NEXT_AVAILABLE_DEPARTURE :{BLACK}Next available departure at {TT_TIME}.
STR_SCHDISPATCH_SLOT_OUTSIDE_SCHEDULE :{BLACK}One or more departure slots are outside the schedule duration.

@ -1257,10 +1257,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}Amosar p
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+Click para amosar exclusivamente
STR_DEPARTURES_EMPTY :{ORANGE}Non hai vehículos actualmente programados para esta estación
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Non se solicitou información dos horarios
STR_DEPARTURES_TIME :{ORANGE}{DATE_WALLCLOCK_TINY}
STR_DEPARTURES_TIME_DEP :{ORANGE}{DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW} {ORANGE}{0:DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME :{ORANGE}{TT_TIME}
STR_DEPARTURES_TIME_DEP :{ORANGE}{TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{TT_TIME} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:TT_TIME} {RED}{DOWN_ARROW} {ORANGE}{0:TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} vía {STRING}
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} vía
@ -1297,7 +1297,7 @@ STR_DEPARTURES_STATION_PORTAIRPORT :{ORANGE} {SHIP}
STR_DEPARTURES_ON_TIME :{GREEN}A tempo
STR_DEPARTURES_ARRIVED :{GREEN}Chegadas
STR_DEPARTURES_DELAYED :{YELLOW}Demorado
STR_DEPARTURES_EXPECTED :{YELLOW}Esperado {DATE_WALLCLOCK_TINY}
STR_DEPARTURES_EXPECTED :{YELLOW}Esperado {TT_TIME}
STR_DEPARTURES_CANCELLED :{RED}Cancelado
STR_CONFIG_SETTING_DEPARTUREBOARDS :{ORANGE}Taboleiros de saídas
@ -1781,9 +1781,10 @@ STR_TRADITIONAL_SHIP_NAME :Barco {COMMA}
STR_TRADITIONAL_AIRCRAFT_NAME :Aeronave {COMMA}
STR_FORMAT_DATE_MINUTES :{0:STRING}:{1:STRING}
STR_FORMAT_DATE_MINUTES_WITH_Y :{0:STRING}:{1:STRING} / {2:NUM}
STR_FORMAT_DATE_MINUTES_WITH_YM :{0:STRING}:{1:STRING} / {2:DATE_SHORT}
STR_FORMAT_DATE_MINUTES_WITH_YMD :{0:STRING}:{1:STRING} / {2:DATE_LONG}
STR_HHMM_WITH_DATE_Y :{TIME_HHMM} / {NUM}
STR_HHMM_WITH_DATE_YM :{TIME_HHMM} / {DATE_SHORT}
STR_HHMM_WITH_DATE_YMD :{TIME_HHMM} / {DATE_LONG}
STR_FORMAT_GROUP_VEHICLE_NAME_LONG :{GROUP} - {STRING}
@ -1992,11 +1993,11 @@ STR_SCHDISPATCH_RENAME_SCHEDULE_CAPTION :{WHITE}Nome do
STR_ERROR_CAN_T_RENAME_SCHEDULE :{WHITE}Non se pode renomear programa...
STR_SCHDISPATCH_MOVE_SCHEDULE :{BLACK}Cambiar posición do programa actual na lista
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Última saída ás {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}A última saída aínda non saíu, sairá ás {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Última saída ás {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}A última saída aínda non saíu, sairá ás {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}Este programa require {COMMA} vehículo{P "" s}.
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}Este programa repítese cada {STRING}.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}Este programa comezou ás {DATE_WALLCLOCK_TINY}, e remata ás {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}Este programa comezou ás {TT_TIME}, e remata ás {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_L4 :{BLACK}Permítese un atraso máximo de {STRING} antes de que o slot se salte.
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}Este programa non está activo

@ -1113,10 +1113,10 @@ STR_DEPARTURES_VIA_TOOLTIP :{BLACK}Zeige ge
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Strg+Klick zur exklusiven Anzeige.
STR_DEPARTURES_EMPTY :{ORANGE}Aktuell sind für diese Station keine Fahrzeuge geplant.
STR_DEPARTURES_NONE_SELECTED :{ORANGE}Es wurde keine Fahrplanauskunft angefordert.
STR_DEPARTURES_TIME :{ORANGE}{DATE_WALLCLOCK_TINY}
STR_DEPARTURES_TIME_DEP :{ORANGE}{DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW} {ORANGE}{0:DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME :{ORANGE}{TT_TIME}
STR_DEPARTURES_TIME_DEP :{ORANGE}{TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{TT_TIME} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:TT_TIME} {RED}{DOWN_ARROW} {ORANGE}{0:TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} über {STRING}
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} über
@ -1150,7 +1150,7 @@ STR_DEPARTURES_STATION_PORTAIRPORT :{ORANGE} {SHIP}
STR_DEPARTURES_ON_TIME :{GREEN}Pünktlich
STR_DEPARTURES_ARRIVED :{GREEN}Eingetroffen
STR_DEPARTURES_DELAYED :{YELLOW}Verspätet
STR_DEPARTURES_EXPECTED :{YELLOW}Erwartet am {DATE_WALLCLOCK_TINY}
STR_DEPARTURES_EXPECTED :{YELLOW}Erwartet am {TT_TIME}
STR_DEPARTURES_CANCELLED :{RED}Gestrichen
STR_CONFIG_SETTING_DEPARTUREBOARDS :{ORANGE}Abfahrtstafeln
@ -1572,9 +1572,10 @@ STR_TRADITIONAL_SHIP_NAME :Schiff {COMMA}
STR_TRADITIONAL_AIRCRAFT_NAME :Flugzeug {COMMA}
STR_FORMAT_DATE_MINUTES :{0:STRING}:{1:STRING}
STR_FORMAT_DATE_MINUTES_WITH_Y :{0:STRING}:{1:STRING} / {2:NUM}
STR_FORMAT_DATE_MINUTES_WITH_YM :{0:STRING}:{1:STRING} / {2:DATE_SHORT}
STR_FORMAT_DATE_MINUTES_WITH_YMD :{0:STRING}:{1:STRING} / {2:DATE_LONG}
STR_HHMM_WITH_DATE_Y :{TIME_HHMM} / {NUM}
STR_HHMM_WITH_DATE_YM :{TIME_HHMM} / {DATE_SHORT}
STR_HHMM_WITH_DATE_YMD :{TIME_HHMM} / {DATE_LONG}
STR_FORMAT_GROUP_VEHICLE_NAME_LONG :{GROUP} - {STRING}
@ -1703,11 +1704,11 @@ STR_SCHDISPATCH_REMOVE_SCHEDULE_TOOLTIP :{BLACK}Entferne
STR_SCHDISPATCH_NO_SCHEDULES :{BLACK}Keine Zeitpläne
STR_SCHDISPATCH_SCHEDULE_ID :{BLACK}Zeitplan {NUM} von {NUM}
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Letzte Abfahrt am {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Letzte Abfahrt hat den Bahnhof noch nicht verlassen; Abfahrt am {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}Letzte Abfahrt am {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}Letzte Abfahrt hat den Bahnhof noch nicht verlassen; Abfahrt am {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}Dieser Fahrplan erfordert {COMMA} Fahrzeug{P "" e}.
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}Dieser Fahrplan wiederholt sich alle {STRING}.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}Dieser Fahrplan begann am {DATE_WALLCLOCK_TINY} und endet am {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}Dieser Fahrplan begann am {TT_TIME} und endet am {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_L4 :{BLACK}Es ist eine maximale Verspätung von {STRING} erlaubt, ehe der Slot übersprungen wird.
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}Dieser Fahrplan ist nicht aktiv.

@ -54,10 +54,10 @@ STR_DEPARTURES_ARRIVALS_TOOLTIP :{BLACK}到着
STR_DEPARTURES_VIA_TOOLTIP :{BLACK}通過車両を表示
STR_DEPARTURES_EMPTY :{ORANGE}現在、ダイヤを設定している車両はありません。
STR_DEPARTURES_NONE_SELECTED :{ORANGE}発車標が設定されていません。
STR_DEPARTURES_TIME :{ORANGE}{DATE_WALLCLOCK_TINY}
STR_DEPARTURES_TIME_DEP :{ORANGE}{DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW} {ORANGE}{0:DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME :{ORANGE}{TT_TIME}
STR_DEPARTURES_TIME_DEP :{ORANGE}{TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{TT_TIME} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:TT_TIME} {RED}{DOWN_ARROW} {ORANGE}{0:TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} 経由 {STRING}経由
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} 経由
@ -90,7 +90,7 @@ STR_DEPARTURES_STATION_PORTAIRPORT :{ORANGE} {SHIP}
STR_DEPARTURES_ON_TIME :{GREEN}定時
STR_DEPARTURES_ARRIVED :{GREEN}到着しました
STR_DEPARTURES_DELAYED :{YELLOW}遅れています
STR_DEPARTURES_EXPECTED :{YELLOW} {DATE_WALLCLOCK_TINY}見込み
STR_DEPARTURES_EXPECTED :{YELLOW} {TT_TIME}見込み
STR_DEPARTURES_CANCELLED :{RED}運休
STR_CONFIG_SETTING_DEPARTUREBOARDS :{ORANGE}発車標

@ -1315,10 +1315,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}이 역
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. CTRL + 클릭하면 이 차량 종류만 보여줍니다
STR_DEPARTURES_EMPTY :{ORANGE}시간표가 지정된 차량이 없습니다.
STR_DEPARTURES_NONE_SELECTED :{ORANGE}표시할 정보를 선택하십시오.
STR_DEPARTURES_TIME :{ORANGE}{DATE_WALLCLOCK_TINY}
STR_DEPARTURES_TIME_DEP :{ORANGE}{DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW} {ORANGE}{0:DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME :{ORANGE}{TT_TIME}
STR_DEPARTURES_TIME_DEP :{ORANGE}{TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{TT_TIME} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:TT_TIME} {RED}{DOWN_ARROW} {ORANGE}{0:TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING} 경유 {STRING}
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING} 경유
@ -1355,7 +1355,7 @@ STR_DEPARTURES_STATION_PORTAIRPORT :{ORANGE} {SHIP}
STR_DEPARTURES_ON_TIME :{GREEN}정시운행
STR_DEPARTURES_ARRIVED :{GREEN}도착
STR_DEPARTURES_DELAYED :{YELLOW}지연
STR_DEPARTURES_EXPECTED :{YELLOW}{DATE_WALLCLOCK_TINY}
STR_DEPARTURES_EXPECTED :{YELLOW}{TT_TIME}
STR_DEPARTURES_CANCELLED :{RED}취소됨
STR_CONFIG_SETTING_DEPARTUREBOARDS :{ORANGE}출발/도착 정보
@ -1844,9 +1844,10 @@ STR_TRADITIONAL_SHIP_NAME :선박 {COMMA}
STR_TRADITIONAL_AIRCRAFT_NAME :항공기 {COMMA}
STR_FORMAT_DATE_MINUTES :{0:STRING}:{1:STRING}
STR_FORMAT_DATE_MINUTES_WITH_Y :{0:STRING}:{1:STRING} / {2:NUM}
STR_FORMAT_DATE_MINUTES_WITH_YM :{0:STRING}:{1:STRING} / {2:DATE_SHORT}
STR_FORMAT_DATE_MINUTES_WITH_YMD :{0:STRING}:{1:STRING} / {2:DATE_LONG}
STR_HHMM_WITH_DATE_Y :{TIME_HHMM} / {NUM}
STR_HHMM_WITH_DATE_YM :{TIME_HHMM} / {DATE_SHORT}
STR_HHMM_WITH_DATE_YMD :{TIME_HHMM} / {DATE_LONG}
STR_FORMAT_GROUP_VEHICLE_NAME_LONG :{GROUP} - {STRING}
@ -2066,25 +2067,25 @@ STR_SCHDISPATCH_RENAME_SCHEDULE_TOOLTIP :{BLACK}일정
STR_SCHDISPATCH_RENAME_SCHEDULE_CAPTION :{WHITE}일정 이름 변경
STR_ERROR_CAN_T_RENAME_SCHEDULE :{WHITE}일정 이름을 변경할 수 없습니다...
STR_SCHDISPATCH_MOVE_SCHEDULE :{BLACK}일정 목록에서 현재 일정의 위치를 변경합니다
STR_SCHDISPATCH_DATE_WALLCLOCK_TINY_FLAGGED :{DATE_WALLCLOCK_TINY}*
STR_SCHDISPATCH_SLOT_TOOLTIP :{BLACK}{DATE_WALLCLOCK_TINY}
STR_SCHDISPATCH_DATE_WALLCLOCK_TINY_FLAGGED :{TT_TIME}*
STR_SCHDISPATCH_SLOT_TOOLTIP :{BLACK}{TT_TIME}
STR_SCHDISPATCH_SLOT_TOOLTIP_RELATIVE : (시작 시간으로부터 {TIME_HHMM})
STR_SCHDISPATCH_SLOT_TOOLTIP_LAST :{}마지막 출발 슬롯
STR_SCHDISPATCH_SLOT_TOOLTIP_NEXT :{}다음 이용 가능한 출발 슬롯
STR_SCHDISPATCH_SLOT_TOOLTIP_REUSE :{}출발 슬롯을 1번 이상 재사용 가능함
STR_SCHDISPATCH_SLOT_TOOLTIP_TIME_SUFFIX : ({DATE_WALLCLOCK_TINY})
STR_SCHDISPATCH_SLOT_TOOLTIP_TIME_SUFFIX : ({TT_TIME})
STR_SCHDISPATCH_SLOT_TOOLTIP_TAG :{}태그 {NUM}
STR_SCHDISPATCH_SUMMARY_NO_LAST_DEPARTURE :{BLACK}이전 출발이 없습니다.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}최근 출발: {DATE_WALLCLOCK_TINY}
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}최근 배차된 열차가 아직 출발하지 않았습니다. {DATE_WALLCLOCK_TINY}에 출발할 예정입니다.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}최근 출발: {TT_TIME}
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}최근 배차된 열차가 아직 출발하지 않았습니다. {TT_TIME}에 출발할 예정입니다.
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}이 일정에는 {COMMA}대의 열차가 필요합니다.
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}이 일정은 {STRING}마다 반복됩니다.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}이 일정은 {DATE_WALLCLOCK_TINY}에 시작되어서 {DATE_WALLCLOCK_TINY}에 끝납니다.
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}이 일정은 {TT_TIME}에 시작되어서 {TT_TIME}에 끝납니다.
STR_SCHDISPATCH_SUMMARY_L4 :{BLACK}{STRING} 이상 지연되면 다음 슬롯으로 넘어갑니다.
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}이 일정은 비활성화되어 있습니다.
STR_SCHDISPATCH_SUMMARY_REUSE_SLOTS_ENABLED :{BLACK}모든 출발 슬롯을 1번 이상 재사용 가능합니다.
STR_SCHDISPATCH_SUMMARY_NEXT_AVAILABLE_DEPARTURE :{BLACK}다음으로 가능한 출발 시각은 {DATE_WALLCLOCK_TINY} 입니다.
STR_SCHDISPATCH_SUMMARY_NEXT_AVAILABLE_DEPARTURE :{BLACK}다음으로 가능한 출발 시각은 {TT_TIME} 입니다.
STR_SCHDISPATCH_SLOT_OUTSIDE_SCHEDULE :{BLACK}하나 이상의 출발 슬롯이 배차 간격 범위 바깥에 있습니다.

@ -1250,10 +1250,10 @@ STR_DEPARTURES_SHOW_AIRCRAFT_TOOLTIP :{BLACK}显示
STR_DEPARTURES_SHOW_TYPE_TOOLTIP_CTRL_SUFFIX :{BLACK}{STRING}. Ctrl+点击设置仅显示此类型载具
STR_DEPARTURES_EMPTY :{ORANGE}当前车站当前没有被列入时刻表的载具
STR_DEPARTURES_NONE_SELECTED :{ORANGE}没有被请求的时刻表信息
STR_DEPARTURES_TIME :{ORANGE}{DATE_WALLCLOCK_TINY}
STR_DEPARTURES_TIME_DEP :{ORANGE}{DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:DATE_WALLCLOCK_TINY} {RED}{DOWN_ARROW} {ORANGE}{0:DATE_WALLCLOCK_TINY} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME :{ORANGE}{TT_TIME}
STR_DEPARTURES_TIME_DEP :{ORANGE}{TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TIME_ARR :{ORANGE}{TT_TIME} {RED}{DOWN_ARROW}
STR_DEPARTURES_TIME_BOTH :{ORANGE}{1:TT_TIME} {RED}{DOWN_ARROW} {ORANGE}{0:TT_TIME} {GREEN}{UP_ARROW}
STR_DEPARTURES_TERMINUS :{ORANGE}{STATION}{STRING}
STR_DEPARTURES_TERMINUS_VIA_STATION :{ORANGE}{STATION}{STRING}经由{STRING}
STR_DEPARTURES_TERMINUS_VIA :{ORANGE}{STATION}{STRING}经由
@ -1290,7 +1290,7 @@ STR_DEPARTURES_STATION_PORTAIRPORT :{ORANGE} {SHIP}
STR_DEPARTURES_ON_TIME :{GREEN}准时
STR_DEPARTURES_ARRIVED :{GREEN}到达
STR_DEPARTURES_DELAYED :{YELLOW}延误
STR_DEPARTURES_EXPECTED :{YELLOW}约 {DATE_WALLCLOCK_TINY}
STR_DEPARTURES_EXPECTED :{YELLOW}约 {TT_TIME}
STR_DEPARTURES_CANCELLED :{RED}取消
STR_CONFIG_SETTING_DEPARTUREBOARDS :{ORANGE}出发看板
@ -1775,9 +1775,10 @@ STR_TRADITIONAL_SHIP_NAME :船只 {COMMA}
STR_TRADITIONAL_AIRCRAFT_NAME :飞机 {COMMA}
STR_FORMAT_DATE_MINUTES :{0:STRING}:{1:STRING}
STR_FORMAT_DATE_MINUTES_WITH_Y :{0:STRING}:{1:STRING} / {2:NUM}
STR_FORMAT_DATE_MINUTES_WITH_YM :{0:STRING}:{1:STRING} / {2:DATE_SHORT}
STR_FORMAT_DATE_MINUTES_WITH_YMD :{0:STRING}:{1:STRING} / {2:DATE_LONG}
STR_HHMM_WITH_DATE_Y :{TIME_HHMM} / {NUM}
STR_HHMM_WITH_DATE_YM :{TIME_HHMM} / {DATE_SHORT}
STR_HHMM_WITH_DATE_YMD :{TIME_HHMM} / {DATE_LONG}
STR_FORMAT_GROUP_VEHICLE_NAME_LONG :{GROUP} - {STRING}
@ -1986,11 +1987,11 @@ STR_SCHDISPATCH_RENAME_SCHEDULE_CAPTION :{WHITE}命名
STR_ERROR_CAN_T_RENAME_SCHEDULE :{WHITE}无法命名计划...
STR_SCHDISPATCH_MOVE_SCHEDULE :{BLACK}更改计划在计划列表中的位置
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}最新的出发条目在 {DATE_WALLCLOCK_TINY}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}最新的出发条目还没有离开,它将在{DATE_WALLCLOCK_TINY}离开
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_PAST :{BLACK}最新的出发条目在 {TT_TIME}.
STR_SCHDISPATCH_SUMMARY_LAST_DEPARTURE_FUTURE :{BLACK}最新的出发条目还没有离开,它将在{TT_TIME}离开
STR_SCHDISPATCH_SUMMARY_L1 :{BLACK}这个计划调度需要{COMMA}辆车
STR_SCHDISPATCH_SUMMARY_L2 :{BLACK}这个计划调度每{STRING}重复一次
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}这个计划调度开始在{DATE_WALLCLOCK_TINY},结束在{DATE_WALLCLOCK_TINY}
STR_SCHDISPATCH_SUMMARY_L3 :{BLACK}这个计划调度开始在{TT_TIME},结束在{TT_TIME}
STR_SCHDISPATCH_SUMMARY_L4 :{BLACK}{STRING}的最大延迟被允许这个条目在之前被跳过
STR_SCHDISPATCH_SUMMARY_NOT_ENABLED :{BLACK}这个计划调度并未被激活

@ -566,7 +566,7 @@ struct SchdispatchWindow : GeneralVehicleWindow {
}
SetDParam(0, time);
DrawString(text_left, text_right, y + 2, flagged ? STR_SCHDISPATCH_DATE_WALLCLOCK_TINY_FLAGGED : STR_JUST_DATE_WALLCLOCK_TINY, colour, SA_HOR_CENTER);
DrawString(text_left, text_right, y + 2, flagged ? STR_SCHDISPATCH_DATE_WALLCLOCK_TINY_FLAGGED : STR_JUST_TT_TIME, colour, SA_HOR_CENTER);
}
virtual void OnGameTick() override

@ -88,13 +88,42 @@ struct StatusBarWindow : Window {
Window::FindWindowPlacementAndResize(_toolbar_width, def_height);
}
StringID PrepareHHMMDateString(int hhmm, CalTime::Date date, CalTime::Year year) const
{
SetDParam(0, hhmm);
switch (_settings_client.gui.date_with_time) {
case 0:
return STR_JUST_TIME_HHMM;
case 1:
SetDParam(1, year);
return STR_HHMM_WITH_DATE_Y;
case 2:
SetDParam(1, date);
return STR_HHMM_WITH_DATE_YM;
case 3:
SetDParam(1, date);
return STR_HHMM_WITH_DATE_YMD;
default:
NOT_REACHED();
}
}
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
{
Dimension d;
switch (widget) {
case WID_S_LEFT:
SetDParam(0, DateToStateTicks(EconTime::MAX_YEAR.base() * DAYS_IN_YEAR));
d = GetStringBoundingBox(STR_JUST_DATE_WALLCLOCK_LONG);
if (_settings_time.time_in_minutes) {
StringID str = PrepareHHMMDateString(GetBroadestDigitsValue(4), CalTime::MAX_DATE, CalTime::MAX_YEAR);
d = GetStringBoundingBox(str);
} else {
SetDParam(0, CalTime::MAX_DATE);
d = GetStringBoundingBox(STR_JUST_DATE_LONG);
}
break;
case WID_S_RIGHT: {
@ -121,8 +150,13 @@ struct StatusBarWindow : Window {
switch (widget) {
case WID_S_LEFT:
/* Draw the date */
SetDParam(0, _state_ticks);
DrawString(tr, STR_JUST_DATE_WALLCLOCK_LONG, TC_WHITE, SA_HOR_CENTER);
if (_settings_time.time_in_minutes) {
StringID str = PrepareHHMMDateString(_settings_time.ToTickMinutes(_state_ticks).ClockHHMM(), CalTime::CurDate(), CalTime::CurYear());
DrawString(tr, str, TC_WHITE, SA_HOR_CENTER);
} else {
SetDParam(0, CalTime::CurDate());
DrawString(tr, STR_JUST_DATE_LONG, TC_WHITE, SA_HOR_CENTER);
}
break;
case WID_S_RIGHT: {

@ -473,27 +473,14 @@ static void FormatBytes(StringBuilder builder, int64_t number)
fmt::format_to(builder, NBSP "{}B", iec_prefixes[id]);
}
static void FormatWallClockString(StringBuilder builder, StateTicks ticks, bool show_date, uint case_index)
static void FormatStateTicksHHMMString(StringBuilder builder, StateTicks ticks, uint case_index)
{
TickMinutes minutes = _settings_time.ToTickMinutes(ticks);
char hour[3], minute[3];
seprintf(hour, lastof(hour), "%02i", minutes.ClockHour());
seprintf(minute, lastof(minute), "%02i", minutes.ClockMinute());
if (show_date) {
CalTime::Date date = StateTicksToCalendarDate(ticks);
int64_t final_arg;
if (_settings_client.gui.date_with_time == 1) {
CalTime::YearMonthDay ymd = CalTime::ConvertDateToYMD(date);
final_arg = ymd.year.base();
} else {
final_arg = date.base();
}
auto tmp_params = MakeParameters(hour, minute, final_arg);
FormatString(builder, GetStringPtr(STR_FORMAT_DATE_MINUTES + _settings_client.gui.date_with_time), tmp_params, case_index);
} else {
auto tmp_params = MakeParameters(hour, minute);
FormatString(builder, GetStringPtr(STR_FORMAT_DATE_MINUTES), tmp_params, case_index);
}
auto tmp_params = MakeParameters(hour, minute);
FormatString(builder, GetStringPtr(STR_FORMAT_DATE_MINUTES), tmp_params, case_index);
}
static void FormatTimeHHMMString(StringBuilder builder, uint time, uint case_index)
@ -1536,42 +1523,6 @@ static void FormatString(StringBuilder builder, const char *str_arg, StringParam
next_substr_case_index = 0;
break;
case SCC_DATE_WALLCLOCK_LONG: { // {DATE_WALLCLOCK_LONG}
if (_settings_time.time_in_minutes) {
FormatWallClockString(builder, args.GetNextParameter<StateTicks>(), _settings_client.gui.date_with_time, next_substr_case_index);
} else {
FormatYmdString(builder, StateTicksToCalendarDate(args.GetNextParameter<StateTicks>()), next_substr_case_index);
}
break;
}
case SCC_DATE_WALLCLOCK_SHORT: { // {DATE_WALLCLOCK_SHORT}
if (_settings_time.time_in_minutes) {
FormatWallClockString(builder, args.GetNextParameter<StateTicks>(), _settings_client.gui.date_with_time, next_substr_case_index);
} else {
FormatYmdString(builder, StateTicksToCalendarDate(args.GetNextParameter<StateTicks>()), next_substr_case_index);
}
break;
}
case SCC_DATE_WALLCLOCK_TINY: { // {DATE_WALLCLOCK_TINY}
if (_settings_time.time_in_minutes) {
FormatWallClockString(builder, args.GetNextParameter<StateTicks>(), false, next_substr_case_index);
} else {
FormatTinyOrISODate(builder, StateTicksToCalendarDate(args.GetNextParameter<StateTicks>()), STR_FORMAT_DATE_TINY);
}
break;
}
case SCC_DATE_WALLCLOCK_ISO: { // {DATE_WALLCLOCK_ISO}
if (_settings_time.time_in_minutes) {
FormatWallClockString(builder, args.GetNextParameter<StateTicks>(), false, next_substr_case_index);
} else {
FormatTinyOrISODate(builder, StateTicksToCalendarDate(args.GetNextParameter<StateTicks>()), STR_FORMAT_DATE_ISO);
}
break;
}
case SCC_DATE_ISO: // {DATE_ISO}
FormatTinyOrISODate(builder, args.GetNextParameter<CalTime::Date>(), STR_FORMAT_DATE_ISO);
break;
@ -1610,6 +1561,15 @@ static void FormatString(StringBuilder builder, const char *str_arg, StringParam
}
break;
case SCC_TT_TIME: { // {TT_TIME}
if (_settings_time.time_in_minutes) {
FormatStateTicksHHMMString(builder, args.GetNextParameter<StateTicks>(), next_substr_case_index);
} else {
FormatTinyOrISODate(builder, StateTicksToCalendarDate(args.GetNextParameter<StateTicks>()), STR_FORMAT_DATE_TINY);
}
break;
}
case SCC_FORCE: { // {FORCE}
assert(_settings_game.locale.units_force < lengthof(_units_force));
const auto &x = _units_force[_settings_game.locale.units_force];

@ -77,14 +77,11 @@ enum StringControlCode {
SCC_DATE_SHORT,
SCC_DATE_LONG,
SCC_DATE_ISO,
SCC_DATE_WALLCLOCK_TINY,
SCC_DATE_WALLCLOCK_SHORT,
SCC_DATE_WALLCLOCK_LONG,
SCC_DATE_WALLCLOCK_ISO,
SCC_TIME_HHMM,
SCC_TT_TICKS,
SCC_TT_TICKS_LONG,
SCC_TT_TIME,
/* Must be consecutive */
SCC_STRING1,

@ -98,14 +98,11 @@ static const CmdStruct _cmd_structs[] = {
{"DATE_SHORT", EmitSingleChar, SCC_DATE_SHORT, 1, -1, C_CASE},
{"DATE_LONG", EmitSingleChar, SCC_DATE_LONG, 1, -1, C_CASE},
{"DATE_ISO", EmitSingleChar, SCC_DATE_ISO, 1, -1, C_NONE},
{"DATE_WALLCLOCK_TINY", EmitSingleChar, SCC_DATE_WALLCLOCK_TINY, 1, -1, C_NONE},
{"DATE_WALLCLOCK_SHORT", EmitSingleChar, SCC_DATE_WALLCLOCK_SHORT, 1, -1, C_NONE},
{"DATE_WALLCLOCK_LONG", EmitSingleChar, SCC_DATE_WALLCLOCK_LONG, 1, -1, C_NONE},
{"DATE_WALLCLOCK_ISO", EmitSingleChar, SCC_DATE_WALLCLOCK_ISO, 1, -1, C_NONE},
{"TIME_HHMM", EmitSingleChar, SCC_TIME_HHMM, 1, -1, C_NONE},
{"TT_TICKS", EmitSingleChar, SCC_TT_TICKS, 1, -1, C_NONE},
{"TT_TICKS_LONG", EmitSingleChar, SCC_TT_TICKS_LONG, 1, -1, C_NONE},
{"TT_TIME", EmitSingleChar, SCC_TT_TIME, 1, -1, C_NONE},
{"STRING", EmitSingleChar, SCC_STRING, 1, -1, C_CASE | C_GENDER},
{"RAW_STRING", EmitSingleChar, SCC_RAW_STRING_POINTER, 1, -1, C_NONE | C_GENDER},

@ -404,7 +404,7 @@ struct TimetableWindow : GeneralVehicleWindow {
switch (widget) {
case WID_VT_ARRIVAL_DEPARTURE_PANEL:
SetDParamMaxValue(0, _settings_time.time_in_minutes ? 0 : EconTime::MAX_YEAR.base() * DAYS_IN_YEAR);
this->deparr_time_width = GetStringBoundingBox(STR_JUST_DATE_WALLCLOCK_TINY).width + 4;
this->deparr_time_width = GetStringBoundingBox(STR_JUST_TT_TIME).width + 4;
this->deparr_abbr_width = std::max(GetStringBoundingBox(STR_TIMETABLE_ARRIVAL_ABBREVIATION).width, GetStringBoundingBox(STR_TIMETABLE_DEPARTURE_ABBREVIATION).width);
size->width = this->deparr_abbr_width + WidgetDimensions::scaled.hsep_wide + this->deparr_time_width + padding.width;
FALLTHROUGH;
@ -764,10 +764,10 @@ struct TimetableWindow : GeneralVehicleWindow {
DrawString(abbr.left, abbr.right, tr.top, STR_TIMETABLE_ARRIVAL_ABBREVIATION, i == selected ? TC_WHITE : TC_BLACK);
if (this->show_expected && i / 2 == earlyID) {
SetDParam(0, _state_ticks + arr_dep[i / 2].arrival);
DrawString(time.left, time.right, tr.top, STR_JUST_DATE_WALLCLOCK_TINY, TC_GREEN);
DrawString(time.left, time.right, tr.top, STR_JUST_TT_TIME, TC_GREEN);
} else {
SetDParam(0, _state_ticks + arr_dep[i / 2].arrival + (HasBit(arr_dep[i / 2].flags, TADF_ARRIVAL_NO_OFFSET) ? 0 : offset));
DrawString(time.left, time.right, tr.top, STR_JUST_DATE_WALLCLOCK_TINY,
DrawString(time.left, time.right, tr.top, STR_JUST_TT_TIME,
HasBit(arr_dep[i / 2].flags, TADF_ARRIVAL_PREDICTED) ? (TextColour)(TC_IS_PALETTE_COLOUR | TC_NO_SHADE | 4) : (show_late ? TC_RED : i == selected ? TC_WHITE : TC_BLACK));
}
}
@ -775,7 +775,7 @@ struct TimetableWindow : GeneralVehicleWindow {
if (arr_dep[i / 2].departure != INVALID_TICKS) {
DrawString(abbr.left, abbr.right, tr.top, STR_TIMETABLE_DEPARTURE_ABBREVIATION, i == selected ? TC_WHITE : TC_BLACK);
SetDParam(0, _state_ticks + arr_dep[i/2].departure + (HasBit(arr_dep[i / 2].flags, TADF_DEPARTURE_NO_OFFSET) ? 0 : offset));
DrawString(time.left, time.right, tr.top, STR_JUST_DATE_WALLCLOCK_TINY,
DrawString(time.left, time.right, tr.top, STR_JUST_TT_TIME,
HasBit(arr_dep[i / 2].flags, TADF_DEPARTURE_PREDICTED) ? (TextColour)(TC_IS_PALETTE_COLOUR | TC_NO_SHADE | 4) : (show_late ? TC_RED : i == selected ? TC_WHITE : TC_BLACK));
}
}
@ -797,7 +797,7 @@ struct TimetableWindow : GeneralVehicleWindow {
if (v->timetable_start != 0) {
/* We are running towards the first station so we can start the
* timetable at the given time. */
SetDParam(0, STR_JUST_DATE_WALLCLOCK_TINY);
SetDParam(0, STR_JUST_TT_TIME);
SetDParam(1, v->timetable_start);
DrawString(tr, STR_TIMETABLE_STATUS_START_AT_DATE);
} else if (!HasBit(v->vehicle_flags, VF_TIMETABLE_STARTED)) {

Loading…
Cancel
Save