Mercurial > public > ostc4
annotate Discovery/Inc/text_multilanguage.h @ 772:b7e43b28bee1
Fix character truncation when screen is flipped. This was causing the dive computer to lock up when in English Units with the screen flipped when the first decompression stop is shown using FONT_105.
author | izzni |
---|---|
date | Sat, 22 Apr 2023 21:11:50 -0500 |
parents | 8deb28b2d4da |
children | 2c243233c999 |
rev | line source |
---|---|
38 | 1 /////////////////////////////////////////////////////////////////////////////// |
2 /// -*- coding: UTF-8 -*- | |
3 /// | |
4 /// \file Discovery/Inc/text_multilanguage.h | |
5 /// \brief Header file of TXT Multilanguage Support | |
6 /// \author heinrichs weikamp gmbh | |
7 /// \date 20-April-2014 | |
8 /// | |
9 /// $Id$ | |
10 /////////////////////////////////////////////////////////////////////////////// | |
11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh | |
12 /// | |
13 /// This program is free software: you can redistribute it and/or modify | |
14 /// it under the terms of the GNU General Public License as published by | |
15 /// the Free Software Foundation, either version 3 of the License, or | |
16 /// (at your option) any later version. | |
17 /// | |
18 /// This program is distributed in the hope that it will be useful, | |
19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 /// GNU General Public License for more details. | |
22 /// | |
23 /// You should have received a copy of the GNU General Public License | |
24 /// along with this program. If not, see <http://www.gnu.org/licenses/>. | |
25 ////////////////////////////////////////////////////////////////////////////// | |
26 | |
27 /* Define to prevent recursive inclusion -------------------------------------*/ | |
28 #ifndef TEXT_MULTILINGUAGE_H | |
29 #define TEXT_MULTILINGUAGE_H | |
30 | |
31 /* Includes ------------------------------------------------------------------*/ | |
32 #include <stdint.h> | |
33 | |
34 /* Exported types ------------------------------------------------------------*/ | |
35 | |
36 enum LANGUAGES | |
37 { | |
38 LANGUAGE_English = 0, | |
39 LANGUAGE_German, | |
40 LANGUAGE_French, | |
41 LANGUAGE_Italian, | |
42 LANGUAGE_Espanol, | |
43 LANGUAGE_END | |
44 }; | |
45 #define NUMBER_OF_LANGUAGES LANGUAGE_END | |
46 | |
47 typedef struct { | |
48 const uint8_t code; | |
49 const uint8_t* text[NUMBER_OF_LANGUAGES]; | |
50 } tText; | |
51 extern const tText text_array[]; | |
52 extern const tText text_array2[]; | |
53 | |
54 /* Text codes ---------------------------------------------------------------*/ | |
55 enum TXT_MULTILANGUAGE | |
56 { | |
57 TXT_Language = '\x80', | |
58 TXT_LanguageName, | |
59 TXT_Depth, | |
60 TXT_Divetime, | |
61 TXT_MaxDepth, | |
62 TXT_AvgDepth, | |
63 TXT_Ceiling, | |
64 TXT_ActualGradient, | |
65 TXT_Stopwatch, | |
66 TXT_Decostop, | |
67 TXT_Nullzeit, | |
68 TXT_ppO2, | |
69 TXT_TTS, | |
70 TXT_CNS, | |
71 TXT_Temperature, | |
72 TXT_FutureTTS, | |
73 TXT_Gas, | |
672 | 74 TXT_ChargeHour, |
38 | 75 TXT_Date, |
76 TXT_Format, | |
77 TXT_Warning, | |
672 | 78 TXT_Charging, |
38 | 79 TXT_o2Sensors, |
80 TXT_Brightness, | |
81 TXT_Cave, | |
82 TXT_Eco, | |
83 TXT_Normal, | |
84 TXT_Bright, | |
85 TXT_Ultrabright, | |
86 /* */ | |
87 TXT_OC_Gas_Edit, | |
88 TXT_Diluent_Gas_Edit, | |
89 TXT_Mix, | |
90 TXT_First, | |
91 TXT_Deco, | |
92 TXT_Travel, | |
93 TXT_Inactive, | |
526
88c626d01ee5
Added new option to gas configuration: "Off":
Ideenmodellierer
parents:
506
diff
changeset
|
94 TXT_Off, |
38 | 95 TXT_ChangeDepth, |
96 TXT_Active, | |
97 TXT_Default, | |
98 TXT_Type, | |
99 /* */ | |
100 TXT_Setpoint_Edit, | |
101 /* */ | |
102 TXT_DecoAlgorithm, | |
103 TXT_ZHL16GF, | |
104 TXT_aGF, | |
105 TXT_VPM, | |
106 TXT_SafetyStop, | |
107 TXT_low_high, | |
108 TXT_ppO2Name, | |
109 TXT_Minimum, | |
110 TXT_Maximum, | |
111 TXT_Minutes, | |
112 TXT_Seconds, | |
113 TXT_CCRmode, | |
114 TXT_AtemGasVorrat, | |
115 TXT_LiterproMinute, | |
116 TXT_Reserve, | |
117 TXT_Salinity, | |
118 TXT_DiveMode, | |
119 TXT_OpenCircuit, | |
120 TXT_ClosedCircuit, | |
121 TXT_Apnoe, | |
122 TXT_Gauge, | |
662 | 123 TXT_PSClosedCircuit, |
38 | 124 TXT_Sensor, |
125 TXT_FixedSP, | |
126 TXT_Decoparameters, | |
127 TXT_LastDecostop, | |
128 TXT_Fallback, | |
129 /* */ | |
130 TXT_DateAndTime, | |
131 TXT_DateConfig, | |
132 TXT_TimeConfig, | |
133 TXT_Daylightsaving, | |
134 /* */ | |
135 TXT_Logbook, | |
136 TXT_LogbookEmpty, | |
137 /* */ | |
138 TXT_Start_Calculation, | |
139 /* */ | |
140 TXT_Information, | |
141 /* */ | |
654
890440ab993a
Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents:
650
diff
changeset
|
142 TXT_ScrubTime, |
890440ab993a
Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents:
650
diff
changeset
|
143 TXT_ScrubTimeReset, |
890440ab993a
Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents:
650
diff
changeset
|
144 TXT_ScrubTimeMode, |
890440ab993a
Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents:
650
diff
changeset
|
145 TXT_Percent, |
662 | 146 TXT_PSCRO2Drop, |
147 TXT_PSCRLungRatio, | |
148 TXT_SimPpo2, | |
149 TXT_CO2Sensor, | |
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
703
diff
changeset
|
150 TXT_ButtonLock, |
654
890440ab993a
Introduced new menu tab for addition CCR options:
Ideenmodellierer
parents:
650
diff
changeset
|
151 /* */ |
38 | 152 TXT_END, |
153 | |
154 TXT_MINIMAL = '\xFE', | |
155 TXT_2BYTE = '\xFF', | |
156 }; | |
157 | |
158 /* Text codes ---------------------------------------------------------------*/ | |
159 /* don't use the chars before as those break if(text == '\n') etc. pp.*/ | |
160 enum TXT2BYTE_MULTILANGUAGE | |
161 { | |
162 TXT2BYTE_START = '\x1F', | |
163 TXT2BYTE_ResetMenu, | |
164 TXT2BYTE_LogbookOffset, | |
165 TXT2BYTE_AreYouSure, | |
166 TXT2BYTE_Abort, | |
167 TXT2BYTE_RebootRTE, | |
168 TXT2BYTE_ResetAll, | |
169 TXT2BYTE_ResetDeco, | |
170 TXT2BYTE_ResetLogbook, | |
171 TXT2BYTE_RebootMainCPU, | |
172 TXT2BYTE_Exit, | |
173 /* */ | |
174 TXT2BYTE_ShowDebug, | |
175 TXT2BYTE_PleaseUpdate, | |
176 TXT2BYTE_RTE, | |
177 TXT2BYTE_Fonts, | |
178 /* */ | |
179 TXT2BYTE_ResetStopwatch, | |
180 TXT2BYTE_SetMarker, | |
614 | 181 TXT2BYTE_SetMarkerShort, |
619
8fa2de4414a8
Added t3 quick menu for marker synchronisation:
Ideenmodellierer
parents:
614
diff
changeset
|
182 TXT2BYTE_CheckMarker, |
38 | 183 TXT2BYTE_CompassHeading, |
547 | 184 TXT2BYTE_CalibView, |
347
77de014928d6
Added option to manually leave dive mode to system menu
ideenmodellierer
parents:
225
diff
changeset
|
185 TXT2BYTE_EndDiveMode, |
38 | 186 /* */ |
187 TXT2BYTE_Simulator, | |
188 TXT2BYTE_StartSimulator, | |
189 TXT2BYTE_Intervall, | |
190 TXT2BYTE_SimDiveTime, | |
191 TXT2BYTE_SimMaxDepth, | |
192 TXT2BYTE_SimTravelGas, | |
193 TXT2BYTE_SimDecoGas, | |
194 TXT2BYTE_SimConsumption, | |
195 TXT2BYTE_SimSummary, | |
196 TXT2BYTE_SimDecTo, | |
197 TXT2BYTE_SimLevel, | |
198 TXT2BYTE_SimAscTo, | |
199 TXT2BYTE_SimSurface, | |
200 TXT2BYTE_CalculateDeco, | |
201 TXT2BYTE_Calculating, | |
202 TXT2BYTE_PleaseWait, | |
203 | |
204 /* */ | |
205 TXT2BYTE_Decolist, | |
206 /* */ | |
207 TXT2BYTE_Bluetooth, | |
208 TXT2BYTE_ButtonSensitivity, | |
209 TXT2BYTE_SpecialDiveGas, | |
210 TXT2BYTE_SpecialDiveGasMenu, | |
211 TXT2BYTE_SpecialDiveGasMenuCCR, | |
212 TXT2BYTE_CompassCalib, | |
539
d784f281833a
Added inertia simulation for compass heading:
Ideenmodellierer
parents:
526
diff
changeset
|
213 TXT2BYTE_CompassInertia, |
38 | 214 TXT2BYTE_UseSensor, |
650 | 215 TXT2BYTE_AutomaticSP, |
38 | 216 /* */ |
217 TXT2BYTE_WarnDecoMissed, | |
218 TXT2BYTE_WarnPPO2Low, | |
219 TXT2BYTE_WarnPPO2High, | |
220 TXT2BYTE_WarnBatteryLow, | |
221 TXT2BYTE_WarnSensorLinkLost, | |
222 TXT2BYTE_WarnFallback, | |
223 TXT2BYTE_WarnCnsHigh, | |
756 | 224 TXT2BYTE_WarnCO2High, |
38 | 225 /* */ |
226 TXT2BYTE_O2monitor, | |
227 TXT2BYTE_O2voltage, | |
228 TXT2BYTE_Tissues, | |
229 TXT2BYTE_Nitrogen, | |
230 TXT2BYTE_Helium, | |
231 TXT2BYTE_CNS, | |
232 TXT2BYTE_OTU, | |
233 TXT2BYTE_Profile, | |
234 TXT2BYTE_Compass, | |
235 TXT2BYTE_SafetyStop2, | |
236 TXT2BYTE_noFly, | |
237 TXT2BYTE_Desaturation, | |
238 TXT2BYTE_TimeSinceLastDive, | |
239 TXT2BYTE_ButtonLogbook, | |
240 TXT2BYTE_ButtonMenu, | |
241 TXT2BYTE_ButtonView, | |
242 TXT2BYTE_ButtonBack, | |
243 TXT2BYTE_ButtonEnter, | |
244 TXT2BYTE_ButtonNext, | |
245 TXT2BYTE_ButtonMinus, | |
246 TXT2BYTE_ButtonPlus, | |
247 TXT2BYTE_SimFollowDecoStops, | |
248 /* */ | |
249 TXT2BYTE_Usage_Battery, | |
250 TXT2BYTE_Usage_Dives, | |
251 TXT2BYTE_Usage_Environment, | |
252 /* */ | |
253 TXT2BYTE_ChargeCycles, | |
254 TXT2BYTE_LowestVoltage, | |
255 TXT2BYTE_HoursOfOperation, | |
256 TXT2BYTE_NumberOfDives, | |
257 TXT2BYTE_AmbientTemperature, | |
258 /* */ | |
259 TXT2BYTE_Bottle, | |
260 /* */ | |
261 TXT2BYTE_Gaslist, | |
262 TXT2BYTE_Clock, | |
263 TXT2BYTE_Sunday, | |
264 TXT2BYTE_Monday, | |
265 TXT2BYTE_Tuesday, | |
266 TXT2BYTE_Wednesday, | |
267 TXT2BYTE_Thursday, | |
268 TXT2BYTE_Friday, | |
269 TXT2BYTE_Saturday, | |
270 /* */ | |
271 TXT2BYTE_Layout, | |
272 TXT2BYTE_Units, | |
273 TXT2BYTE_Units_metric, | |
274 TXT2BYTE_Units_feet, | |
275 TXT2BYTE_Farbschema, | |
276 TXT2BYTE_Customviews, | |
277 TXT2BYTE_CViewTimeout, | |
278 TXT2BYTE_CViewStandard, | |
279 TXT2BYTE_CornerTimeout, | |
280 TXT2BYTE_CornerStandard, | |
552
531e7818b737
Added menu structure to acces viewport calibration:
Ideenmodellierer
parents:
547
diff
changeset
|
281 TXT2BYTE_IndicateFrame, |
531e7818b737
Added menu structure to acces viewport calibration:
Ideenmodellierer
parents:
547
diff
changeset
|
282 TXT2BYTE_BoostBacklight, |
626
3e1a0e267f38
Added option to select sensitivity of focus detection:
Ideenmodellierer
parents:
619
diff
changeset
|
283 TXT2BYTE_FocusSpotSize, |
552
531e7818b737
Added menu structure to acces viewport calibration:
Ideenmodellierer
parents:
547
diff
changeset
|
284 |
38 | 285 TXT2BYTE_SetToMOD, |
286 /* */ | |
287 TXT2BYTE_HUDbattery, | |
745 | 288 TXT2BYTE_SensorDetect, |
584 | 289 TXT2BYTE_O2Calib, |
562
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
552
diff
changeset
|
290 TXT2BYTE_O2Interface, |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
552
diff
changeset
|
291 TXT2BYTE_O2IFOptic, |
ec76fa85009e
Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents:
552
diff
changeset
|
292 TXT2BYTE_O2IFAnalog, |
703
2f457024049b
Added selection of digital o2 sensor source to HW menu:
Ideenmodellierer
parents:
672
diff
changeset
|
293 TXT2BYTE_O2IFDigital, |
38 | 294 TXT2BYTE_LowerIsLess, |
295 TXT2BYTE_DiveMenuQ, | |
296 TXT2BYTE_DiveQuitQ, | |
297 TXT2BYTE_DiveBearingQ, | |
298 TXT2BYTE_DiveResetAvgQ, | |
299 /* */ | |
300 TXT2BYTE_ExtraDisplay, | |
301 TXT2BYTE_ExtraBigFont, | |
493
b560e474e319
Added possibility to switch between "classic" bigfont views and a selection with a new information combination
Ideenmodellierer
parents:
424
diff
changeset
|
302 TXT2BYTE_ExtraBigFontV2, |
38 | 303 TXT2BYTE_ExtraDecoGame, |
304 TXT2BYTE_ExtraNone, | |
740
5078da3845c0
Added button lock after wakeup in surface mode:
Ideenmodellierer
parents:
703
diff
changeset
|
305 TXT2BYTE_ExtraActive, |
38 | 306 /* */ |
368
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
307 TXT2BYTE_MotionCtrl, |
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
308 TXT2BYTE_MoCtrlNone, |
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
309 TXT2BYTE_MoCtrlPitch, |
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
310 TXT2BYTE_MoCtrlSector, |
373
7b981f8bdd41
Add scroll event by pitch angle detection:
ideenmodellierer
parents:
368
diff
changeset
|
311 TXT2BYTE_MoCtrlScroll, |
368
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
312 /* */ |
38 | 313 TXT2BYTE_DecoDataLost, |
314 TXT2BYTE_Info, | |
315 TXT2BYTE_Korrekturwerte, | |
316 TXT2BYTE_SetBearing, | |
317 TXT2BYTE_ResetBearing, | |
318 TXT2BYTE_Sensor, | |
319 TXT2BYTE_Maintenance, | |
320 TXT2BYTE_SetBatteryCharge, | |
321 TXT2BYTE_SetFactoryDefaults, | |
662 | 322 TXT2BYTE_ResetBluetooth, |
424
2b31cf1ebbcc
Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents:
382
diff
changeset
|
323 TXT2BYTE_SetSampleIndex, |
38 | 324 TXT2BYTE_Reboot, |
325 TXT2BYTE_ButtonLeft, | |
326 TXT2BYTE_ButtonMitte, | |
327 TXT2BYTE_ButtonRight, | |
328 /* */ | |
329 TXT2BYTE_Summary, | |
376
a90100959871
Added string for Empty/ Debug custom view selection
ideenmodellierer
parents:
373
diff
changeset
|
330 TXT2BYTE_DispNoneDbg, |
38 | 331 TXT2BYTE_ApneaLast, |
332 TXT2BYTE_ApneaTotal, | |
333 TXT2BYTE_ApneaSurface, | |
334 /* */ | |
107 | 335 TXT2BYTE_FLIPDISPLAY, |
506
998529b3e142
Added new top level menu for customization of views
Ideenmodellierer
parents:
493
diff
changeset
|
336 TXT2BYTE_SelectCustomviews, |
998529b3e142
Added new top level menu for customization of views
Ideenmodellierer
parents:
493
diff
changeset
|
337 TXT2BYTE_SelectBigFont, |
998529b3e142
Added new top level menu for customization of views
Ideenmodellierer
parents:
493
diff
changeset
|
338 TXT2BYTE_MaxDepth, |
998529b3e142
Added new top level menu for customization of views
Ideenmodellierer
parents:
493
diff
changeset
|
339 TXT2BYTE_Stopwatch, |
998529b3e142
Added new top level menu for customization of views
Ideenmodellierer
parents:
493
diff
changeset
|
340 TXT2BYTE_TTS, |
998529b3e142
Added new top level menu for customization of views
Ideenmodellierer
parents:
493
diff
changeset
|
341 TXT2BYTE_ppoNair, |
998529b3e142
Added new top level menu for customization of views
Ideenmodellierer
parents:
493
diff
changeset
|
342 TXT2BYTE_Navigation, |
998529b3e142
Added new top level menu for customization of views
Ideenmodellierer
parents:
493
diff
changeset
|
343 TXT2BYTE_DepthData, |
542
6960df7ddb09
Added new t3 view showing first deco stop and tts in parallel:
Ideenmodellierer
parents:
539
diff
changeset
|
344 TXT2BYTE_DecoTTS, |
626
3e1a0e267f38
Added option to select sensitivity of focus detection:
Ideenmodellierer
parents:
619
diff
changeset
|
345 |
3e1a0e267f38
Added option to select sensitivity of focus detection:
Ideenmodellierer
parents:
619
diff
changeset
|
346 TXT2BYTE_Minimum, |
3e1a0e267f38
Added option to select sensitivity of focus detection:
Ideenmodellierer
parents:
619
diff
changeset
|
347 TXT2BYTE_Normal, |
3e1a0e267f38
Added option to select sensitivity of focus detection:
Ideenmodellierer
parents:
619
diff
changeset
|
348 TXT2BYTE_Maximum, |
3e1a0e267f38
Added option to select sensitivity of focus detection:
Ideenmodellierer
parents:
619
diff
changeset
|
349 |
662 | 350 TXT2BYTE_CheckSettings, |
759 | 351 TXT2BYTE_NotCalibrated, |
662 | 352 |
770
8deb28b2d4da
CCR overview in surface mode. Makes it easy to quickly check that all settings (mode, setpoints, diluent, scrubber timer) are correct when preparing to dive (also makes the OC gas list available in surface mode for the same reason).
heinrichsweikamp
parents:
759
diff
changeset
|
353 TXT2BYTE_CcrSummary, |
8deb28b2d4da
CCR overview in surface mode. Makes it easy to quickly check that all settings (mode, setpoints, diluent, scrubber timer) are correct when preparing to dive (also makes the OC gas list available in surface mode for the same reason).
heinrichsweikamp
parents:
759
diff
changeset
|
354 TXT2BYTE_Setpoint, |
8deb28b2d4da
CCR overview in surface mode. Makes it easy to quickly check that all settings (mode, setpoints, diluent, scrubber timer) are correct when preparing to dive (also makes the OC gas list available in surface mode for the same reason).
heinrichsweikamp
parents:
759
diff
changeset
|
355 TXT2BYTE_Scrubber, |
8deb28b2d4da
CCR overview in surface mode. Makes it easy to quickly check that all settings (mode, setpoints, diluent, scrubber timer) are correct when preparing to dive (also makes the OC gas list available in surface mode for the same reason).
heinrichsweikamp
parents:
759
diff
changeset
|
356 |
38 | 357 TXT2BYTE_END |
358 }; | |
359 | |
360 #endif /* TEXT_MULTILINGUAGE_H */ |