source: src/mlx/i18n.py@ 172:565a6ea1f630

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

The beginnings of the checklist editor widget

File size: 67.9 KB
Line 
1# Internationalization support
2# -*- coding: utf-8 -*-
3
4#------------------------------------------------------------------------------
5
6import locale
7
8#------------------------------------------------------------------------------
9
10_strings = None
11_fallback = None
12
13#------------------------------------------------------------------------------
14
15def setLanguage(language):
16 """Setup the internationalization support for the given language."""
17 print "i18n.setLanguage", language
18 _Strings.set(language)
19
20#------------------------------------------------------------------------------
21
22def xstr(key):
23 """Get the string for the given key in the current language.
24
25 If not found, the fallback language is searched. If that is not found
26 either, the key itself is returned within curly braces."""
27 s = _Strings.current()[key]
28 if s is None:
29 s = _Strings.fallback()[key]
30 return "{" + key + "}" if s is None else s
31
32#------------------------------------------------------------------------------
33
34class _Strings(object):
35 """A collection of strings belonging to a certain language."""
36 # The registry of the string collections. This is a mapping from
37 # language codes to the actual collection objects
38 _instances = {}
39
40 # The fallback instance
41 _fallback = None
42
43 # The currently used instance.
44 _current = None
45
46 @staticmethod
47 def _find(language):
48 """Find an instance for the given language.
49
50 First the language is searched for as is. If not found, it is truncated
51 from the end until the last underscore and that is searched for. And so
52 on, until no underscore remains.
53
54 If nothing is found this way, the
55 """
56 while language:
57 if language in _Strings._instances:
58 return _Strings._instances[language]
59 underscoreIndex = language.rfind("_")
60 language = language[:underscoreIndex] if underscoreIndex>0 else ""
61 return _Strings._fallback
62
63 @staticmethod
64 def set(language):
65 """Set the string for the given language.
66
67 A String instance is searched for the given language (see
68 _Strings._find()). Otherwise the fallback language is used."""
69 strings = _Strings._find(language)
70 assert strings is not None
71 if _Strings._current is not None and \
72 _Strings._current is not _Strings._fallback:
73 _Strings._current.finalize()
74 if strings is not _Strings._fallback:
75 strings.initialize()
76 _Strings._current = strings
77
78 @staticmethod
79 def fallback():
80 """Get the fallback."""
81 return _Strings._fallback
82
83 @staticmethod
84 def current():
85 """Get the current."""
86 return _Strings._current
87
88 def __init__(self, languages, fallback = False):
89 """Construct an empty strings object."""
90 self._strings = {}
91 for language in languages:
92 _Strings._instances[language] = self
93 if fallback:
94 _Strings._fallback = self
95 self.initialize()
96
97 def initialize(self):
98 """Initialize the strings.
99
100 This should be overridden in children to setup the strings."""
101 pass
102
103 def finalize(self):
104 """Finalize the object.
105
106 This releases the string dictionary to free space."""
107 self._strings = {}
108
109 def add(self, id, s):
110 """Add the given text as the string with the given ID.
111
112 If the ID is already in the object, that is an assertion failure!"""
113 assert id not in self._strings
114 self._strings[id] = s
115
116 def __getitem__(self, key):
117 """Get the string with the given key."""
118 return self._strings[key] if key in self._strings else None
119
120#------------------------------------------------------------------------------
121
122class _English(_Strings):
123 """The strings for the English language."""
124 def __init__(self):
125 """Construct the object."""
126 super(_English, self).__init__(["en_GB", "en"], fallback = True)
127
128 def initialize(self):
129 """Initialize the strings."""
130 self.add("button_ok", "_OK")
131 self.add("button_cancel", "_Cancel")
132 self.add("button_yes", "_Yes")
133 self.add("button_no", "_No")
134 self.add("button_browse", "Browse...")
135
136 self.add("menu_file", "File")
137 self.add("menu_file_loadPIREP", "_Load PIREP...")
138 self.add("menu_file_loadPIREP_key", "l")
139 self.add("menu_file_quit", "_Quit")
140 self.add("menu_file_quit_key", "q")
141 self.add("quit_question", "Are you sure to quit the logger?")
142
143 self.add("menu_tools", "Tools")
144 self.add("menu_tools_chklst", "_Checklist Editor")
145 self.add("menu_tools_chklst_key", "c")
146 self.add("menu_tools_prefs", "_Preferences")
147 self.add("menu_tools_prefs_key", "p")
148
149 self.add("menu_view", "View")
150 self.add("menu_view_monitor", "Show _monitor window")
151 self.add("menu_view_monitor_key", "m")
152 self.add("menu_view_debug", "Show _debug log")
153 self.add("menu_view_debug_key", "d")
154
155 self.add("tab_flight", "_Flight")
156 self.add("tab_flight_tooltip", "Flight wizard")
157 self.add("tab_flight_info", "Flight _info")
158 self.add("tab_flight_info_tooltip", "Further information regarding the flight")
159 self.add("tab_weight_help", "_Help")
160 self.add("tab_weight_help_tooltip", "Help to calculate the weights")
161 self.add("tab_log", "_Log")
162 self.add("tab_log_tooltip",
163 "The log of your flight that will be sent to the MAVA website")
164 self.add("tab_gates", "_Gates")
165 self.add("tab_gates_tooltip", "The status of the MAVA fleet and the gates at LHBP")
166 self.add("tab_debug_log", "_Debug log")
167 self.add("tab_debug_log_tooltip", "Log with debugging information.")
168
169 self.add("conn_failed", "Cannot connect to the simulator.")
170 self.add("conn_failed_sec",
171 "Rectify the situation, and press <b>Try again</b> "
172 "to try the connection again, "
173 "or <b>Cancel</b> to cancel the flight.")
174 self.add("conn_broken",
175 "The connection to the simulator failed unexpectedly.")
176 self.add("conn_broken_sec",
177 "If the simulator has crashed, restart it "
178 "and restore your flight as much as possible "
179 "to the state it was in before the crash. "
180 "Then press <b>Reconnect</b> to reconnect.\n\n"
181 "If you want to cancel the flight, press <b>Cancel</b>.")
182 self.add("button_tryagain", "_Try again")
183 self.add("button_reconnect", "_Reconnect")
184
185 self.add("login", "Login")
186 self.add("loginHelp",
187 "Enter your MAVA pilot's ID and password to\n" \
188 "log in to the MAVA website and download\n" \
189 "your booked flights.")
190 self.add("label_pilotID", "Pil_ot ID:")
191 self.add("login_pilotID_tooltip",
192 "Enter your MAVA pilot's ID. This usually starts with a "
193 "'P' followed by 3 digits.")
194 self.add("label_password", "_Password:")
195 self.add("login_password_tooltip",
196 "Enter the password for your pilot's ID")
197 self.add("remember_password", "_Remember password")
198 self.add("login_remember_tooltip",
199 "If checked, your password will be stored, so that you should "
200 "not have to enter it every time. Note, however, that the password "
201 "is stored as text, and anybody who can access your files will "
202 "be able to read it.")
203 self.add("button_login", "Logi_n")
204 self.add("login_button_tooltip", "Click to log in.")
205 self.add("login_busy", "Logging in...")
206 self.add("login_invalid", "Invalid pilot's ID or password.")
207 self.add("login_invalid_sec",
208 "Check the ID and try to reenter the password.")
209 self.add("login_failconn",
210 "Failed to connect to the MAVA website.")
211 self.add("login_failconn_sec", "Try again in a few minutes.")
212
213 self.add("button_next", "_Next")
214 self.add("button_next_tooltip", "Click to go to the next page.")
215 self.add("button_previous", "_Previous")
216 self.add("button_previous_tooltip", "Click to go to the previous page.")
217
218 self.add("flightsel_title", "Flight selection")
219 self.add("flightsel_help", "Select the flight you want to perform.")
220 self.add("flightsel_chelp", "You have selected the flight highlighted below.")
221 self.add("flightsel_no", "Flight no.")
222 self.add("flightsel_deptime", "Departure time [UTC]")
223 self.add("flightsel_from", "From")
224 self.add("flightsel_to", "To")
225
226 self.add("fleet_busy", "Retrieving fleet...")
227 self.add("fleet_failed",
228 "Failed to retrieve the information on the fleet.")
229 self.add("fleet_update_busy", "Updating plane status...")
230 self.add("fleet_update_failed",
231 "Failed to update the status of the airplane.")
232
233 self.add("gatesel_title", "LHBP gate selection")
234 self.add("gatesel_help",
235 "The airplane's gate position is invalid.\n\n" \
236 "Select the gate from which you\n" \
237 "would like to begin the flight.")
238 self.add("gatesel_conflict", "Gate conflict detected again.")
239 self.add("gatesel_conflict_sec",
240 "Try to select a different gate.")
241
242 self.add("connect_title", "Connect to the simulator")
243 self.add("connect_help",
244 "Load the aircraft below into the simulator and park it\n" \
245 "at the given airport, at the gate below, if present.\n\n" \
246 "Then press the Connect button to connect to the simulator.")
247 self.add("connect_chelp",
248 "The basic data of your flight can be read below.")
249 self.add("connect_flightno", "Flight number:")
250 self.add("connect_acft", "Aircraft:")
251 self.add("connect_tailno", "Tail number:")
252 self.add("connect_airport", "Airport:")
253 self.add("connect_gate", "Gate:")
254 self.add("button_connect", "_Connect")
255 self.add("button_connect_tooltip", "Click to connect to the simulator.")
256 self.add("connect_busy", "Connecting to the simulator...")
257
258 self.add("payload_title", "Payload")
259 self.add("payload_help",
260 "The briefing contains the weights below.\n" \
261 "Setup the cargo weight here and the payload weight "
262 "in the simulator.\n\n" \
263 "You can also check here what the simulator reports as ZFW.")
264 self.add("payload_chelp",
265 "You can see the weights in the briefing\n" \
266 "and the cargo weight you have selected below.\n\n" \
267 "You can also query the ZFW reported by the simulator.")
268 self.add("payload_crew", "Crew:")
269 self.add("payload_pax", "Passengers:")
270 self.add("payload_bag", "Baggage:")
271 self.add("payload_cargo", "_Cargo:")
272 self.add("payload_cargo_tooltip",
273 "The weight of the cargo for your flight.")
274 self.add("payload_mail", "Mail:")
275 self.add("payload_zfw", "Calculated ZFW:")
276 self.add("payload_fszfw", "_ZFW from FS:")
277 self.add("payload_fszfw_tooltip",
278 "Click here to refresh the ZFW value from the simulator.")
279 self.add("payload_zfw_busy", "Querying ZFW...")
280
281 self.add("time_title", "Time")
282 self.add("time_help",
283 "The departure and arrival times are displayed below in UTC.\n\n" \
284 "You can also query the current UTC time from the simulator.\n" \
285 "Ensure that you have enough time to properly prepare for the flight.")
286 self.add("time_chelp",
287 "The departure and arrival times are displayed below in UTC.\n\n" \
288 "You can also query the current UTC time from the simulator.\n")
289 self.add("time_departure", "Departure:")
290 self.add("time_arrival", "Arrival:")
291 self.add("time_fs", "_Time from FS:")
292 self.add("time_fs_tooltip",
293 "Click here to query the current UTC time from the simulator.")
294 self.add("time_busy", "Querying time...")
295
296 self.add("fuel_title", "Fuel")
297 self.add("fuel_help",
298 "Enter the amount of fuel in kilograms that need to be "
299 "present in each tank below.\n\n"
300 "When you press <b>Next</b>, the necessary amount of fuel\n"
301 "will be pumped into or out of the tanks.")
302 self.add("fuel_chelp",
303 "The amount of fuel tanked into your aircraft at the\n"
304 "beginning of the flight can be seen below.")
305
306 self.add("fuel_tank_centre", "_Centre\n")
307 self.add("fuel_tank_left", "L_eft\n")
308 self.add("fuel_tank_right", "_Right\n")
309 self.add("fuel_tank_left_aux", "Left\nA_ux")
310 self.add("fuel_tank_right_aux", "Right\nAu_x")
311 self.add("fuel_tank_left_tip", "Left\n_Tip")
312 self.add("fuel_tank_right_tip", "Right\nTip")
313 self.add("fuel_tank_external1", "External\n_1")
314 self.add("fuel_tank_external2", "External\n_2")
315 self.add("fuel_tank_centre2", "Ce_ntre\n2")
316 self.add("fuel_get_busy", "Querying fuel information...")
317 self.add("fuel_pump_busy", "Pumping fuel...")
318 self.add("fuel_tank_tooltip",
319 "This part displays the current level of the fuel in the "
320 "compared to its capacity. The "
321 '<span color="turquoise">turquoise</span> '
322 "slider shows the level that should be loaded into the tank "
323 "for the flight. You can click anywhere in the widget to "
324 "move the slider there. Or you can grab it by holding down "
325 "the left button of your mouse, and move the pointer up or "
326 "down. The scroll wheel on your mouse also increments or "
327 "decrements the amount of fuel by 10. If you hold down "
328 "the <b>Shift</b> key while scrolling, the steps will be "
329 "100, or with the <b>Control</b> key, 1.")
330
331 self.add("route_title", "Route")
332 self.add("route_help",
333 "Set your cruise flight level below, and\n" \
334 "if necessary, edit the flight plan.")
335 self.add("route_chelp",
336 "If necessary, you can modify the cruise level and\n" \
337 "the flight plan below during flight.\n" \
338 "If so, please, add a comment on why " \
339 "the modification became necessary.")
340 self.add("route_level", "_Cruise level:")
341 self.add("route_level_tooltip",
342 "The cruise flight level. Click on the arrows to increment "
343 "or decrement by 10, or enter the number on the keyboard.")
344 self.add("route_route", "_Route")
345 self.add("route_route_tooltip",
346 "The planned flight route in the standard format.")
347 self.add("route_down_notams", "Downloading NOTAMs...")
348 self.add("route_down_metars", "Downloading METARs...")
349
350 self.add("briefing_title", "Briefing (%d/2): %s")
351 self.add("briefing_departure", "departure")
352 self.add("briefing_arrival", "arrival")
353 self.add("briefing_help",
354 "Read carefully the NOTAMs and METAR below.\n\n" \
355 "You can edit the METAR if your simulator or network\n" \
356 "provides different weather.")
357 self.add("briefing_chelp",
358 "If your simulator or network provides a different\n" \
359 "weather, you can edit the METAR below.")
360 self.add("briefing_notams_init", "LHBP NOTAMs")
361 self.add("briefing_metar_init", "LHBP METAR")
362 self.add("briefing_button",
363 "I have read the briefing and am _ready to fly!")
364 self.add("briefing_notams_template", "%s NOTAMs")
365 self.add("briefing_metar_template", "%s _METAR")
366 self.add("briefing_notams_failed", "Could not download NOTAMs")
367 self.add("briefing_notams_missing",
368 "Could not download NOTAM for this airport")
369 self.add("briefing_metar_failed", "Could not download METAR")
370
371 self.add("takeoff_title", "Takeoff")
372 self.add("takeoff_help",
373 "Enter the runway and SID used, as well as the speeds.")
374 self.add("takeoff_chelp",
375 "The runway, SID and takeoff speeds logged can be seen below.")
376 self.add("takeoff_runway", "Run_way:")
377 self.add("takeoff_runway_tooltip",
378 "The runway the takeoff is performed from.")
379 self.add("takeoff_sid", "_SID:")
380 self.add("takeoff_sid_tooltip",
381 "The name of the Standard Instrument Deparature procedure followed.")
382 self.add("takeoff_v1", "V<sub>_1</sub>:")
383 self.add("takeoff_v1_tooltip", "The takeoff decision speed in knots.")
384 self.add("label_knots", "knots")
385 self.add("takeoff_vr", "V<sub>_R</sub>:")
386 self.add("takeoff_vr_tooltip", "The takeoff rotation speed in knots.")
387 self.add("takeoff_v2", "V<sub>_2</sub>:")
388 self.add("takeoff_v2_tooltip", "The takeoff safety speed in knots.")
389
390 self.add("landing_title", "Landing")
391 self.add("landing_help",
392 "Enter the STAR and/or transition, runway,\n" \
393 "approach type and V<sub>Ref</sub> used.")
394 self.add("landing_chelp",
395 "The STAR and/or transition, runway, approach\n" \
396 "type and V<sub>Ref</sub> logged can be seen below.")
397 self.add("landing_star", "_STAR:")
398 self.add("landing_star_tooltip",
399 "The name of Standard Terminal Arrival Route followed.")
400 self.add("landing_transition", "_Transition:")
401 self.add("landing_transition_tooltip",
402 "The name of transition executed or VECTORS if vectored by ATC.")
403 self.add("landing_runway", "Run_way:")
404 self.add("landing_runway_tooltip",
405 "The runway the landing is performed on.")
406 self.add("landing_approach", "_Approach type:")
407 self.add("landing_approach_tooltip",
408 "The type of the approach, e.g. ILS or VISUAL.")
409 self.add("landing_vref", "V<sub>_Ref</sub>:")
410 self.add("landing_vref_tooltip",
411 "The landing reference speed in knots.")
412
413 self.add("flighttype_scheduled", "scheduled")
414 self.add("flighttype_ot", "old-timer")
415 self.add("flighttype_vip", "VIP")
416 self.add("flighttype_charter", "charter")
417
418 self.add("finish_title", "Finish")
419 self.add("finish_help",
420 "There are some statistics about your flight below.\n\n" \
421 "Review the data, also on earlier pages, and if you are\n" \
422 "satisfied, you can save or send your PIREP.")
423 self.add("finish_rating", "Flight rating:")
424 self.add("finish_flight_time", "Flight time:")
425 self.add("finish_block_time", "Block time:")
426 self.add("finish_distance", "Distance flown:")
427 self.add("finish_fuel", "Fuel used:")
428 self.add("finish_type", "_Type:")
429 self.add("finish_type_tooltip", "Select the type of the flight.")
430 self.add("finish_online", "_Online flight")
431 self.add("finish_online_tooltip",
432 "Check if your flight was online, uncheck otherwise.")
433 self.add("finish_gate", "_Arrival gate:")
434 self.add("finish_gate_tooltip",
435 "Select the gate or stand at which you have arrived to LHBP.")
436 self.add("finish_save", "Sa_ve PIREP...")
437 self.add("finish_save_tooltip",
438 "Click to save the PIREP into a file on your computer. " \
439 "The PIREP can be loaded and sent later.")
440 self.add("finish_save_title", "Save PIREP into")
441 self.add("finish_save_done", "The PIREP was saved successfully")
442 self.add("finish_save_failed", "Failed to save the PIREP")
443 self.add("finish_save_failed_sec", "See the debug log for the details.")
444
445 # C D
446
447 self.add("info_comments", "_Comments")
448 self.add("info_defects", "Flight _defects")
449 self.add("info_delay", "Delay codes")
450
451 # O V N E Y T R A W P
452
453 self.add("info_delay_loading", "L_oading problems")
454 self.add("info_delay_vatsim", "_VATSIM problem")
455 self.add("info_delay_net", "_Net problems")
456 self.add("info_delay_atc", "Controll_er's fault")
457 self.add("info_delay_system", "S_ystem crash/freeze")
458 self.add("info_delay_nav", "Naviga_tion problem")
459 self.add("info_delay_traffic", "T_raffic problems")
460 self.add("info_delay_apron", "_Apron navigation problem")
461 self.add("info_delay_weather", "_Weather problems")
462 self.add("info_delay_personal", "_Personal reasons")
463
464 self.add("statusbar_conn_tooltip",
465 'The state of the connection.\n'
466 '<span foreground="grey">Grey</span> means idle.\n'
467 '<span foreground="red">Red</span> means trying to connect.\n'
468 '<span foreground="green">Green</span> means connected.')
469 self.add("statusbar_stage_tooltip", "The flight stage")
470 self.add("statusbar_time_tooltip", "The simulator time in UTC")
471 self.add("statusbar_rating_tooltip", "The flight rating")
472 self.add("statusbar_busy_tooltip", "The status of the background tasks.")
473
474 self.add("flight_stage_boarding", "boarding")
475 self.add("flight_stage_pushback and taxi", "pushback and taxi")
476 self.add("flight_stage_takeoff", "takeoff")
477 self.add("flight_stage_RTO", "RTO")
478 self.add("flight_stage_climb", "climb")
479 self.add("flight_stage_cruise", "cruise")
480 self.add("flight_stage_descent", "descent")
481 self.add("flight_stage_landing", "landing")
482 self.add("flight_stage_taxi", "taxi")
483 self.add("flight_stage_parking", "parking")
484 self.add("flight_stage_go-around", "go-around")
485 self.add("flight_stage_end", "end")
486
487 self.add("statusicon_showmain", "Show main window")
488 self.add("statusicon_showmonitor", "Show monitor window")
489 self.add("statusicon_quit", "Quit")
490 self.add("statusicon_stage", "Stage")
491 self.add("statusicon_rating", "Rating")
492
493 self.add("update_title", "Update")
494 self.add("update_needsudo",
495 "There is an update available, but the program cannot write\n"
496 "its directory due to insufficient privileges.\n\n"
497 "Click OK, if you want to run a helper program\n"
498 "with administrator privileges "
499 "to complete the update,\n"
500 "Cancel otherwise.")
501 self.add("update_manifest_progress", "Downloading manifest...")
502 self.add("update_manifest_done", "Downloaded manifest...")
503 self.add("update_files_progress", "Downloading files...")
504 self.add("update_files_bytes", "Downloaded %d of %d bytes")
505 self.add("update_renaming", "Renaming downloaded files...")
506 self.add("update_renamed", "Renamed %s")
507 self.add("update_removing", "Removing files...")
508 self.add("update_removed", "Removed %s")
509 self.add("update_writing_manifest", "Writing the new manifest")
510 self.add("update_finished",
511 "Finished updating. Press OK to restart the program.")
512 self.add("update_nothing", "There was nothing to update")
513 self.add("update_failed", "Failed, see the debug log for details.")
514
515 self.add("weighthelp_usinghelp", "_Using help")
516 self.add("weighthelp_usinghelp_tooltip",
517 "If you check this, some help will be displayed on how "
518 "to calculate the payload weight for your flight. "
519 "Note, that the usage of this facility will be logged.")
520 self.add("weighthelp_header_calculated", "Requested/\ncalculated")
521 self.add("weighthelp_header_simulator", "Simulator\ndata")
522 self.add("weighthelp_header_simulator_tooltip",
523 "Click this button to retrieve the weight values from the "
524 "simulator, which will be displayed below. If a value is "
525 "within 10% of the tolerance, it is displayed in "
526 '<b><span foreground="darkgreen">green</span></b>, '
527 "if it is out of the tolerance, it is displayed in "
528 '<b><span foreground="red">red</span></b>, '
529 "otherwise in"
530 '<b><span foreground="orange">yellow</span></b>.')
531 self.add("weighthelp_crew", "Crew (%s):")
532 self.add("weighthelp_pax", "Passengers (%s):")
533 self.add("weighthelp_baggage", "Baggage:")
534 self.add("weighthelp_cargo", "Cargo:")
535 self.add("weighthelp_mail", "Mail:")
536 self.add("weighthelp_payload", "Payload:")
537 self.add("weighthelp_dow", "DOW:")
538 self.add("weighthelp_zfw", "ZFW:")
539 self.add("weighthelp_gross", "Gross weight:")
540 self.add("weighthelp_mzfw", "MZFW:")
541 self.add("weighthelp_mtow", "MTOW:")
542 self.add("weighthelp_mlw", "MLW:")
543 self.add("weighthelp_busy", "Querying weight data...")
544
545 self.add("gates_fleet_title", "Fl_eet")
546 self.add("gates_gates_title", "LHBP gates")
547 self.add("gates_tailno", "Tail nr.")
548 self.add("gates_planestatus", "Status")
549 self.add("gates_refresh", "_Refresh data")
550 self.add("gates_refresh_tooltip",
551 "Click this button to refresh the status data above")
552 self.add("gates_planes_tooltip",
553 "This table lists all the planes in the MAVA fleet and their "
554 "last known location. If a plane is conflicting with another "
555 "because of occupying the same gate its data is displayed in "
556 "<b><span foreground=\"red\">red</span></b>.")
557 self.add("gates_gates_tooltip",
558 "The numbers of the gates occupied by MAVA planes are "
559 "displayed in "
560 '<b><span foreground="orange">yellow</span></b>, '
561 "while available gates in black.")
562 self.add("gates_plane_away", "AWAY")
563 self.add("gates_plane_parking", "PARKING")
564 self.add("gates_plane_unknown", "UNKNOWN")
565
566 self.add("prefs_title", "Preferences")
567 self.add("prefs_tab_general", "_General")
568 self.add("prefs_tab_general_tooltip", "General preferences")
569 self.add("prefs_tab_messages", "_Messages")
570 self.add("prefs_tab_message_tooltip",
571 "Enable/disable message notifications in FS and/or by sound")
572 self.add("prefs_tab_sounds", "_Sounds")
573 self.add("prefs_tab_sounds_tooltip",
574 "Preferences regarding what sounds should be played during the various flight stages")
575 self.add("prefs_tab_advanced", "_Advanced")
576 self.add("prefs_tab_advanced_tooltip",
577 "Advanced preferences, edit with care!")
578 self.add("prefs_language", "_Language:")
579 self.add("prefs_language_tooltip",
580 "The language of the program")
581 self.add("prefs_restart",
582 "Restart needed")
583 self.add("prefs_language_restart_sec",
584 "If you change the language, the program should be restarted "
585 "so that the change has an effect.")
586 self.add("prefs_lang_$system", "system default")
587 self.add("prefs_lang_en_GB", "English")
588 self.add("prefs_lang_hu_HU", "Hungarian")
589 self.add("prefs_hideMinimizedWindow",
590 "_Hide the main window when minimized")
591 self.add("prefs_hideMinimizedWindow_tooltip",
592 "If checked, the main window will be hidden completely "
593 "when minimized. You can still make it appear by "
594 "clicking on the status icon or using its popup menu.")
595 self.add("prefs_onlineGateSystem",
596 "_Use the Online Gate System")
597 self.add("prefs_onlineGateSystem_tooltip",
598 "If this is checked, the logger will query and update the "
599 "LHBP Online Gate System.")
600 self.add("prefs_onlineACARS",
601 "Use the Online ACA_RS System")
602 self.add("prefs_onlineACARS_tooltip",
603 "If this is checked, the logger will continuously update "
604 "the MAVA Online ACARS System with your flight's data.")
605 self.add("prefs_flaretimeFromFS",
606 "Take flare _time from the simulator")
607 self.add("prefs_flaretimeFromFS_tooltip",
608 "If this is checked, the time of the flare will be calculated "
609 "from timestamps returned by the simulator.")
610 self.add("prefs_syncFSTime",
611 "S_ynchronize the time in FS with the computer's clock")
612 self.add("prefs_syncFSTime_tooltip",
613 "If this is checked the flight simulator's internal clock "
614 "will always be synchronized to the computer's clock.")
615 self.add("prefs_pirepDirectory",
616 "_PIREP directory:")
617 self.add("prefs_pirepDirectory_tooltip",
618 "The directory that will be offered by default when "
619 "saving a PIREP.")
620 self.add("prefs_pirepDirectory_browser_title",
621 "Select PIREP directory")
622
623 self.add("chklst_title", "Checklist Editor")
624
625 self.add("prefs_sounds_frame_bg", "Background")
626 self.add("prefs_sounds_enable",
627 "_Enable background sounds")
628 self.add("prefs_sounds_enable_tooltip",
629 "If the background sounds are enabled, the logger "
630 "can play different pre-recorded sounds during the "
631 "various stages of the flight.")
632 self.add("prefs_sounds_pilotControls",
633 "_Pilot controls the sounds")
634 self.add("prefs_sounds_pilotControls_tooltip",
635 "If checked, the background sounds can be started by the "
636 "pilot by pressing the hotkey specified below. Otherwise "
637 "the sounds will start automatically when certain "
638 "conditions hold.")
639 self.add("prefs_sounds_pilotHotkey",
640 "_Hotkey:")
641 self.add("prefs_sounds_pilotHotkey_tooltip",
642 "The key to press possibly together with modifiers to play "
643 "the sound relevant to the current flight status.")
644 self.add("prefs_sounds_pilotHotkeyCtrl_tooltip",
645 "If checked, the Ctrl key should be pressed together with the "
646 "main key.")
647 self.add("prefs_sounds_pilotHotkeyShift_tooltip",
648 "If checked, the Shift key should be pressed together with the "
649 "main key.")
650 self.add("prefs_sounds_approachCallOuts",
651 "Enable approach callouts")
652 self.add("prefs_sounds_approachCallOuts_tooltip",
653 "If checked, the approach callouts will be played at "
654 "certain altitudes.")
655 self.add("prefs_sounds_speedbrakeAtTD",
656 "Enable speed_brake sound at touchdown")
657 self.add("prefs_sounds_speedbrakeAtTD_tooltip",
658 "If checked, a speedbrake sound will be played after "
659 "touchdown, when the speedbrakes deploy.")
660 self.add("prefs_sounds_frame_checklists", "Checklists")
661 self.add("prefs_sounds_enableChecklists",
662 "E_nable aircraft-specific checklists")
663 self.add("prefs_sounds_enableChecklists_tooltip",
664 "If checked, the program will play back pre-recorded "
665 "aircraft-specific checklists at the pilot's discretion.")
666 self.add("prefs_sounds_checklistHotkey",
667 "Checklist hot_key:")
668 self.add("prefs_sounds_checklistHotkey_tooltip",
669 "The key to press possibly together with modifiers to play the next "
670 "checklist item.")
671 self.add("prefs_sounds_checklistHotkeyCtrl_tooltip",
672 "If checked, the Ctrl key should be pressed together with the "
673 "main key.")
674 self.add("prefs_sounds_checklistHotkeyShift_tooltip",
675 "If checked, the Shift key should be pressed together with the "
676 "main key.")
677
678 self.add("prefs_update_auto", "Update the program auto_matically")
679 self.add("prefs_update_auto_tooltip",
680 "If checked the program will look for updates when "
681 "it is starting, and if new updates are found, they "
682 "will be downloaded and installed. This ensures that "
683 "the PIREP you send will always conform to the latest "
684 "expectations of the airline.")
685 self.add("prefs_update_auto_warning",
686 "Disabling automatic updates may result in "
687 "your version of the program becoming out of date "
688 "and your PIREPs not being accepted.")
689 self.add("prefs_update_url", "Update _URL:")
690 self.add("prefs_update_url_tooltip",
691 "The URL from which to download the updates. Change this "
692 "only if you know what you are doing!")
693
694 # A C G M O S
695
696 self.add("prefs_msgs_fs", "Displayed in FS")
697 self.add("prefs_msgs_sound", "Sound alert")
698 self.add("prefs_msgs_type_loggerError", "Logger _Error Messages")
699 self.add("prefs_msgs_type_information",
700 "_Information Messages\n(e.g. flight status)")
701 self.add("prefs_msgs_type_fault",
702 "_Fault Messages\n(e.g. strobe light fault)")
703 self.add("prefs_msgs_type_nogo",
704 "_NOGO Fault messages\n(e.g. MTOW NOGO)")
705 self.add("prefs_msgs_type_gateSystem",
706 "Ga_te System Messages\n(e.g. available gates)")
707 self.add("prefs_msgs_type_environment",
708 "Envi_ronment Messages\n(e.g. \"welcome to XY aiport\")")
709 self.add("prefs_msgs_type_help",
710 "_Help Messages\n(e.g. \"don't forget to set VREF\")")
711 self.add("prefs_msgs_type_visibility",
712 "_Visibility Messages")
713
714 self.add("loadPIREP_browser_title", "Select the PIREP to load")
715 self.add("loadPIREP_filter_pireps", "PIREP files")
716 self.add("loadPIREP_filter_all", "All files")
717 self.add("loadPIREP_failed", "Failed to load the PIREP")
718 self.add("loadPIREP_failed_sec", "See the debug log for the details.")
719 self.add("loadPIREP_send_title", "PIREP")
720 self.add("loadPIREP_send_help",
721 "The main data of the PIREP loaded:")
722 self.add("loadPIREP_send_flightno", "Flight number:")
723 self.add("loadPIREP_send_date", "Date:")
724 self.add("loadPIREP_send_from", "From:")
725 self.add("loadPIREP_send_to", "To:")
726 self.add("loadPIREP_send_rating", "Rating:")
727
728 self.add("sendPIREP", "_Send PIREP...")
729 self.add("sendPIREP_tooltip",
730 "Click to send the PIREP to the MAVA website for further review.")
731 self.add("sendPIREP_busy", "Sending PIREP...")
732 self.add("sendPIREP_success",
733 "The PIREP was sent successfully.")
734 self.add("sendPIREP_success_sec",
735 "Await the thorough scrutiny by our fearless PIREP reviewers! :)")
736 self.add("sendPIREP_already",
737 "The PIREP for this flight has already been sent!")
738 self.add("sendPIREP_already_sec",
739 "You may clear the old PIREP on the MAVA website.")
740 self.add("sendPIREP_notavail",
741 "This flight is not available anymore!")
742 self.add("sendPIREP_unknown",
743 "The MAVA website returned with an unknown error.")
744 self.add("sendPIREP_unknown_sec",
745 "See the debug log for more information.")
746 self.add("sendPIREP_failed",
747 "Could not send the PIREP to the MAVA website.")
748 self.add("sendPIREP_failed_sec",
749 "This can be a network problem, in which case\n" \
750 "you may try again later. Or it can be a bug;\n" \
751 "see the debug log for more information.")
752
753#------------------------------------------------------------------------------
754
755class _Hungarian(_Strings):
756 """The strings for the Hungarian language."""
757 def __init__(self):
758 """Construct the object."""
759 super(_Hungarian, self).__init__(["hu_HU", "hu"])
760
761 def initialize(self):
762 """Initialize the strings."""
763 self.add("button_ok", "_OK")
764 self.add("button_cancel", "_Mégse")
765 self.add("button_yes", "_Igen")
766 self.add("button_no", "_Nem")
767 self.add("button_browse", "Keresés...")
768
769 self.add("menu_file", "Fájl")
770 self.add("menu_file_loadPIREP", "PIREP be_töltése...")
771 self.add("menu_file_loadPIREP_key", "t")
772 self.add("menu_file_quit", "_Kilépés")
773 self.add("menu_file_quit_key", "k")
774 self.add("quit_question", "Biztosan ki akarsz lépni?")
775
776 self.add("menu_tools", "Eszközök")
777 self.add("menu_tools_chklst", "_Ellenörzőlista szerkesztő")
778 self.add("menu_tools_chklst_key", "e")
779 self.add("menu_tools_prefs", "_Beállítások")
780 self.add("menu_tools_prefs_key", "b")
781
782 self.add("menu_view", "Nézet")
783 self.add("menu_view_monitor", "Mutasd a _monitor ablakot")
784 self.add("menu_view_monitor_key", "m")
785 self.add("menu_view_debug", "Mutasd a _debug naplót")
786 self.add("menu_view_debug_key", "d")
787
788 self.add("tab_flight", "_Járat")
789 self.add("tab_flight_tooltip", "Járat varázsló")
790 self.add("tab_flight_info", "Járat _info")
791 self.add("tab_flight_info_tooltip", "Egyéb információk a járat teljesítésével kapcsolatban")
792 self.add("tab_weight_help", "_Segítség")
793 self.add("tab_weight_help_tooltip", "Segítség a súlyszámításhoz")
794 self.add("tab_log", "_Napló")
795 self.add("tab_log_tooltip",
796 "A járat naplója, amit majd el lehet küldeni a MAVA szerverére")
797 self.add("tab_gates", "_Kapuk")
798 self.add("tab_gates_tooltip", "A MAVA flotta és LHBP kapuinak állapota")
799 self.add("tab_debug_log", "_Debug napló")
800 self.add("tab_debug_log_tooltip",
801 "Hibakereséshez használható információkat tartalmazó napló.")
802
803 self.add("conn_failed", "Nem tudtam kapcsolódni a szimulátorhoz.")
804 self.add("conn_failed_sec",
805 "Korrigáld a problémát, majd nyomd meg az "
806 "<b>Próbáld újra</b> gombot a újrakapcsolódáshoz, "
807 "vagy a <b>Mégse</b> gombot a járat megszakításához.")
808 self.add("conn_broken",
809 "A szimulátorral való kapcsolat váratlanul megszakadt.")
810 self.add("conn_broken_sec",
811 "Ha a szimulátor elszállt, indítsd újra "
812 "és állítsd vissza a repülésed elszállás előtti "
813 "állapotát amennyire csak lehet. "
814 "Ezután nyomd meg az <b>Újrakapcsolódás</b> gombot "
815 "a kapcsolat ismételt felvételéhez.\n\n"
816 "Ha meg akarod szakítani a repülést, nyomd meg a "
817 "<b>Mégse</b> gombot.")
818 self.add("button_tryagain", "_Próbáld újra")
819 self.add("button_reconnect", "Újra_kapcsolódás")
820
821 self.add("login", "Bejelentkezés")
822 self.add("loginHelp",
823 "Írd be a MAVA pilóta azonosítódat és a\n" \
824 "bejelentkezéshez használt jelszavadat,\n" \
825 "hogy választhass a foglalt járataid közül.")
826 self.add("label_pilotID", "_Azonosító:")
827 self.add("login_pilotID_tooltip",
828 "Írd be a MAVA pilóta azonosítódat. Ez általában egy 'P' "
829 "betűvel kezdődik, melyet 3 számjegy követ.")
830 self.add("label_password", "Je_lszó:")
831 self.add("login_password_tooltip",
832 "Írd be a pilóta azonosítódhoz tartozó jelszavadat.")
833 self.add("remember_password", "_Emlékezz a jelszóra")
834 self.add("login_remember_tooltip",
835 "Ha ezt kiválasztod, a jelszavadat eltárolja a program, így "
836 "nem kell mindig újból beírnod. Vedd azonban figyelembe, "
837 "hogy a jelszót szövegként tároljuk, így bárki elolvashatja, "
838 "aki hozzáfér a fájljaidhoz.")
839 self.add("button_login", "_Bejelentkezés")
840 self.add("login_button_tooltip", "Kattints ide a bejelentkezéshez.")
841 self.add("login_busy", "Bejelentkezés...")
842 self.add("login_invalid", "Érvénytelen azonosító vagy jelszó.")
843 self.add("login_invalid_sec",
844 "Ellenőrízd az azonosítót, és próbáld meg újra beírni a jelszót.")
845 self.add("login_failconn",
846 "Nem sikerült kapcsolódni a MAVA honlaphoz.")
847 self.add("login_failconn_sec", "Próbáld meg pár perc múlva.")
848
849 self.add("button_next", "_Előre")
850 self.add("button_next_tooltip",
851 "Kattints ide, hogy a következő lapra ugorj.")
852 self.add("button_previous", "_Vissza")
853 self.add("button_previous_tooltip",
854 "Kattints ide, hogy az előző lapra ugorj.")
855
856 self.add("flightsel_title", "Járatválasztás")
857 self.add("flightsel_help", "Válaszd ki a járatot, amelyet le szeretnél repülni.")
858 self.add("flightsel_chelp", "A lent kiemelt járatot választottad.")
859 self.add("flightsel_no", "Járatszám")
860 self.add("flightsel_deptime", "Indulás ideje [UTC]")
861 self.add("flightsel_from", "Honnan")
862 self.add("flightsel_to", "Hová")
863
864 self.add("fleet_busy", "Flottaadatok letöltése...")
865 self.add("fleet_failed",
866 "Nem sikerült letöltenem a flotta adatait.")
867 self.add("fleet_update_busy", "Repülőgép pozíció frissítése...")
868 self.add("fleet_update_failed",
869 "Nem sikerült frissítenem a repülőgép pozícióját.")
870
871 self.add("gatesel_title", "LHBP kapuválasztás")
872 self.add("gatesel_help",
873 "A repülőgép kapu pozíciója érvénytelen.\n\n" \
874 "Válaszd ki azt a kaput, ahonnan\n" \
875 "el szeretnéd kezdeni a járatot.")
876 self.add("gatesel_conflict", "Ismét kapuütközés történt.")
877 self.add("gatesel_conflict_sec",
878 "Próbálj egy másik kaput választani.")
879
880 self.add("connect_title", "Kapcsolódás a szimulátorhoz")
881 self.add("connect_help",
882 "Tölsd be a lent látható repülőgépet a szimulátorba\n" \
883 "az alább megadott reptérre és kapuhoz.\n\n" \
884 "Ezután nyomd meg a Kapcsolódás gombot a kapcsolódáshoz.")
885 self.add("connect_chelp",
886 "A járat alapadatai lent olvashatók.")
887 self.add("connect_flightno", "Járatszám:")
888 self.add("connect_acft", "Típus:")
889 self.add("connect_tailno", "Lajstromjel:")
890 self.add("connect_airport", "Repülőtér:")
891 self.add("connect_gate", "Kapu:")
892 self.add("button_connect", "K_apcsolódás")
893 self.add("button_connect_tooltip",
894 "Kattints ide a szimulátorhoz való kapcsolódáshoz.")
895 self.add("connect_busy", "Kapcsolódás a szimulátorhoz...")
896
897 self.add("payload_title", "Terhelés")
898 self.add("payload_help",
899 "Az eligazítás az alábbi tömegeket tartalmazza.\n" \
900 "Allítsd be a teherszállítmány tömegét itt, a hasznos "
901 "terhet pedig a szimulátorban.\n\n" \
902 "Azt is ellenőrízheted, hogy a szimulátor milyen ZFW-t jelent.")
903 self.add("payload_chelp",
904 "Lent láthatók az eligazításban szereplő tömegek, valamint\n" \
905 "a teherszállítmány általad megadott tömege.\n\n" \
906 "Azt is ellenőrízheted, hogy a szimulátor milyen ZFW-t jelent.")
907 self.add("payload_crew", "Legénység:")
908 self.add("payload_pax", "Utasok:")
909 self.add("payload_bag", "Poggyász:")
910 self.add("payload_cargo", "_Teher:")
911 self.add("payload_cargo_tooltip",
912 "A teherszállítmány tömege.")
913 self.add("payload_mail", "Posta:")
914 self.add("payload_zfw", "Kiszámolt ZFW:")
915 self.add("payload_fszfw", "_ZFW a szimulátorból:")
916 self.add("payload_fszfw_tooltip",
917 "Kattints ide, hogy frissítsd a ZFW értékét a szimulátorból.")
918 self.add("payload_zfw_busy", "ZFW lekérdezése...")
919
920 self.add("time_title", "Menetrend")
921 self.add("time_help",
922 "Az indulás és az érkezés ideje lent látható UTC szerint.\n\n" \
923 "A szimulátor aktuális UTC szerinti idejét is lekérdezheted.\n" \
924 "Győzödj meg arról, hogy elég időd van a repülés előkészítéséhez.")
925 self.add("time_chelp",
926 "Az indulás és az érkezés ideje lent látható UTC szerint.\n\n" \
927 "A szimulátor aktuális UTC szerinti idejét is lekérdezheted.")
928 self.add("time_departure", "Indulás:")
929 self.add("time_arrival", "Érkezés:")
930 self.add("time_fs", "Idő a s_zimulátorból:")
931 self.add("time_fs_tooltip",
932 "Kattings ide, hogy frissítsd a szimulátor aktuális UTC szerint idejét.")
933 self.add("time_busy", "Idő lekérdezése...")
934
935 self.add("fuel_title", "Üzemanyag")
936 self.add("fuel_help",
937 "Írd be az egyes tartályokba szükséges üzemanyag "
938 "mennyiségét kilogrammban.\n\n"
939 "Ha megnyomod az <b>Előre</b> gombot, a megadott mennyiségű\n"
940 "üzemanyag bekerül a tartályokba.")
941 self.add("fuel_chelp",
942 "A repülés elején az egyes tartályokba tankolt\n"
943 "üzemanyag mennyisége lent látható.")
944
945 # A B D E I G J K N O P S T V Y Z
946
947 self.add("fuel_tank_centre", "Kö_zépső\n")
948 self.add("fuel_tank_left", "_Bal\n")
949 self.add("fuel_tank_right", "J_obb\n")
950 self.add("fuel_tank_left_aux", "Bal\nkie_gészítő")
951 self.add("fuel_tank_right_aux", "Jobb\nkiegészí_tő")
952 self.add("fuel_tank_left_tip", "B_al\nszárnyvég")
953 self.add("fuel_tank_right_tip", "Jobb\nszárn_yvég")
954 self.add("fuel_tank_external1", "Külső\n_1")
955 self.add("fuel_tank_external2", "Külső\n_2")
956 self.add("fuel_tank_centre2", "Közé_pső\n2")
957 self.add("fuel_get_busy", "Az üzemanyag lekérdezése...")
958 self.add("fuel_pump_busy", "Az üzemanyag pumpálása...")
959 self.add("fuel_tank_tooltip",
960 "Ez mutatja az üzemanyag szintjét a tartályban annak "
961 "kapacitásához mérve. A "
962 '<span color="turquoise">türkizkék</span> '
963 "csúszka mutatja a repüléshez kívánt szintet. "
964 "Ha a bal gombbal bárhová kattintasz az ábrán, a csúszka "
965 "odaugrik. Ha a gombot lenyomva tartod, és az egérmutatót "
966 "föl-le mozgatod, a csúszka követi azt. Az egered görgőjével "
967 "is kezelheted a csúszkát. Alaphelyzetben az üzemanyag "
968 "mennyisége 10-zel nő, illetve csökken a görgetés irányától "
969 "függően. Ha a <b>Shift</b> billentyűt lenyomva tartod, "
970 "növekmény 100, a <b>Control</b> billentyűvel pedig 1 lesz.")
971
972 self.add("route_title", "Útvonal")
973 self.add("route_help",
974 "Állítsd be az utazószintet lent, és ha szükséges,\n" \
975 "módosítsd az útvonaltervet.")
976 self.add("route_chelp",
977 "Ha szükséges, lent módosíthatod az utazószintet és\n" \
978 "az útvonaltervet repülés közben is.\n" \
979 "Ha így teszel, légy szíves a megjegyzés mezőben " \
980 "ismertesd ennek okát.")
981 self.add("route_level", "_Utazószint:")
982 self.add("route_level_tooltip", "Az utazószint.")
983 self.add("route_route", "Út_vonal")
984 self.add("route_route_tooltip", "Az útvonal a szokásos formátumban.")
985 self.add("route_down_notams", "NOTAM-ok letöltése...")
986 self.add("route_down_metars", "METAR-ok letöltése...")
987
988 self.add("briefing_title", "Eligazítás (%d/2): %s")
989 self.add("briefing_departure", "indulás")
990 self.add("briefing_arrival", "érkezés")
991 self.add("briefing_help",
992 "Olvasd el figyelmesen a lenti NOTAM-okat és METAR-t.\n\n" \
993 "Ha a szimulátor vagy hálózat más időjárást ad,\n" \
994 "a METAR-t módosíthatod.")
995 self.add("briefing_chelp",
996 "Ha a szimulátor vagy hálózat más időjárást ad,\n" \
997 "a METAR-t módosíthatod.")
998 self.add("briefing_notams_init", "LHBP NOTAM-ok")
999 self.add("briefing_metar_init", "LHBP METAR")
1000 self.add("briefing_button",
1001 "Elolvastam az eligazítást, és készen állok a _repülésre!")
1002 self.add("briefing_notams_template", "%s NOTAM-ok")
1003 self.add("briefing_metar_template", "%s _METAR")
1004 self.add("briefing_notams_failed", "Nem tudtam letölteni a NOTAM-okat.")
1005 self.add("briefing_notams_missing",
1006 "Ehhez a repülőtérhez nem találtam NOTAM-ot.")
1007 self.add("briefing_metar_failed", "Nem tudtam letölteni a METAR-t.")
1008
1009 self.add("takeoff_title", "Felszállás")
1010 self.add("takeoff_help",
1011 "Írd be a felszállásra használt futópálya és SID nevét, valamint a sebességeket.")
1012 self.add("takeoff_chelp",
1013 "A naplózott futópálya, SID és a sebességek lent olvashatók.")
1014 self.add("takeoff_runway", "_Futópálya:")
1015 self.add("takeoff_runway_tooltip",
1016 "A felszállásra használt futópálya.")
1017 self.add("takeoff_sid", "_SID:")
1018 self.add("takeoff_sid_tooltip",
1019 "Az alkalmazott szabványos műszeres indulási eljárás neve.")
1020 self.add("takeoff_v1", "V<sub>_1</sub>:")
1021 self.add("takeoff_v1_tooltip", "Az elhatározási sebesség csomóban.")
1022 self.add("label_knots", "csomó")
1023 self.add("takeoff_vr", "V<sub>_R</sub>:")
1024 self.add("takeoff_vr_tooltip", "Az elemelkedési sebesség csomóban.")
1025 self.add("takeoff_v2", "V<sub>_2</sub>:")
1026 self.add("takeoff_v2_tooltip", "A biztonságos emelkedési sebesség csomóban.")
1027
1028 self.add("landing_title", "Leszállás")
1029 self.add("landing_help",
1030 "Írd be az alkalmazott STAR és/vagy bevezetési eljárás nevét,\n"
1031 "a használt futópályát, a megközelítés módját, és a V<sub>Ref</sub>-et.")
1032 self.add("landing_chelp",
1033 "Az alkalmazott STAR és/vagy bevezetési eljárás neve, a használt\n"
1034 "futópálya, a megközelítés módja és a V<sub>Ref</sub> lent olvasható.")
1035 self.add("landing_star", "_STAR:")
1036 self.add("landing_star_tooltip",
1037 "A követett szabványos érkezési eljárás neve.")
1038 self.add("landing_transition", "_Bevezetés:")
1039 self.add("landing_transition_tooltip",
1040 "Az alkalmazott bevezetési eljárás neve, vagy VECTORS, "
1041 "ha az irányítás vezetett be.")
1042 self.add("landing_runway", "_Futópálya:")
1043 self.add("landing_runway_tooltip",
1044 "A leszállásra használt futópálya.")
1045 self.add("landing_approach", "_Megközelítés típusa:")
1046 self.add("landing_approach_tooltip",
1047 "A megközelítgés típusa, pl. ILS vagy VISUAL.")
1048 self.add("landing_vref", "V<sub>_Ref</sub>:")
1049 self.add("landing_vref_tooltip",
1050 "A leszállási sebesség csomóban.")
1051
1052 self.add("flighttype_scheduled", "menetrendszerinti")
1053 self.add("flighttype_ot", "old-timer")
1054 self.add("flighttype_vip", "VIP")
1055 self.add("flighttype_charter", "charter")
1056
1057 self.add("finish_title", "Lezárás")
1058 self.add("finish_help",
1059 "Lent olvasható némi statisztika a járat teljesítéséről.\n\n" \
1060 "Ellenőrízd az adatokat, az előző oldalakon is, és ha\n" \
1061 "megfelelnek, elmentheted vagy elküldheted a PIREP-et.")
1062 self.add("finish_rating", "Pontszám:")
1063 self.add("finish_flight_time", "Repülési idő:")
1064 self.add("finish_block_time", "Blokk idő:")
1065 self.add("finish_distance", "Repült táv:")
1066 self.add("finish_fuel", "Elhasznált üzemanyag:")
1067 self.add("finish_type", "_Típus:")
1068 self.add("finish_type_tooltip", "Válaszd ki a repülés típusát.")
1069 self.add("finish_online", "_Online repülés")
1070 self.add("finish_online_tooltip",
1071 "Jelöld be, ha a repülésed a hálózaton történt, egyébként " \
1072 "szűntesd meg a kijelölést.")
1073 self.add("finish_gate", "_Érkezési kapu:")
1074 self.add("finish_gate_tooltip",
1075 "Válaszd ki azt a kaput vagy állóhelyet, ahová érkeztél LHBP-n.")
1076 self.add("finish_save", "PIREP _mentése...")
1077 self.add("finish_save_tooltip",
1078 "Kattints ide, hogy elmenthesd a PIREP-et egy fájlba a számítógépeden. " \
1079 "A PIREP-et később be lehet tölteni és el lehet küldeni.")
1080 self.add("finish_save_title", "PIREP mentése")
1081 self.add("finish_save_done", "A PIREP mentése sikerült")
1082 self.add("finish_save_failed", "A PIREP mentése nem sikerült")
1083 self.add("finish_save_failed_sec", "A részleteket lásd a debug naplóban.")
1084
1085 # M A
1086
1087 self.add("info_comments", "_Megjegyzések")
1088 self.add("info_defects", "Hib_ajelenségek")
1089 self.add("info_delay", "Késés kódok")
1090
1091 # B V H Y R G F E P Z
1092
1093 self.add("info_delay_loading", "_Betöltési problémák")
1094 self.add("info_delay_vatsim", "_VATSIM probléma")
1095 self.add("info_delay_net", "_Hálózati problémák")
1096 self.add("info_delay_atc", "Irán_yító hibája")
1097 self.add("info_delay_system", "_Rendszer elszállás/fagyás")
1098 self.add("info_delay_nav", "Navi_gációs probléma")
1099 self.add("info_delay_traffic", "_Forgalmi problémák")
1100 self.add("info_delay_apron", "_Előtér navigációs probléma")
1101 self.add("info_delay_weather", "Időjárási _problémák")
1102 self.add("info_delay_personal", "S_zemélyes okok")
1103
1104 self.add("statusbar_conn_tooltip",
1105 'A kapcsolat állapota.\n'
1106 '<span foreground="grey">Szürke</span>: nincs kapcsolat.\n'
1107 '<span foreground="red">Piros</span>: kapcsolódás folyamatban.\n'
1108 '<span foreground="green">Zöld</span>: a kapcsolat él.')
1109 self.add("statusbar_stage_tooltip", "A repülés fázisa")
1110 self.add("statusbar_time_tooltip", "A szimulátor ideje UTC-ben")
1111 self.add("statusbar_rating_tooltip", "A repülés pontszáma")
1112 self.add("statusbar_busy_tooltip", "A háttérfolyamatok állapota.")
1113
1114 self.add("flight_stage_boarding", u"beszállás")
1115 self.add("flight_stage_pushback and taxi", u"hátratolás és kigurulás")
1116 self.add("flight_stage_takeoff", u"felszállás")
1117 self.add("flight_stage_RTO", u"megszakított felszállás")
1118 self.add("flight_stage_climb", u"emelkedés")
1119 self.add("flight_stage_cruise", u"utazó")
1120 self.add("flight_stage_descent", u"süllyedés")
1121 self.add("flight_stage_landing", u"leszállás")
1122 self.add("flight_stage_taxi", u"begurulás")
1123 self.add("flight_stage_parking", u"parkolás")
1124 self.add("flight_stage_go-around", u"átstartolás")
1125 self.add("flight_stage_end", u"kész")
1126
1127 self.add("statusicon_showmain", "Mutasd a főablakot")
1128 self.add("statusicon_showmonitor", "Mutasd a monitor ablakot")
1129 self.add("statusicon_quit", "Kilépés")
1130 self.add("statusicon_stage", u"Fázis")
1131 self.add("statusicon_rating", u"Pontszám")
1132
1133 self.add("update_title", "Frissítés")
1134 self.add("update_needsudo",
1135 "Lenne mit frissíteni, de a program hozzáférési jogok\n"
1136 "hiányában nem tud írni a saját könyvtárába.\n\n"
1137 "Kattints az OK gombra, ha el szeretnél indítani egy\n"
1138 "segédprogramot adminisztrátori jogokkal, amely\n"
1139 "befejezné a frissítést, egyébként a Mégse gombra.")
1140 self.add("update_manifest_progress", "A manifesztum letöltése...")
1141 self.add("update_manifest_done", "A manifesztum letöltve...")
1142 self.add("update_files_progress", "Fájlok letöltése...")
1143 self.add("update_files_bytes", "%d bájtot töltöttem le %d bájtból")
1144 self.add("update_renaming", "A letöltött fájlok átnevezése...")
1145 self.add("update_renamed", "Átneveztem a(z) %s fájlt")
1146 self.add("update_removing", "Fájlok törlése...")
1147 self.add("update_removed", "Letöröltem a(z) %s fájlt")
1148 self.add("update_writing_manifest", "Az új manifesztum írása")
1149 self.add("update_finished",
1150 "A frissítés sikerült. Kattints az OK-ra a program újraindításához.")
1151 self.add("update_nothing", "Nem volt mit frissíteni")
1152 self.add("update_failed", "Nem sikerült, a részleteket lásd a debug naplóban.")
1153
1154 self.add("weighthelp_usinghelp", "_Használom a segítséget")
1155 self.add("weighthelp_usinghelp_tooltip",
1156 "Ha bejelölöd, az alábbiakban kapsz egy kis segítséget "
1157 "a járathoz szükséges hasznos teher megállapításához. "
1158 "Ha igénybe veszed ezt a szolgáltatást, ez a tény "
1159 "a naplóba bekerül.")
1160 self.add("weighthelp_header_calculated", "Elvárt/\nszámított")
1161 self.add("weighthelp_header_simulator", "Szimulátor\nadatok")
1162 self.add("weighthelp_header_simulator_tooltip",
1163 "Kattints erre a gombra a súlyadatoknak a szimulátortól "
1164 "való lekérdezéséhez. Az értékek lent jelennek meg. Ha "
1165 "egy érték a tűrés 10%-án belül van, akkor az "
1166 '<b><span foreground="darkgreen">zöld</span></b> '
1167 "színnel jelenik meg. Ha nem fér bele a tűrésbe, akkor "
1168 '<b><span foreground="red">piros</span></b>, '
1169 "egyébként "
1170 '<b><span foreground="orange">sárga</span></b> '
1171 "színben olvasható.")
1172 self.add("weighthelp_crew", "Legénység (%s):")
1173 self.add("weighthelp_pax", "Utasok (%s):")
1174 self.add("weighthelp_baggage", "Poggyász:")
1175 self.add("weighthelp_cargo", "Teher:")
1176 self.add("weighthelp_mail", "Posta:")
1177 self.add("weighthelp_payload", "Hasznos teher:")
1178 self.add("weighthelp_dow", "DOW:")
1179 self.add("weighthelp_zfw", "ZFW:")
1180 self.add("weighthelp_gross", "Teljes tömeg:")
1181 self.add("weighthelp_mzfw", "MZFW:")
1182 self.add("weighthelp_mtow", "MTOW:")
1183 self.add("weighthelp_mlw", "MLW:")
1184 self.add("weighthelp_busy", "A tömegadatok lekérdezése...")
1185
1186 self.add("gates_fleet_title", "_Flotta")
1187 self.add("gates_gates_title", "LHBP kapuk")
1188 self.add("gates_tailno", "Lajstromjel")
1189 self.add("gates_planestatus", "Állapot")
1190 self.add("gates_refresh", "_Adatok frissítése")
1191 self.add("gates_refresh_tooltip",
1192 "Kattints erre a gombra a fenti adatok frissítéséhez")
1193 self.add("gates_planes_tooltip",
1194 "Ez a táblázat tartalmazza a MAVA flottája összes "
1195 "repülőgépének lajstromjelét és utolsó ismert helyét. "
1196 "Ha egy repülőgép olyan kapun áll, amelyet másik gép is "
1197 "elfoglal, akkor annak a repülőgépnek az adatai "
1198 "<b><span foreground=\"red\">piros</span></b> "
1199 "színnel jelennek meg.")
1200 self.add("gates_gates_tooltip",
1201 "A MAVA repülőgépei által elfoglalt kapuk száma "
1202 '<b><span foreground="orange">sárga</span></b> színnel,'
1203 "a többié feketén jelenik meg.")
1204 self.add("gates_plane_away", "TÁVOL")
1205 self.add("gates_plane_parking", "PARKOL")
1206 self.add("gates_plane_unknown", "ISMERETLEN")
1207
1208 self.add("chklst_title", "Ellenörzőlista szerkesztő")
1209
1210 self.add("prefs_title", "Beállítások")
1211 self.add("prefs_tab_general", "_Általános")
1212 self.add("prefs_tab_general_tooltip", "Általános beállítások")
1213 self.add("prefs_tab_messages", "_Üzenetek")
1214 self.add("prefs_tab_message_tooltip",
1215 "A szimulátorba és/vagy hangjelzés általi üzenetküldés be- "
1216 "és kikapcsolása")
1217 self.add("prefs_tab_advanced", "H_aladó")
1218 self.add("prefs_tab_advanced_tooltip",
1219 "Haladó beállítások: óvatosan módosítsd őket!")
1220 self.add("prefs_language", "_Nyelv:")
1221 self.add("prefs_language_tooltip",
1222 "A program által használt nyelv")
1223 self.add("prefs_restart",
1224 "Újraindítás szükséges")
1225 self.add("prefs_language_restart_sec",
1226 "A program nyelvének megváltoztatása csak egy újraindítást "
1227 "követően jut érvényre.")
1228 self.add("prefs_lang_$system", "alapértelmezett")
1229 self.add("prefs_lang_en_GB", "angol")
1230 self.add("prefs_lang_hu_HU", "magyar")
1231 self.add("prefs_hideMinimizedWindow",
1232 "A főablak _eltüntetése minimalizáláskor")
1233 self.add("prefs_hideMinimizedWindow_tooltip",
1234 "Ha ezt kijelölöd, a főablak teljesen eltűnik, "
1235 "ha minimalizálod. A státuszikonra kattintással vagy annak "
1236 "menüje segítségével újra meg tudod jeleníteni.")
1237 self.add("prefs_onlineGateSystem",
1238 "Az Online _Gate System használata")
1239 self.add("prefs_onlineGateSystem_tooltip",
1240 "Ha ezt bejelölöd, a logger lekérdezi és frissíti az "
1241 "LHBP Online Gate System adatait.")
1242 self.add("prefs_onlineACARS",
1243 "Az Online ACA_RS rendszer használata")
1244 self.add("prefs_onlineACARS_tooltip",
1245 "Ha ezt bejölöd, a logger folyamatosan közli a repülésed "
1246 "adatait a MAVA Online ACARS rendszerrel.")
1247 self.add("prefs_flaretimeFromFS",
1248 "A ki_lebegtetés idejét vedd a szimulátorból")
1249 self.add("prefs_flaretimeFromFS_tooltip",
1250 "Ha ezt bejelölöd, a kilebegtetés idejét a szimulátor "
1251 "által visszaadott időbélyegek alapján számolja a program.")
1252 self.add("prefs_syncFSTime",
1253 "_Szinkronizáld a szimulátor idéjét a számítógépével")
1254 self.add("prefs_syncFSTime_tooltip",
1255 "Ha ez bejelölöd, a szimulátor belső óráját a program "
1256 "szinkronban tartja a számítógép órájával.")
1257 self.add("prefs_pirepDirectory",
1258 "_PIREP-ek könyvtára:")
1259 self.add("prefs_pirepDirectory_tooltip",
1260 "Az itt megadott könyvtárt ajánlja majd fel a program "
1261 "a PIREP-ek mentésekor.")
1262 self.add("prefs_pirepDirectory_browser_title",
1263 "Válaszd ki a PIREP-ek könyvtárát")
1264 self.add("prefs_update_auto",
1265 "Frissítsd a programot _automatikusan")
1266 self.add("prefs_update_auto_tooltip",
1267 "Ha ez be van jelölve, a program induláskor frissítést "
1268 "keres, és ha talál, azokat letölti és telepíti. Ez "
1269 "biztosítja, hogy az elküldött PIREP minden megfelel "
1270 "a legújabb elvárásoknak.")
1271 self.add("prefs_update_auto_warning",
1272 "Az automatikus frissítés kikapcsolása azt okozhatja, "
1273 "hogy a program Nálad lévő verziója elavulttá válik, "
1274 "és a PIREP-jeidet így nem fogadják el.")
1275 self.add("prefs_update_url", "Frissítés _URL-je:")
1276 self.add("prefs_update_url_tooltip",
1277 "Az URL, ahol a frissítéseket keresi a program. Csak akkor "
1278 "változtasd meg, ha biztos vagy a dolgodban!")
1279
1280 # A Á H M O Ü
1281
1282 self.add("prefs_msgs_fs", "Szimulátorban\nmegjelenítés")
1283 self.add("prefs_msgs_sound", "Hangjelzés")
1284 self.add("prefs_msgs_type_loggerError", "_Logger hibaüzenetek")
1285 self.add("prefs_msgs_type_information",
1286 "_Információs üzenetek\n(pl. a repülés fázisa)")
1287 self.add("prefs_msgs_type_fault",
1288 "Hi_baüzenetek\n(pl. a villogó fény hiba)")
1289 self.add("prefs_msgs_type_nogo",
1290 "_NOGO hibaüzenetek\n(pl. MTOW NOGO)")
1291 self.add("prefs_msgs_type_gateSystem",
1292 "_Kapukezelő rendszer üzenetei\n(pl. a szabad kapuk listája)")
1293 self.add("prefs_msgs_type_environment",
1294 "Kö_rnyezeti üzenetek\n(pl. \"welcome to XY aiport\")")
1295 self.add("prefs_msgs_type_help",
1296 "_Segítő üzenetek\n(pl. \"don't forget to set VREF\")")
1297 self.add("prefs_msgs_type_visibility",
1298 "Lá_tótávolság üzenetek")
1299
1300 self.add("loadPIREP_browser_title", "Válaszd ki a betöltendő PIREP-et")
1301 self.add("loadPIREP_filter_pireps", "PIREP fájlok")
1302 self.add("loadPIREP_filter_all", "Összes fájl")
1303 self.add("loadPIREP_failed", "Nem tudtam betölteni a PIREP-et")
1304 self.add("loadPIREP_failed_sec",
1305 "A részleteket lásd a debug naplóban.")
1306 self.add("loadPIREP_send_title", "PIREP")
1307 self.add("loadPIREP_send_help",
1308 "A betöltött PIREP főbb adatai:")
1309 self.add("loadPIREP_send_flightno", "Járatszám:")
1310 self.add("loadPIREP_send_date", "Dátum:")
1311 self.add("loadPIREP_send_from", "Honnan:")
1312 self.add("loadPIREP_send_to", "Hová:")
1313 self.add("loadPIREP_send_rating", "Pontszám:")
1314
1315 self.add("sendPIREP", "PIREP _elküldése...")
1316 self.add("sendPIREP_tooltip",
1317 "Kattints ide, hogy elküldd a PIREP-et a MAVA szerverére javításra.")
1318 self.add("sendPIREP_busy", "PIREP küldése...")
1319 self.add("sendPIREP_success",
1320 "A PIREP elküldése sikeres volt.")
1321 self.add("sendPIREP_success_sec",
1322 "Várhatod félelmet nem ismerő PIREP javítóink alapos észrevételeit! :)")
1323 self.add("sendPIREP_already",
1324 "Ehhez a járathoz már küldtél be PIREP-et!")
1325 self.add("sendPIREP_already_sec",
1326 "A korábban beküldött PIREP-et törölheted a MAVA honlapján.")
1327 self.add("sendPIREP_notavail",
1328 "Ez a járat már nem elérhető!")
1329 self.add("sendPIREP_unknown",
1330 "A MAVA szervere ismeretlen hibaüzenettel tért vissza.")
1331 self.add("sendPIREP_unknown_sec",
1332 "A debug naplóban részletesebb információt találsz.")
1333 self.add("sendPIREP_failed",
1334 "Nem tudtam elküldeni a PIREP-et a MAVA szerverére.")
1335 self.add("sendPIREP_failed_sec",
1336 "Lehet, hogy hálózati probléma áll fenn, amely esetben később\n" \
1337 "újra próbálkozhatsz. Lehet azonban hiba is a loggerben:\n" \
1338 "részletesebb információt találhatsz a debug naplóban.")
1339
1340#------------------------------------------------------------------------------
1341
1342# The fallback language is English
1343_English()
1344
1345# We also support Hungarian
1346_Hungarian()
1347
1348#------------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.