- Localisation of overlay
Every aspect of the overlay can now be localised by adding the following variables to Initial Variable Values. Here are some examples as to how to use the code:
- ‘Clear’:’Clear’ = This is an example of a dictionary string with the format ‘Entry’:’Value’. So in this instance to change the skies description of Clear to Claro (or Clara?) for Portuguese, the code would be edited to ‘Clear’:’Claro’.
- “REPLAY” = This is just the Value and there is no Entry in the below code that you need to maintain. So you can simply edit to “REJOUER” for French.
- Overlay.Localisation.Ordinals = This defines the ordinal used for different numbers and a default ordinal for numbers not entered. For example to ensure 1st displays as 1er for French, you would edit to show ‘1’:’er’
- {0} represents the number pulled from Live Timing. Do not edit but you can move it to a different position. For instance, “{0} points” in English might be better displayed as “pontos {0}” in Portuguese?
- {1} represents the appropriate ordinal you have entered in Overlay.Localisation.Ordinals. Again do not edit but you can change its position for better grammar in the new language. For example {0} {1} in English could display 5th but perhaps it should be displayed {1} {0} in another language?
- Note for Overlay.PitStopHistory. variations both Values can be edited. “Pit stop strategy: Stint length”; for example can be edited to “Estratégia de pit stop: Comprimento stint”;
Code:
Overlay.Localisation.Skies = "'Clear':'Clear', 'Partly cloudy':'Partly cloudy', 'Mostly cloudy':'Mostly cloudy', 'Overcast':'Overcast'"; Overlay.Localisation.Ordinals = "'Default':'th', '1':'st', '2':'nd', '3':'rd', '21':'st', '22':'nd', '23':'rd', '31':'st', '32':'nd', '33':'rd', '41':'st', '42':'nd', '43':'rd', '51':'st', '52':'nd', '53':'rd', '61':'st', '62':'nd', '63':'rd'"; Overlay.Localisation.LapShort = "L"; Overlay.Localisation.PointFormat = "{0} points"; Overlay.Localisation.Locale = "en-US"; Overlay.Localisation.Hour12 = "False"; Overlay.Localisation.Replay = "REPLAY"; Overlay.RaceInfo.Localisation.Headers = "'Configuration:':'Configuration:', 'Country:':'Country:', 'City:':'City:', 'Track length:':'Track length:', 'Temperature:':'Temperature:', 'Altitude:':'Altitude:'"; Overlay.SessionState.Localisation.SessionLapShortFormat = "Lap {0}"; Overlay.SessionState.Localisation.SessionLapFullFormat = "Lap {0} / {1}"; Overlay.SessionState.Localisation.SessionTimeShortFormat = "{0}"; Overlay.SessionState.Localisation.SessionTimeFullFormat = "{0} / {1}"; Overlay.DriverDetails.Localisation.Best = "BEST:"; Overlay.DriverDetails.Localisation.Last = "LAST:"; Overlay.TimingTable.Localisation.OutLap = "OUT LAP"; Overlay.TimingTable.Localisation.PitLane = "PIT LANE"; Overlay.TimingTable.Localisation.PitExit = "PIT EXIT"; Overlay.TimingTable.Localisation.Pit = "PIT"; Overlay.TimingTable.Localisation.Out = "OUT"; Overlay.Battle.Localisation.Relative = "Relative"; Overlay.Battle.Localisation.BattleFormat = "Battle for {0}{1}"; Overlay.Battle.Localisation.ClassBattleFormat = "Battle for {0}{1} in class"; Overlay.RaceResults.Localisation.Headers = "'Race results':'Race results', 'Practice results':'Practice results', 'Qualify results':'Qualify results', 'Warmup results':'Warmup results'"; Overlay.RaceResults.Localisation.Winner = "Winner"; Overlay.Championship.Localisation.Header = "Championship standings"; Overlay.PiLane.Localisation.Header = "PIT STOP"; Overlay.TimeDeltaHistory.Localisation.Gap = "Gap"; Overlay.TimeDeltaHistory.Localisation.Lap = "Lap"; Overlay.PitStopHistory.Localisation.StintLength = "Pit stop strategy: Stint length"; Overlay.PitStopHistory.Localisation.PitStopTime = "Pit stop strategy: Pit stop time"; Overlay.PitStopHistory.Localisation.PitLaneTime = "Pit stop strategy: Pit lane time"; Overlay.PitStopHistory.Localisation.PitStopLap = "Pit stop strategy: Pit stop lap"; Overlay.Qualifying.Localisation.NoTime = "NO TIME"; Overlay.LapTimeHistory.Localisation.HeaderFormat = "Lap {0}"; Overlay.Sectors.Localisation.HeaderFormat = "Sector {0}";