source: src/mlx/i18n.py@ 107:35310bf5309c

Last change on this file since 107:35310bf5309c was 107:35310bf5309c, checked in by István Váradi <ivaradi@…>, 12 years ago

Added support for internationalization and translated most of the flight wizard into Hungarian

File size: 30.8 KB
Line 
1# Internationalization support
2# -*- coding: utf-8 -*-
3
4#------------------------------------------------------------------------------
5
6_strings = None
7_fallback = None
8
9#------------------------------------------------------------------------------
10
11def setLanguage(language):
12 """Setup the internationalization support for the given language."""
13 print "i18n.setLanguage", language
14 _Strings.set(language)
15
16#------------------------------------------------------------------------------
17
18def xstr(key):
19 """Get the string for the given key in the current language.
20
21 If not found, the fallback language is searched. If that is not found
22 either, the key itself is returned within curly braces."""
23 s = _Strings.current()[key]
24 if s is None:
25 s = _Strings.fallback()[key]
26 return "{" + key + "}" if s is None else s
27
28#------------------------------------------------------------------------------
29
30class _Strings(object):
31 """A collection of strings belonging to a certain language."""
32 # The registry of the string collections. This is a mapping from
33 # language codes to the actual collection objects
34 _instances = {}
35
36 # The fallback instance
37 _fallback = None
38
39 # The currently used instance.
40 _current = None
41
42 @staticmethod
43 def _find(language):
44 """Find an instance for the given language.
45
46 First the language is searched for as is. If not found, it is truncated
47 from the end until the last underscore and that is searched for. And so
48 on, until no underscore remains.
49
50 If nothing is found this way, the
51 """
52 while language:
53 if language in _Strings._instances:
54 return _Strings._instances[language]
55 underscoreIndex = language.rfind("_")
56 language = language[:underscoreIndex] if underscoreIndex>0 else ""
57 return _Strings._fallback
58
59 @staticmethod
60 def set(language):
61 """Set the string for the given language.
62
63 A String instance is searched for the given language (see
64 _Strings._find()). Otherwise the fallback language is used."""
65 strings = _Strings._find(language)
66 assert strings is not None
67 if _Strings._current is not None and \
68 _Strings._current is not _Strings._fallback:
69 _Strings._current.finalize()
70 if strings is not _Strings._fallback:
71 strings.initialize()
72 _Strings._current = strings
73
74 @staticmethod
75 def fallback():
76 """Get the fallback."""
77 return _Strings._fallback
78
79 @staticmethod
80 def current():
81 """Get the current."""
82 return _Strings._current
83
84 def __init__(self, languages, fallback = False):
85 """Construct an empty strings object."""
86 self._strings = {}
87 for language in languages:
88 _Strings._instances[language] = self
89 if fallback:
90 _Strings._fallback = self
91 self.initialize()
92
93 def initialize(self):
94 """Initialize the strings.
95
96 This should be overridden in children to setup the strings."""
97 pass
98
99 def finalize(self):
100 """Finalize the object.
101
102 This releases the string dictionary to free space."""
103 self._strings = {}
104
105 def add(self, id, s):
106 """Add the given text as the string with the given ID.
107
108 If the ID is already in the object, that is an assertion failure!"""
109 assert id not in self._strings
110 self._strings[id] = s
111
112 def __getitem__(self, key):
113 """Get the string with the given key."""
114 return self._strings[key] if key in self._strings else None
115
116#------------------------------------------------------------------------------
117
118class _English(_Strings):
119 """The strings for the English language."""
120 def __init__(self):
121 """Construct the object."""
122 super(_English, self).__init__(["en_GB", "en"], fallback = True)
123
124 def initialize(self):
125 """Initialize the strings."""
126 self.add("tab_flight", "_Flight")
127 self.add("tab_flight_info", "Flight _info")
128 self.add("tab_log", "_Log")
129 self.add("tab_debug_log", "_Debug log")
130 self.add("tab_help", "_Help")
131 self.add("tab_gates", "_Gates")
132
133 self.add("login", "Login")
134 self.add("loginHelp",
135 "Enter your MAVA pilot's ID and password to\n" \
136 "log in to the MAVA website and download\n" \
137 "your booked flights.")
138 self.add("label_pilotID", "Pil_ot ID:")
139 self.add("login_pilotID_tooltip",
140 "Enter your MAVA pilot's ID. This usually starts with a "
141 "'P' followed by 3 digits.")
142 self.add("label_password", "_Password:")
143 self.add("login_password_tooltip",
144 "Enter the password for your pilot's ID")
145 self.add("remember_password", "_Remember password")
146 self.add("login_remember_tooltip",
147 "If checked, your password will be stored, so that you should "
148 "not have to enter it every time. Note, however, that the password "
149 "is stored as text, and anybody who can access your files will "
150 "be able to read it.")
151 self.add("button_login", "Logi_n")
152 self.add("login_button_tooltip", "Click to log in.")
153 self.add("login_busy", "Logging in...")
154 self.add("login_invalid", "Invalid pilot's ID or password.")
155 self.add("login_invalid_sec",
156 "Check the ID and try to reenter the password.")
157 self.add("login_failconn",
158 "Failed to connect to the MAVA website.")
159 self.add("login_failconn_sec", "Try again in a few minutes.")
160
161 self.add("button_next", "_Next")
162 self.add("button_next_tooltip", "Click to go to the next page.")
163 self.add("button_previous", "_Previous")
164 self.add("button_previous_tooltip", "Click to go to the previous page.")
165
166 self.add("flightsel_title", "Flight selection")
167 self.add("flightsel_help", "Select the flight you want to perform.")
168 self.add("flightsel_chelp", "You have selected the flight highlighted below.")
169 self.add("flightsel_no", "Flight no.")
170 self.add("flightsel_deptime", "Departure time [UTC]")
171 self.add("flightsel_from", "From")
172 self.add("flightsel_to", "To")
173
174 self.add("fleet_busy", "Retrieving fleet...")
175 self.add("fleet_failed",
176 "Failed to retrieve the information on the fleet.")
177 self.add("fleet_update_busy", "Updating plane status...")
178 self.add("fleet_update_failed",
179 "Failed to update the status of the airplane.")
180
181 self.add("gatesel_title", "LHBP gate selection")
182 self.add("gatesel_help",
183 "The airplane's gate position is invalid.\n\n" \
184 "Select the gate from which you\n" \
185 "would like to begin the flight.")
186 self.add("gatesel_conflict", "Gate conflict detected again.")
187 self.add("gatesel_conflict_sec",
188 "Try to select a different gate.")
189
190 self.add("connect_title", "Connect to the simulator")
191 self.add("connect_help",
192 "Load the aircraft below into the simulator and park it\n" \
193 "at the given airport, at the gate below, if present.\n\n" \
194 "Then press the Connect button to connect to the simulator.")
195 self.add("connect_chelp",
196 "The basic data of your flight can be read below.")
197 self.add("connect_flightno", "Flight number:")
198 self.add("connect_acft", "Aircraft:")
199 self.add("connect_tailno", "Tail number:")
200 self.add("connect_airport", "Airport:")
201 self.add("connect_gate", "Gate:")
202 self.add("button_connect", "_Connect")
203 self.add("button_connect_tooltip", "Click to connect to the simulator.")
204 self.add("connect_busy", "Connecting to the simulator...")
205
206 self.add("payload_title", "Payload")
207 self.add("payload_help",
208 "The briefing contains the weights below.\n" \
209 "Setup the cargo weight here and the payload weight "
210 "in the simulator.\n\n" \
211 "You can also check here what the simulator reports as ZFW.")
212 self.add("payload_chelp",
213 "You can see the weights in the briefing\n" \
214 "and the cargo weight you have selected below.\n\n" \
215 "You can also query the ZFW reported by the simulator.")
216 self.add("payload_crew", "Crew:")
217 self.add("payload_pax", "Passengers:")
218 self.add("payload_bag", "Baggage:")
219 self.add("payload_cargo", "_Cargo:")
220 self.add("payload_cargo_tooltip",
221 "The weight of the cargo for your flight.")
222 self.add("payload_mail", "Mail:")
223 self.add("payload_zfw", "Calculated ZFW:")
224 self.add("payload_fszfw", "_ZFW from FS:")
225 self.add("payload_fszfw_tooltip",
226 "Click here to refresh the ZFW value from the simulator.")
227 self.add("payload_zfw_busy", "Querying ZFW...")
228
229 self.add("time_title", "Time")
230 self.add("time_help",
231 "The departure and arrival times are displayed below in UTC.\n\n" \
232 "You can also query the current UTC time from the simulator.\n" \
233 "Ensure that you have enough time to properly prepare for the flight.")
234 self.add("time_chelp",
235 "The departure and arrival times are displayed below in UTC.\n\n" \
236 "You can also query the current UTC time from the simulator.\n")
237 self.add("time_departure", "Departure:")
238 self.add("time_arrival", "Arrival:")
239 self.add("time_fs", "_Time from FS:")
240 self.add("time_fs_tooltip",
241 "Click here to query the current UTC time from the simulator.")
242 self.add("time_busy", "Querying time...")
243
244 self.add("route_title", "Route")
245 self.add("route_help",
246 "Set your cruise flight level below, and\n" \
247 "if necessary, edit the flight plan.")
248 self.add("route_chelp",
249 "If necessary, you can modify the cruise level and\n" \
250 "the flight plan below during flight.\n" \
251 "If so, please, add a comment on why " \
252 "the modification became necessary.")
253 self.add("route_level", "_Cruise level:")
254 self.add("route_level_tooltip",
255 "The cruise flight level. Click on the arrows to increment "
256 "or decrement by 10, or enter the number on the keyboard.")
257 self.add("route_route", "_Route")
258 self.add("route_route_tooltip",
259 "The planned flight route in the standard format.")
260 self.add("route_down_notams", "Downloading NOTAMs...")
261 self.add("route_down_metars", "Downloading METARs...")
262
263 self.add("briefing_title", "Briefing (%d/2): %s")
264 self.add("briefing_departure", "departure")
265 self.add("briefing_arrival", "arrival")
266 self.add("briefing_help",
267 "Read carefully the NOTAMs and METAR below.\n\n" \
268 "You can edit the METAR if your simulator or network\n" \
269 "provides different weather.")
270 self.add("briefing_chelp",
271 "If your simulator or network provides a different\n" \
272 "weather, you can edit the METAR below.")
273 self.add("briefing_notams_init", "LHBP NOTAMs")
274 self.add("briefing_metar_init", "LHBP METAR")
275 self.add("briefing_button",
276 "I have read the briefing and am _ready to fly!")
277 self.add("briefing_notams_template", "%s NOTAMs")
278 self.add("briefing_metar_template", "%s _METAR")
279 self.add("briefing_notams_failed", "Could not download NOTAMs")
280 self.add("briefing_notams_missing",
281 "Could not download NOTAM for this airport")
282 self.add("briefing_metar_failed", "Could not download METAR")
283
284 self.add("takeoff_title", "Takeoff")
285 self.add("takeoff_help",
286 "Enter the runway and SID used, as well as the speeds.")
287 self.add("takeoff_chelp",
288 "The runway, SID and takeoff speeds logged can be seen below.")
289 self.add("takeoff_runway", "Run_way:")
290 self.add("takeoff_runway_tooltip",
291 "The runway the takeoff is performed from.")
292 self.add("takeoff_sid", "_SID:")
293 self.add("takeoff_sid_tooltip",
294 "The name of the Standard Instrument Deparature procedure followed.")
295 self.add("takeoff_v1", "V<sub>_1</sub>:")
296 self.add("takeoff_v1_tooltip", "The takeoff decision speed in knots.")
297 self.add("label_knots", "knots")
298 self.add("takeoff_vr", "V<sub>_R</sub>:")
299 self.add("takeoff_vr_tooltip", "The takeoff rotation speed in knots.")
300 self.add("takeoff_v2", "V<sub>_2</sub>:")
301 self.add("takeoff_v2_tooltip", "The takeoff safety speed in knots.")
302
303 self.add("landing_title", "Landing")
304 self.add("landing_help",
305 "Enter the STAR and/or transition, runway,\n" \
306 "approach type and V<sub>Ref</sub> used.")
307 self.add("landing_chelp",
308 "The STAR and/or transition, runway, approach\n" \
309 "type and V<sub>Ref</sub> logged can be seen below.")
310 self.add("landing_star", "_STAR:")
311 self.add("landing_star_tooltip",
312 "The name of Standard Terminal Arrival Route followed.")
313 self.add("landing_transition", "_Transition:")
314 self.add("landing_transition_tooltip",
315 "The name of transition executed or VECTORS if vectored by ATC.")
316 self.add("landing_runway", "Run_way:")
317 self.add("landing_runway_tooltip",
318 "The runway the landing is performed on.")
319 self.add("landing_approach", "_Approach type:")
320 self.add("landing_approach_tooltip",
321 "The type of the approach, e.g. ILS or VISUAL.")
322 self.add("landing_vref", "V<sub>_Ref</sub>:")
323 self.add("landing_vref_tooltip",
324 "The landing reference speed in knots.")
325
326 self.add("flighttype_scheduled", "scheduled")
327 self.add("flighttype_ot", "old-timer")
328 self.add("flighttype_vip", "VIP")
329 self.add("flighttype_charter", "charter")
330
331 self.add("finish_title", "Finish")
332 self.add("finish_help",
333 "There are some statistics about your flight below.\n\n" \
334 "Review the data, also on earlier pages, and if you are\n" \
335 "satisfied, you can save or send your PIREP.")
336 self.add("finish_rating", "Flight rating:")
337 self.add("finish_flight_time", "Flight time:")
338 self.add("finish_block_time", "Block time:")
339 self.add("finish_distance", "Distance flown:")
340 self.add("finish_fuel", "Fuel used:")
341 self.add("finish_type", "_Type:")
342 self.add("finish_type_tooltip", "Select the type of the flight.")
343 self.add("finish_online", "_Online flight")
344 self.add("finish_online_tooltip",
345 "Check if your flight was online, uncheck otherwise.")
346 self.add("finish_save", "S_ave PIREP...")
347 self.add("finish_save_tooltip",
348 "Click to save the PIREP into a file on your computer. " \
349 "The PIREP can be loaded and sent later.")
350 self.add("finish_send", "_Send PIREP...")
351 self.add("finish_send_tooltip",
352 "Click to send the PIREP to the MAVA website for further review.")
353 self.add("finish_send_busy", "Sending PIREP...")
354 self.add("finish_send_success",
355 "The PIREP was sent successfully.")
356 self.add("finish_send_success_sec",
357 "Await the thorough scrutiny by our fearless PIREP reviewers! :)")
358 self.add("finish_send_already",
359 "The PIREP for this flight has already been sent!")
360 self.add("finish_send_already_sec",
361 "You may clear the old PIREP on the MAVA website.")
362 self.add("finish_send_notavail",
363 "This flight is not available anymore!")
364 self.add("finish_send_unknown",
365 "The MAVA website returned with an unknown error.")
366 self.add("finish_send_unknown_sec",
367 "See the debug log for more information.")
368 self.add("finish_send_failed",
369 "Could not send the PIREP to the MAVA website.")
370 self.add("finish_send_failed_sec",
371 "This can be a network problem, in which case\n" \
372 "you may try again later. Or it can be a bug;\n" \
373 "see the debug log for more information.")
374
375#------------------------------------------------------------------------------
376
377class _Hungarian(_Strings):
378 """The strings for the Hungarian language."""
379 def __init__(self):
380 """Construct the object."""
381 super(_Hungarian, self).__init__(["hu_HU", "hu"])
382
383 def initialize(self):
384 """Initialize the strings."""
385 self.add("tab_flight", "_Járat")
386 self.add("tab_flight_info", "Járat _info")
387 self.add("tab_log", "_Napló")
388 self.add("tab_debug_log", "_Debug napló")
389 self.add("tab_help", "_Segítség")
390 self.add("tab_gates", "_Kapuk")
391
392 self.add("login", "Bejelentkezés")
393 self.add("loginHelp",
394 "Írd be a MAVA pilóta azonosítódat és a\n" \
395 "bejelentkezéshez használt jelszavadat,\n" \
396 "hogy választhass a foglalt járataid közül.")
397 self.add("label_pilotID", "_Azonosító:")
398 self.add("login_pilotID_tooltip",
399 "Írd be a MAVA pilóta azonosítódat. Ez általában egy 'P' "
400 "betűvel kezdődik, melyet 3 számjegy követ.")
401 self.add("label_password", "Je_lszó:")
402 self.add("login_password_tooltip",
403 "Írd be a pilóta azonosítódhoz tartozó jelszavadat.")
404 self.add("remember_password", "_Emlékezz a jelszóra")
405 self.add("login_remember_tooltip",
406 "Ha ezt kiválasztod, a jelszavadat eltárolja a program, így "
407 "nem kell mindig újból beírnod. Vedd azonban figyelembe, "
408 "hogy a jelszót szövegként tároljuk, így bárki elolvashatja, "
409 "aki hozzáfér a fájljaidhoz.")
410 self.add("button_login", "_Bejelentkezés")
411 self.add("login_button_tooltip", "Kattints ide a bejelentkezéshez.")
412 self.add("login_busy", "Bejelentkezés...")
413 self.add("login_invalid", "Érvénytelen azonosító vagy jelszó.")
414 self.add("login_invalid_sec",
415 "Ellenőrízd az azonosítót, és próbáld meg újra beírni a jelszót.")
416 self.add("login_failconn",
417 "Nem sikerült kapcsolódni a MAVA honlaphoz.")
418 self.add("login_failconn_sec", "Próbáld meg pár perc múlva.")
419
420 self.add("button_next", "_Előre")
421 self.add("button_next_tooltip",
422 "Kattints ide, hogy a következő lapra ugorj.")
423 self.add("button_previous", "_Vissza")
424 self.add("button_previous_tooltip",
425 "Kattints ide, hogy az előző lapra ugorj.")
426
427 self.add("flightsel_title", "Járatválasztás")
428 self.add("flightsel_help", "Válaszd ki a járatot, amelyet le szeretnél repülni.")
429 self.add("flightsel_chelp", "A lent kiemelt járatot választottad.")
430 self.add("flightsel_no", "Járatszám")
431 self.add("flightsel_deptime", "Indulás ideje [UTC]")
432 self.add("flightsel_from", "Honnan")
433 self.add("flightsel_to", "Hová")
434
435 self.add("fleet_busy", "Flottaadatok letöltése...")
436 self.add("fleet_failed",
437 "Nem sikerült letöltenem a flotta adatait.")
438 self.add("fleet_update_busy", "Repülőgép pozíció frissítése...")
439 self.add("fleet_update_failed",
440 "Nem sikerült frissítenem a repülőgép pozícióját.")
441
442 self.add("gatesel_title", "LHBP kapuválasztás")
443 self.add("gatesel_help",
444 "A repülőgép kapu pozíciója érvénytelen.\n\n" \
445 "Válaszd ki azt a kaput, ahonnan\n" \
446 "el szeretnéd kezdeni a járatot.")
447 self.add("gatesel_conflict", "Ismét kapuütközés történt.")
448 self.add("gatesel_conflict_sec",
449 "Próbálj egy másik kaput választani.")
450
451 self.add("connect_title", "Kapcsolódás a szimulátorhoz")
452 self.add("connect_help",
453 "Tölsd be a lent látható repülőgépet a szimulátorba\n" \
454 "az alább megadott reptérre és kapuhoz.\n\n" \
455 "Ezután nyomd meg a Kapcsolódás gombot a kapcsolódáshoz.")
456 self.add("connect_chelp",
457 "A járat alapadatai lent olvashatók.")
458 self.add("connect_flightno", "Járatszám:")
459 self.add("connect_acft", "Típus:")
460 self.add("connect_tailno", "Lajstromjel:")
461 self.add("connect_airport", "Repülőtér:")
462 self.add("connect_gate", "Kapu:")
463 self.add("button_connect", "K_apcsolódás")
464 self.add("button_connect_tooltip",
465 "Kattints ide a szimulátorhoz való kapcsolódáshoz.")
466 self.add("connect_busy", "Kapcsolódás a szimulátorhoz...")
467
468 self.add("payload_title", "Terhelés")
469 self.add("payload_help",
470 "Az eligazítás az alábbi tömegeket tartalmazza.\n" \
471 "Allítsd be a teherszállítmány tömegét itt, a hasznos "
472 "terhet pedig a szimulátorban.\n\n" \
473 "Azt is ellenőrízheted, hogy a szimulátor milyen ZFW-t jelent.")
474 self.add("payload_chelp",
475 "Lent láthatók az eligazításban szereplő tömegek, valamint\n" \
476 "a teherszállítmány általad megadott tömege.\n\n" \
477 "Azt is ellenőrízheted, hogy a szimulátor milyen ZFW-t jelent.")
478 self.add("payload_crew", "Legénység:")
479 self.add("payload_pax", "Utasok:")
480 self.add("payload_bag", "Poggyász:")
481 self.add("payload_cargo", "_Teher:")
482 self.add("payload_cargo_tooltip",
483 "A teherszállítmány tömege.")
484 self.add("payload_mail", "Posta:")
485 self.add("payload_zfw", "Kiszámolt ZFW:")
486 self.add("payload_fszfw", "_ZFW a szimulátorból:")
487 self.add("payload_fszfw_tooltip",
488 "Kattints ide, hogy frissítsd a ZFW értékét a szimulátorból.")
489 self.add("payload_zfw_busy", "ZFW lekérdezése...")
490
491 self.add("time_title", "Menetrend")
492 self.add("time_help",
493 "Az indulás és az érkezés ideje lent látható UTC szerint.\n\n" \
494 "A szimulátor aktuális UTC szerinti idejét is lekérdezheted.\n" \
495 "Győzödj meg arról, hogy elég időd van a repülés előkészítéséhez.")
496 self.add("time_chelp",
497 "Az indulás és az érkezés ideje lent látható UTC szerint.\n\n" \
498 "A szimulátor aktuális UTC szerinti idejét is lekérdezheted.")
499 self.add("time_departure", "Indulás:")
500 self.add("time_arrival", "Érkezés:")
501 self.add("time_fs", "Idő a s_zimulátorból:")
502 self.add("time_fs_tooltip",
503 "Kattings ide, hogy frissítsd a szimulátor aktuális UTC szerint idejét.")
504 self.add("time_busy", "Idő lekérdezése...")
505
506 self.add("route_title", "Útvonal")
507 self.add("route_help",
508 "Állítsd be az utazószintet lent, és ha szükséges,\n" \
509 "módosítsd az útvonaltervet.")
510 self.add("route_chelp",
511 "Ha szükséges, lent módosíthatod az utazószintet és\n" \
512 "az útvonaltervet repülés közben is.\n" \
513 "Ha így teszel, légy szíves a megjegyzés mezőben " \
514 "ismertesd ennek okát.")
515 self.add("route_level", "_Utazószint:")
516 self.add("route_level_tooltip", "Az utazószint.")
517 self.add("route_route", "Út_vonal")
518 self.add("route_route_tooltip", "Az útvonal a szokásos formátumban.")
519 self.add("route_down_notams", "NOTAM-ok letöltése...")
520 self.add("route_down_metars", "METAR-ok letöltése...")
521
522 self.add("briefing_title", "Eligazítás (%d/2): %s")
523 self.add("briefing_departure", "indulás")
524 self.add("briefing_arrival", "érkezés")
525 self.add("briefing_help",
526 "Olvasd el figyelmesen a lenti NOTAM-okat és METAR-t.\n\n" \
527 "Ha a szimulátor vagy hálózat más időjárást ad,\n" \
528 "a METAR-t módosíthatod.")
529 self.add("briefing_chelp",
530 "Ha a szimulátor vagy hálózat más időjárást ad,\n" \
531 "a METAR-t módosíthatod.")
532 self.add("briefing_notams_init", "LHBP NOTAM-ok")
533 self.add("briefing_metar_init", "LHBP METAR")
534 self.add("briefing_button",
535 "Elolvastam az eligazítást, és készen állok a _repülésre!")
536 self.add("briefing_notams_template", "%s NOTAM-ok")
537 self.add("briefing_metar_template", "%s _METAR")
538 self.add("briefing_notams_failed", "Nem tudtam letölteni a NOTAM-okat.")
539 self.add("briefing_notams_missing",
540 "Ehhez a repülőtérhez nem találtam NOTAM-ot.")
541 self.add("briefing_metar_failed", "Nem tudtam letölteni a METAR-t.")
542
543 self.add("takeoff_title", "Felszállás")
544 self.add("takeoff_help",
545 "Írd be a felszállásra használt futópálya és SID nevét, valamint a sebességeket.")
546 self.add("takeoff_chelp",
547 "A naplózott futópálya, SID és a sebességek lent olvashatók.")
548 self.add("takeoff_runway", "_Futópálya:")
549 self.add("takeoff_runway_tooltip",
550 "A felszállásra használt futópálya.")
551 self.add("takeoff_sid", "_SID:")
552 self.add("takeoff_sid_tooltip",
553 "Az alkalmazott szabványos műszeres indulási eljárás neve.")
554 self.add("takeoff_v1", "V<sub>_1</sub>:")
555 self.add("takeoff_v1_tooltip", "Az elhatározási sebesség csomóban.")
556 self.add("label_knots", "csomó")
557 self.add("takeoff_vr", "V<sub>_R</sub>:")
558 self.add("takeoff_vr_tooltip", "Az elemelkedési sebesség csomóban.")
559 self.add("takeoff_v2", "V<sub>_2</sub>:")
560 self.add("takeoff_v2_tooltip", "A biztonságos emelkedési sebesség csomóban.")
561
562 self.add("landing_title", "Leszállás")
563 self.add("landing_help",
564 "Írd be az alkalmazott STAR és/vagy bevezetési eljárás nevét,\n"
565 "a használt futópályát, a megközelítés módját, és a V<sub>Ref</sub>-et.")
566 self.add("landing_chelp",
567 "Az alkalmazott STAR és/vagy bevezetési eljárás neve, a használt\n"
568 "futópálya, a megközelítés módja és a V<sub>Ref</sub> lent olvasható.")
569 self.add("landing_star", "_STAR:")
570 self.add("landing_star_tooltip",
571 "A követett szabványos érkezési eljárás neve.")
572 self.add("landing_transition", "_Bevezetés:")
573 self.add("landing_transition_tooltip",
574 "Az alkalmazott bevezetési eljárás neve, vagy VECTORS, "
575 "ha az irányítás vezetett be.")
576 self.add("landing_runway", "_Futópálya:")
577 self.add("landing_runway_tooltip",
578 "A leszállásra használt futópálya.")
579 self.add("landing_approach", "_Megközelítés típusa:")
580 self.add("landing_approach_tooltip",
581 "A megközelítgés típusa, pl. ILS vagy VISUAL.")
582 self.add("landing_vref", "V<sub>_Ref</sub>:")
583 self.add("landing_vref_tooltip",
584 "A leszállási sebesség csomóban.")
585
586 self.add("flighttype_scheduled", "menetrendszerinti")
587 self.add("flighttype_ot", "old-timer")
588 self.add("flighttype_vip", "VIP")
589 self.add("flighttype_charter", "charter")
590
591 self.add("finish_title", "Lezárás")
592 self.add("finish_help",
593 "Lent olvasható némi statisztika a járat teljesítéséről.\n\n" \
594 "Ellenőrízd az adatokat, az előző oldalakon is, és ha\n" \
595 "megfelelnek, elmentheted vagy elküldheted a PIREP-et.")
596 self.add("finish_rating", "Pontszám:")
597 self.add("finish_flight_time", "Repülési idő:")
598 self.add("finish_block_time", "Blokk idő:")
599 self.add("finish_distance", "Repült táv:")
600 self.add("finish_fuel", "Elhasznált üzemanyag:")
601 self.add("finish_type", "_Típus:")
602 self.add("finish_type_tooltip", "Válaszd ki a repülés típusát.")
603 self.add("finish_online", "_Online repülés")
604 self.add("finish_online_tooltip",
605 "Jelöld be, ha a repülésed a hálózaton történt, egyébként " \
606 "szűntesd meg a kijelölést.")
607 self.add("finish_save", "PIREP _mentése...")
608 self.add("finish_save_tooltip",
609 "Kattints ide, hogy elmenthesd a PIREP-et egy fájlba a számítógépeden. " \
610 "A PIREP-et később be lehet tölteni és el lehet küldeni.")
611 self.add("finish_send", "PIREP _elküldése...")
612 self.add("finish_send_tooltip",
613 "Kattints ide, hogy elküldd a PIREP-et a MAVA szerverére javításra.")
614 self.add("finish_send_busy", "PIREP küldése...")
615 self.add("finish_send_success",
616 "A PIREP elküldése sikeres volt.")
617 self.add("finish_send_success_sec",
618 "Várhatod félelmet nem ismerő PIREP javítóink alapos észrevételeit! :)")
619 self.add("finish_send_already",
620 "Ehhez a járathoz már küldtél be PIREP-et!")
621 self.add("finish_send_already_sec",
622 "A korábban beküldött PIREP-et törölheted a MAVA honlapján.")
623 self.add("finish_send_notavail",
624 "Ez a járat már nem elérhető!")
625 self.add("finish_send_unknown",
626 "A MAVA szervere ismeretlen hibaüzenettel tért vissza.")
627 self.add("finish_send_unknown_sec",
628 "A debug naplóban részletesebb információt találsz.")
629 self.add("finish_send_failed",
630 "Nem tudtam elküldeni a PIREP-et a MAVA szerverére.")
631 self.add("finish_send_failed_sec",
632 "Lehet, hogy hálózati probléma áll fenn, amely esetben később\n" \
633 "újra próbálkozhatsz. Lehet azonban hiba is a loggerben:\n" \
634 "részletesebb információt találhatsz a debug naplóban.")
635
636#------------------------------------------------------------------------------
637
638# The fallback language is English
639_English()
640
641# We also support Hungarian
642_Hungarian()
643
644#------------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.