source: src/mlx/i18n.py@ 170:7cda0cc74e19

Last change on this file since 170:7cda0cc74e19 was 166:e4ba22b7a13b, checked in by István Váradi <ivaradi@…>, 12 years ago

The configuration loading/saving and the basic GUI for the sound preferences work

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