source: src/mlx/i18n.py@ 156:fc2987b14e61

Last change on this file since 156:fc2987b14e61 was 155:08f1f0a4dd9a, checked in by István Váradi <ivaradi@…>, 12 years ago

Enhanced language handling to run the program in the proper environment for gettext

File size: 64.5 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_advanced", "_Advanced")
571 self.add("prefs_tab_advanced_tooltip",
572 "Advanced preferences, edit with care!")
573 self.add("prefs_language", "_Language:")
574 self.add("prefs_language_tooltip",
575 "The language of the program")
576 self.add("prefs_restart",
577 "Restart needed")
578 self.add("prefs_language_restart_sec",
579 "If you change the language, the program should be restarted "
580 "so that the change has an effect.")
581 self.add("prefs_lang_$system", "system default")
582 self.add("prefs_lang_en_GB", "English")
583 self.add("prefs_lang_hu_HU", "Hungarian")
584 self.add("prefs_hideMinimizedWindow",
585 "_Hide the main window when minimized")
586 self.add("prefs_hideMinimizedWindow_tooltip",
587 "If checked, the main window will be hidden completely "
588 "when minimized. You can still make it appear by "
589 "clicking on the status icon or using its popup menu.")
590 self.add("prefs_onlineGateSystem",
591 "_Use the Online Gate System")
592 self.add("prefs_onlineGateSystem_tooltip",
593 "If this is checked, the logger will query and update the "
594 "LHBP Online Gate System.")
595 self.add("prefs_onlineACARS",
596 "Use the Online ACA_RS System")
597 self.add("prefs_onlineACARS_tooltip",
598 "If this is checked, the logger will continuously update "
599 "the MAVA Online ACARS System with your flight's data.")
600 self.add("prefs_flaretimeFromFS",
601 "Take flare _time from the simulator")
602 self.add("prefs_flaretimeFromFS_tooltip",
603 "If this is checked, the time of the flare will be calculated "
604 "from timestamps returned by the simulator.")
605 self.add("prefs_syncFSTime",
606 "_Synchronize the time in FS with the computer's clock")
607 self.add("prefs_syncFSTime_tooltip",
608 "If this is checked the flight simulator's internal clock "
609 "will always be synchronized to the computer's clock.")
610 self.add("prefs_pirepDirectory",
611 "_PIREP directory:")
612 self.add("prefs_pirepDirectory_tooltip",
613 "The directory that will be offered by default when "
614 "saving a PIREP.")
615 self.add("prefs_pirepDirectory_browser_title",
616 "Select PIREP directory")
617 self.add("prefs_update_auto", "Update the program auto_matically")
618 self.add("prefs_update_auto_tooltip",
619 "If checked the program will look for updates when "
620 "it is starting, and if new updates are found, they "
621 "will be downloaded and installed. This ensures that "
622 "the PIREP you send will always conform to the latest "
623 "expectations of the airline.")
624 self.add("prefs_update_auto_warning",
625 "Disabling automatic updates may result in "
626 "your version of the program becoming out of date "
627 "and your PIREPs not being accepted.")
628 self.add("prefs_update_url", "Update _URL:")
629 self.add("prefs_update_url_tooltip",
630 "The URL from which to download the updates. Change this "
631 "only if you know what you are doing!")
632
633 # A C G M O S
634
635 self.add("prefs_msgs_fs", "Displayed in FS")
636 self.add("prefs_msgs_sound", "Sound alert")
637 self.add("prefs_msgs_type_loggerError", "Logger _Error Messages")
638 self.add("prefs_msgs_type_information",
639 "_Information Messages\n(e.g. flight status)")
640 self.add("prefs_msgs_type_fault",
641 "_Fault Messages\n(e.g. strobe light fault)")
642 self.add("prefs_msgs_type_nogo",
643 "_NOGO Fault messages\n(e.g. MTOW NOGO)")
644 self.add("prefs_msgs_type_gateSystem",
645 "Ga_te System Messages\n(e.g. available gates)")
646 self.add("prefs_msgs_type_environment",
647 "Envi_ronment Messages\n(e.g. \"welcome to XY aiport\")")
648 self.add("prefs_msgs_type_help",
649 "_Help Messages\n(e.g. \"don't forget to set VREF\")")
650 self.add("prefs_msgs_type_visibility",
651 "_Visibility Messages")
652
653 self.add("loadPIREP_browser_title", "Select the PIREP to load")
654 self.add("loadPIREP_filter_pireps", "PIREP files")
655 self.add("loadPIREP_filter_all", "All files")
656 self.add("loadPIREP_failed", "Failed to load the PIREP")
657 self.add("loadPIREP_failed_sec", "See the debug log for the details.")
658 self.add("loadPIREP_send_title", "PIREP")
659 self.add("loadPIREP_send_help",
660 "The main data of the PIREP loaded:")
661 self.add("loadPIREP_send_flightno", "Flight number:")
662 self.add("loadPIREP_send_date", "Date:")
663 self.add("loadPIREP_send_from", "From:")
664 self.add("loadPIREP_send_to", "To:")
665 self.add("loadPIREP_send_rating", "Rating:")
666
667 self.add("sendPIREP", "_Send PIREP...")
668 self.add("sendPIREP_tooltip",
669 "Click to send the PIREP to the MAVA website for further review.")
670 self.add("sendPIREP_busy", "Sending PIREP...")
671 self.add("sendPIREP_success",
672 "The PIREP was sent successfully.")
673 self.add("sendPIREP_success_sec",
674 "Await the thorough scrutiny by our fearless PIREP reviewers! :)")
675 self.add("sendPIREP_already",
676 "The PIREP for this flight has already been sent!")
677 self.add("sendPIREP_already_sec",
678 "You may clear the old PIREP on the MAVA website.")
679 self.add("sendPIREP_notavail",
680 "This flight is not available anymore!")
681 self.add("sendPIREP_unknown",
682 "The MAVA website returned with an unknown error.")
683 self.add("sendPIREP_unknown_sec",
684 "See the debug log for more information.")
685 self.add("sendPIREP_failed",
686 "Could not send the PIREP to the MAVA website.")
687 self.add("sendPIREP_failed_sec",
688 "This can be a network problem, in which case\n" \
689 "you may try again later. Or it can be a bug;\n" \
690 "see the debug log for more information.")
691
692#------------------------------------------------------------------------------
693
694class _Hungarian(_Strings):
695 """The strings for the Hungarian language."""
696 def __init__(self):
697 """Construct the object."""
698 super(_Hungarian, self).__init__(["hu_HU", "hu"])
699
700 def initialize(self):
701 """Initialize the strings."""
702 self.add("button_ok", "_OK")
703 self.add("button_cancel", "_Mégse")
704 self.add("button_yes", "_Igen")
705 self.add("button_no", "_Nem")
706 self.add("button_browse", "Keresés...")
707
708 self.add("menu_file", "Fájl")
709 self.add("menu_file_loadPIREP", "PIREP be_töltése...")
710 self.add("menu_file_loadPIREP_key", "t")
711 self.add("menu_file_quit", "_Kilépés")
712 self.add("menu_file_quit_key", "k")
713 self.add("quit_question", "Biztosan ki akarsz lépni?")
714
715 self.add("menu_tools", "Eszközök")
716 self.add("menu_tools_prefs", "_Beállítások")
717 self.add("menu_tools_prefs_key", "b")
718
719 self.add("menu_view", "Nézet")
720 self.add("menu_view_monitor", "Mutasd a _monitor ablakot")
721 self.add("menu_view_monitor_key", "m")
722 self.add("menu_view_debug", "Mutasd a _debug naplót")
723 self.add("menu_view_debug_key", "d")
724
725 self.add("tab_flight", "_Járat")
726 self.add("tab_flight_tooltip", "Járat varázsló")
727 self.add("tab_flight_info", "Járat _info")
728 self.add("tab_flight_info_tooltip", "Egyéb információk a járat teljesítésével kapcsolatban")
729 self.add("tab_weight_help", "_Segítség")
730 self.add("tab_weight_help_tooltip", "Segítség a súlyszámításhoz")
731 self.add("tab_log", "_Napló")
732 self.add("tab_log_tooltip",
733 "A járat naplója, amit majd el lehet küldeni a MAVA szerverére")
734 self.add("tab_gates", "_Kapuk")
735 self.add("tab_gates_tooltip", "A MAVA flotta és LHBP kapuinak állapota")
736 self.add("tab_debug_log", "_Debug napló")
737 self.add("tab_debug_log_tooltip",
738 "Hibakereséshez használható információkat tartalmazó napló.")
739
740 self.add("conn_failed", "Nem tudtam kapcsolódni a szimulátorhoz.")
741 self.add("conn_failed_sec",
742 "Korrigáld a problémát, majd nyomd meg az "
743 "<b>Próbáld újra</b> gombot a újrakapcsolódáshoz, "
744 "vagy a <b>Mégse</b> gombot a járat megszakításához.")
745 self.add("conn_broken",
746 "A szimulátorral való kapcsolat váratlanul megszakadt.")
747 self.add("conn_broken_sec",
748 "Ha a szimulátor elszállt, indítsd újra "
749 "és állítsd vissza a repülésed elszállás előtti "
750 "állapotát amennyire csak lehet. "
751 "Ezután nyomd meg az <b>Újrakapcsolódás</b> gombot "
752 "a kapcsolat ismételt felvételéhez.\n\n"
753 "Ha meg akarod szakítani a repülést, nyomd meg a "
754 "<b>Mégse</b> gombot.")
755 self.add("button_tryagain", "_Próbáld újra")
756 self.add("button_reconnect", "Újra_kapcsolódás")
757
758 self.add("login", "Bejelentkezés")
759 self.add("loginHelp",
760 "Írd be a MAVA pilóta azonosítódat és a\n" \
761 "bejelentkezéshez használt jelszavadat,\n" \
762 "hogy választhass a foglalt járataid közül.")
763 self.add("label_pilotID", "_Azonosító:")
764 self.add("login_pilotID_tooltip",
765 "Írd be a MAVA pilóta azonosítódat. Ez általában egy 'P' "
766 "betűvel kezdődik, melyet 3 számjegy követ.")
767 self.add("label_password", "Je_lszó:")
768 self.add("login_password_tooltip",
769 "Írd be a pilóta azonosítódhoz tartozó jelszavadat.")
770 self.add("remember_password", "_Emlékezz a jelszóra")
771 self.add("login_remember_tooltip",
772 "Ha ezt kiválasztod, a jelszavadat eltárolja a program, így "
773 "nem kell mindig újból beírnod. Vedd azonban figyelembe, "
774 "hogy a jelszót szövegként tároljuk, így bárki elolvashatja, "
775 "aki hozzáfér a fájljaidhoz.")
776 self.add("button_login", "_Bejelentkezés")
777 self.add("login_button_tooltip", "Kattints ide a bejelentkezéshez.")
778 self.add("login_busy", "Bejelentkezés...")
779 self.add("login_invalid", "Érvénytelen azonosító vagy jelszó.")
780 self.add("login_invalid_sec",
781 "Ellenőrízd az azonosítót, és próbáld meg újra beírni a jelszót.")
782 self.add("login_failconn",
783 "Nem sikerült kapcsolódni a MAVA honlaphoz.")
784 self.add("login_failconn_sec", "Próbáld meg pár perc múlva.")
785
786 self.add("button_next", "_Előre")
787 self.add("button_next_tooltip",
788 "Kattints ide, hogy a következő lapra ugorj.")
789 self.add("button_previous", "_Vissza")
790 self.add("button_previous_tooltip",
791 "Kattints ide, hogy az előző lapra ugorj.")
792
793 self.add("flightsel_title", "Járatválasztás")
794 self.add("flightsel_help", "Válaszd ki a járatot, amelyet le szeretnél repülni.")
795 self.add("flightsel_chelp", "A lent kiemelt járatot választottad.")
796 self.add("flightsel_no", "Járatszám")
797 self.add("flightsel_deptime", "Indulás ideje [UTC]")
798 self.add("flightsel_from", "Honnan")
799 self.add("flightsel_to", "Hová")
800
801 self.add("fleet_busy", "Flottaadatok letöltése...")
802 self.add("fleet_failed",
803 "Nem sikerült letöltenem a flotta adatait.")
804 self.add("fleet_update_busy", "Repülőgép pozíció frissítése...")
805 self.add("fleet_update_failed",
806 "Nem sikerült frissítenem a repülőgép pozícióját.")
807
808 self.add("gatesel_title", "LHBP kapuválasztás")
809 self.add("gatesel_help",
810 "A repülőgép kapu pozíciója érvénytelen.\n\n" \
811 "Válaszd ki azt a kaput, ahonnan\n" \
812 "el szeretnéd kezdeni a járatot.")
813 self.add("gatesel_conflict", "Ismét kapuütközés történt.")
814 self.add("gatesel_conflict_sec",
815 "Próbálj egy másik kaput választani.")
816
817 self.add("connect_title", "Kapcsolódás a szimulátorhoz")
818 self.add("connect_help",
819 "Tölsd be a lent látható repülőgépet a szimulátorba\n" \
820 "az alább megadott reptérre és kapuhoz.\n\n" \
821 "Ezután nyomd meg a Kapcsolódás gombot a kapcsolódáshoz.")
822 self.add("connect_chelp",
823 "A járat alapadatai lent olvashatók.")
824 self.add("connect_flightno", "Járatszám:")
825 self.add("connect_acft", "Típus:")
826 self.add("connect_tailno", "Lajstromjel:")
827 self.add("connect_airport", "Repülőtér:")
828 self.add("connect_gate", "Kapu:")
829 self.add("button_connect", "K_apcsolódás")
830 self.add("button_connect_tooltip",
831 "Kattints ide a szimulátorhoz való kapcsolódáshoz.")
832 self.add("connect_busy", "Kapcsolódás a szimulátorhoz...")
833
834 self.add("payload_title", "Terhelés")
835 self.add("payload_help",
836 "Az eligazítás az alábbi tömegeket tartalmazza.\n" \
837 "Allítsd be a teherszállítmány tömegét itt, a hasznos "
838 "terhet pedig a szimulátorban.\n\n" \
839 "Azt is ellenőrízheted, hogy a szimulátor milyen ZFW-t jelent.")
840 self.add("payload_chelp",
841 "Lent láthatók az eligazításban szereplő tömegek, valamint\n" \
842 "a teherszállítmány általad megadott tömege.\n\n" \
843 "Azt is ellenőrízheted, hogy a szimulátor milyen ZFW-t jelent.")
844 self.add("payload_crew", "Legénység:")
845 self.add("payload_pax", "Utasok:")
846 self.add("payload_bag", "Poggyász:")
847 self.add("payload_cargo", "_Teher:")
848 self.add("payload_cargo_tooltip",
849 "A teherszállítmány tömege.")
850 self.add("payload_mail", "Posta:")
851 self.add("payload_zfw", "Kiszámolt ZFW:")
852 self.add("payload_fszfw", "_ZFW a szimulátorból:")
853 self.add("payload_fszfw_tooltip",
854 "Kattints ide, hogy frissítsd a ZFW értékét a szimulátorból.")
855 self.add("payload_zfw_busy", "ZFW lekérdezése...")
856
857 self.add("time_title", "Menetrend")
858 self.add("time_help",
859 "Az indulás és az érkezés ideje lent látható UTC szerint.\n\n" \
860 "A szimulátor aktuális UTC szerinti idejét is lekérdezheted.\n" \
861 "Győzödj meg arról, hogy elég időd van a repülés előkészítéséhez.")
862 self.add("time_chelp",
863 "Az indulás és az érkezés ideje lent látható UTC szerint.\n\n" \
864 "A szimulátor aktuális UTC szerinti idejét is lekérdezheted.")
865 self.add("time_departure", "Indulás:")
866 self.add("time_arrival", "Érkezés:")
867 self.add("time_fs", "Idő a s_zimulátorból:")
868 self.add("time_fs_tooltip",
869 "Kattings ide, hogy frissítsd a szimulátor aktuális UTC szerint idejét.")
870 self.add("time_busy", "Idő lekérdezése...")
871
872 self.add("fuel_title", "Üzemanyag")
873 self.add("fuel_help",
874 "Írd be az egyes tartályokba szükséges üzemanyag "
875 "mennyiségét kilogrammban.\n\n"
876 "Ha megnyomod az <b>Előre</b> gombot, a megadott mennyiségű\n"
877 "üzemanyag bekerül a tartályokba.")
878 self.add("fuel_chelp",
879 "A repülés elején az egyes tartályokba tankolt\n"
880 "üzemanyag mennyisége lent látható.")
881
882 # A B D E I G J K N O P S T V Y Z
883
884 self.add("fuel_tank_centre", "Kö_zépső\n")
885 self.add("fuel_tank_left", "_Bal\n")
886 self.add("fuel_tank_right", "J_obb\n")
887 self.add("fuel_tank_left_aux", "Bal\nkie_gészítő")
888 self.add("fuel_tank_right_aux", "Jobb\nkiegészí_tő")
889 self.add("fuel_tank_left_tip", "B_al\nszárnyvég")
890 self.add("fuel_tank_right_tip", "Jobb\nszárn_yvég")
891 self.add("fuel_tank_external1", "Külső\n_1")
892 self.add("fuel_tank_external2", "Külső\n_2")
893 self.add("fuel_tank_centre2", "Közé_pső\n2")
894 self.add("fuel_get_busy", "Az üzemanyag lekérdezése...")
895 self.add("fuel_pump_busy", "Az üzemanyag pumpálása...")
896 self.add("fuel_tank_tooltip",
897 "Ez mutatja az üzemanyag szintjét a tartályban annak "
898 "kapacitásához mérve. A "
899 '<span color="turquoise">türkizkék</span> '
900 "csúszka mutatja a repüléshez kívánt szintet. "
901 "Ha a bal gombbal bárhová kattintasz az ábrán, a csúszka "
902 "odaugrik. Ha a gombot lenyomva tartod, és az egérmutatót "
903 "föl-le mozgatod, a csúszka követi azt. Az egered görgőjével "
904 "is kezelheted a csúszkát. Alaphelyzetben az üzemanyag "
905 "mennyisége 10-zel nő, illetve csökken a görgetés irányától "
906 "függően. Ha a <b>Shift</b> billentyűt lenyomva tartod, "
907 "növekmény 100, a <b>Control</b> billentyűvel pedig 1 lesz.")
908
909 self.add("route_title", "Útvonal")
910 self.add("route_help",
911 "Állítsd be az utazószintet lent, és ha szükséges,\n" \
912 "módosítsd az útvonaltervet.")
913 self.add("route_chelp",
914 "Ha szükséges, lent módosíthatod az utazószintet és\n" \
915 "az útvonaltervet repülés közben is.\n" \
916 "Ha így teszel, légy szíves a megjegyzés mezőben " \
917 "ismertesd ennek okát.")
918 self.add("route_level", "_Utazószint:")
919 self.add("route_level_tooltip", "Az utazószint.")
920 self.add("route_route", "Út_vonal")
921 self.add("route_route_tooltip", "Az útvonal a szokásos formátumban.")
922 self.add("route_down_notams", "NOTAM-ok letöltése...")
923 self.add("route_down_metars", "METAR-ok letöltése...")
924
925 self.add("briefing_title", "Eligazítás (%d/2): %s")
926 self.add("briefing_departure", "indulás")
927 self.add("briefing_arrival", "érkezés")
928 self.add("briefing_help",
929 "Olvasd el figyelmesen a lenti NOTAM-okat és METAR-t.\n\n" \
930 "Ha a szimulátor vagy hálózat más időjárást ad,\n" \
931 "a METAR-t módosíthatod.")
932 self.add("briefing_chelp",
933 "Ha a szimulátor vagy hálózat más időjárást ad,\n" \
934 "a METAR-t módosíthatod.")
935 self.add("briefing_notams_init", "LHBP NOTAM-ok")
936 self.add("briefing_metar_init", "LHBP METAR")
937 self.add("briefing_button",
938 "Elolvastam az eligazítást, és készen állok a _repülésre!")
939 self.add("briefing_notams_template", "%s NOTAM-ok")
940 self.add("briefing_metar_template", "%s _METAR")
941 self.add("briefing_notams_failed", "Nem tudtam letölteni a NOTAM-okat.")
942 self.add("briefing_notams_missing",
943 "Ehhez a repülőtérhez nem találtam NOTAM-ot.")
944 self.add("briefing_metar_failed", "Nem tudtam letölteni a METAR-t.")
945
946 self.add("takeoff_title", "Felszállás")
947 self.add("takeoff_help",
948 "Írd be a felszállásra használt futópálya és SID nevét, valamint a sebességeket.")
949 self.add("takeoff_chelp",
950 "A naplózott futópálya, SID és a sebességek lent olvashatók.")
951 self.add("takeoff_runway", "_Futópálya:")
952 self.add("takeoff_runway_tooltip",
953 "A felszállásra használt futópálya.")
954 self.add("takeoff_sid", "_SID:")
955 self.add("takeoff_sid_tooltip",
956 "Az alkalmazott szabványos műszeres indulási eljárás neve.")
957 self.add("takeoff_v1", "V<sub>_1</sub>:")
958 self.add("takeoff_v1_tooltip", "Az elhatározási sebesség csomóban.")
959 self.add("label_knots", "csomó")
960 self.add("takeoff_vr", "V<sub>_R</sub>:")
961 self.add("takeoff_vr_tooltip", "Az elemelkedési sebesség csomóban.")
962 self.add("takeoff_v2", "V<sub>_2</sub>:")
963 self.add("takeoff_v2_tooltip", "A biztonságos emelkedési sebesség csomóban.")
964
965 self.add("landing_title", "Leszállás")
966 self.add("landing_help",
967 "Írd be az alkalmazott STAR és/vagy bevezetési eljárás nevét,\n"
968 "a használt futópályát, a megközelítés módját, és a V<sub>Ref</sub>-et.")
969 self.add("landing_chelp",
970 "Az alkalmazott STAR és/vagy bevezetési eljárás neve, a használt\n"
971 "futópálya, a megközelítés módja és a V<sub>Ref</sub> lent olvasható.")
972 self.add("landing_star", "_STAR:")
973 self.add("landing_star_tooltip",
974 "A követett szabványos érkezési eljárás neve.")
975 self.add("landing_transition", "_Bevezetés:")
976 self.add("landing_transition_tooltip",
977 "Az alkalmazott bevezetési eljárás neve, vagy VECTORS, "
978 "ha az irányítás vezetett be.")
979 self.add("landing_runway", "_Futópálya:")
980 self.add("landing_runway_tooltip",
981 "A leszállásra használt futópálya.")
982 self.add("landing_approach", "_Megközelítés típusa:")
983 self.add("landing_approach_tooltip",
984 "A megközelítgés típusa, pl. ILS vagy VISUAL.")
985 self.add("landing_vref", "V<sub>_Ref</sub>:")
986 self.add("landing_vref_tooltip",
987 "A leszállási sebesség csomóban.")
988
989 self.add("flighttype_scheduled", "menetrendszerinti")
990 self.add("flighttype_ot", "old-timer")
991 self.add("flighttype_vip", "VIP")
992 self.add("flighttype_charter", "charter")
993
994 self.add("finish_title", "Lezárás")
995 self.add("finish_help",
996 "Lent olvasható némi statisztika a járat teljesítéséről.\n\n" \
997 "Ellenőrízd az adatokat, az előző oldalakon is, és ha\n" \
998 "megfelelnek, elmentheted vagy elküldheted a PIREP-et.")
999 self.add("finish_rating", "Pontszám:")
1000 self.add("finish_flight_time", "Repülési idő:")
1001 self.add("finish_block_time", "Blokk idő:")
1002 self.add("finish_distance", "Repült táv:")
1003 self.add("finish_fuel", "Elhasznált üzemanyag:")
1004 self.add("finish_type", "_Típus:")
1005 self.add("finish_type_tooltip", "Válaszd ki a repülés típusát.")
1006 self.add("finish_online", "_Online repülés")
1007 self.add("finish_online_tooltip",
1008 "Jelöld be, ha a repülésed a hálózaton történt, egyébként " \
1009 "szűntesd meg a kijelölést.")
1010 self.add("finish_gate", "_Érkezési kapu:")
1011 self.add("finish_gate_tooltip",
1012 "Válaszd ki azt a kaput vagy állóhelyet, ahová érkeztél LHBP-n.")
1013 self.add("finish_save", "PIREP _mentése...")
1014 self.add("finish_save_tooltip",
1015 "Kattints ide, hogy elmenthesd a PIREP-et egy fájlba a számítógépeden. " \
1016 "A PIREP-et később be lehet tölteni és el lehet küldeni.")
1017 self.add("finish_save_title", "PIREP mentése")
1018 self.add("finish_save_done", "A PIREP mentése sikerült")
1019 self.add("finish_save_failed", "A PIREP mentése nem sikerült")
1020 self.add("finish_save_failed_sec", "A részleteket lásd a debug naplóban.")
1021
1022 # M A
1023
1024 self.add("info_comments", "_Megjegyzések")
1025 self.add("info_defects", "Hib_ajelenségek")
1026 self.add("info_delay", "Késés kódok")
1027
1028 # B V H Y R G F E P Z
1029
1030 self.add("info_delay_loading", "_Betöltési problémák")
1031 self.add("info_delay_vatsim", "_VATSIM probléma")
1032 self.add("info_delay_net", "_Hálózati problémák")
1033 self.add("info_delay_atc", "Irán_yító hibája")
1034 self.add("info_delay_system", "_Rendszer elszállás/fagyás")
1035 self.add("info_delay_nav", "Navi_gációs probléma")
1036 self.add("info_delay_traffic", "_Forgalmi problémák")
1037 self.add("info_delay_apron", "_Előtér navigációs probléma")
1038 self.add("info_delay_weather", "Időjárási _problémák")
1039 self.add("info_delay_personal", "S_zemélyes okok")
1040
1041 self.add("statusbar_conn_tooltip",
1042 'A kapcsolat állapota.\n'
1043 '<span foreground="grey">Szürke</span>: nincs kapcsolat.\n'
1044 '<span foreground="red">Piros</span>: kapcsolódás folyamatban.\n'
1045 '<span foreground="green">Zöld</span>: a kapcsolat él.')
1046 self.add("statusbar_stage_tooltip", "A repülés fázisa")
1047 self.add("statusbar_time_tooltip", "A szimulátor ideje UTC-ben")
1048 self.add("statusbar_rating_tooltip", "A repülés pontszáma")
1049 self.add("statusbar_busy_tooltip", "A háttérfolyamatok állapota.")
1050
1051 self.add("flight_stage_boarding", u"beszállás")
1052 self.add("flight_stage_pushback and taxi", u"hátratolás és kigurulás")
1053 self.add("flight_stage_takeoff", u"felszállás")
1054 self.add("flight_stage_RTO", u"megszakított felszállás")
1055 self.add("flight_stage_climb", u"emelkedés")
1056 self.add("flight_stage_cruise", u"utazó")
1057 self.add("flight_stage_descent", u"süllyedés")
1058 self.add("flight_stage_landing", u"leszállás")
1059 self.add("flight_stage_taxi", u"begurulás")
1060 self.add("flight_stage_parking", u"parkolás")
1061 self.add("flight_stage_go-around", u"átstartolás")
1062 self.add("flight_stage_end", u"kész")
1063
1064 self.add("statusicon_showmain", "Mutasd a főablakot")
1065 self.add("statusicon_showmonitor", "Mutasd a monitor ablakot")
1066 self.add("statusicon_quit", "Kilépés")
1067 self.add("statusicon_stage", u"Fázis")
1068 self.add("statusicon_rating", u"Pontszám")
1069
1070 self.add("update_title", "Frissítés")
1071 self.add("update_needsudo",
1072 "Lenne mit frissíteni, de a program hozzáférési jogok\n"
1073 "hiányában nem tud írni a saját könyvtárába.\n\n"
1074 "Kattints az OK gombra, ha el szeretnél indítani egy\n"
1075 "segédprogramot adminisztrátori jogokkal, amely\n"
1076 "befejezné a frissítést, egyébként a Mégse gombra.")
1077 self.add("update_manifest_progress", "A manifesztum letöltése...")
1078 self.add("update_manifest_done", "A manifesztum letöltve...")
1079 self.add("update_files_progress", "Fájlok letöltése...")
1080 self.add("update_files_bytes", "%d bájtot töltöttem le %d bájtból")
1081 self.add("update_renaming", "A letöltött fájlok átnevezése...")
1082 self.add("update_renamed", "Átneveztem a(z) %s fájlt")
1083 self.add("update_removing", "Fájlok törlése...")
1084 self.add("update_removed", "Letöröltem a(z) %s fájlt")
1085 self.add("update_writing_manifest", "Az új manifesztum írása")
1086 self.add("update_finished",
1087 "A frissítés sikerült. Kattints az OK-ra a program újraindításához.")
1088 self.add("update_nothing", "Nem volt mit frissíteni")
1089 self.add("update_failed", "Nem sikerült, a részleteket lásd a debug naplóban.")
1090
1091 self.add("weighthelp_usinghelp", "_Használom a segítséget")
1092 self.add("weighthelp_usinghelp_tooltip",
1093 "Ha bejelölöd, az alábbiakban kapsz egy kis segítséget "
1094 "a járathoz szükséges hasznos teher megállapításához. "
1095 "Ha igénybe veszed ezt a szolgáltatást, ez a tény "
1096 "a naplóba bekerül.")
1097 self.add("weighthelp_header_calculated", "Elvárt/\nszámított")
1098 self.add("weighthelp_header_simulator", "Szimulátor\nadatok")
1099 self.add("weighthelp_header_simulator_tooltip",
1100 "Kattints erre a gombra a súlyadatoknak a szimulátortól "
1101 "való lekérdezéséhez. Az értékek lent jelennek meg. Ha "
1102 "egy érték a tűrés 10%-án belül van, akkor az "
1103 '<b><span foreground="darkgreen">zöld</span></b> '
1104 "színnel jelenik meg. Ha nem fér bele a tűrésbe, akkor "
1105 '<b><span foreground="red">piros</span></b>, '
1106 "egyébként "
1107 '<b><span foreground="orange">sárga</span></b> '
1108 "színben olvasható.")
1109 self.add("weighthelp_crew", "Legénység (%s):")
1110 self.add("weighthelp_pax", "Utasok (%s):")
1111 self.add("weighthelp_baggage", "Poggyász:")
1112 self.add("weighthelp_cargo", "Teher:")
1113 self.add("weighthelp_mail", "Posta:")
1114 self.add("weighthelp_payload", "Hasznos teher:")
1115 self.add("weighthelp_dow", "DOW:")
1116 self.add("weighthelp_zfw", "ZFW:")
1117 self.add("weighthelp_gross", "Teljes tömeg:")
1118 self.add("weighthelp_mzfw", "MZFW:")
1119 self.add("weighthelp_mtow", "MTOW:")
1120 self.add("weighthelp_mlw", "MLW:")
1121 self.add("weighthelp_busy", "A tömegadatok lekérdezése...")
1122
1123 self.add("gates_fleet_title", "_Flotta")
1124 self.add("gates_gates_title", "LHBP kapuk")
1125 self.add("gates_tailno", "Lajstromjel")
1126 self.add("gates_planestatus", "Állapot")
1127 self.add("gates_refresh", "_Adatok frissítése")
1128 self.add("gates_refresh_tooltip",
1129 "Kattints erre a gombra a fenti adatok frissítéséhez")
1130 self.add("gates_planes_tooltip",
1131 "Ez a táblázat tartalmazza a MAVA flottája összes "
1132 "repülőgépének lajstromjelét és utolsó ismert helyét. "
1133 "Ha egy repülőgép olyan kapun áll, amelyet másik gép is "
1134 "elfoglal, akkor annak a repülőgépnek az adatai "
1135 "<b><span foreground=\"red\">piros</span></b> "
1136 "színnel jelennek meg.")
1137 self.add("gates_gates_tooltip",
1138 "A MAVA repülőgépei által elfoglalt kapuk száma "
1139 '<b><span foreground="orange">sárga</span></b> színnel,'
1140 "a többié feketén jelenik meg.")
1141 self.add("gates_plane_away", "TÁVOL")
1142 self.add("gates_plane_parking", "PARKOL")
1143 self.add("gates_plane_unknown", "ISMERETLEN")
1144
1145 self.add("prefs_title", "Beállítások")
1146 self.add("prefs_tab_general", "_Általános")
1147 self.add("prefs_tab_general_tooltip", "Általános beállítások")
1148 self.add("prefs_tab_messages", "_Üzenetek")
1149 self.add("prefs_tab_message_tooltip",
1150 "A szimulátorba és/vagy hangjelzés általi üzenetküldés be- "
1151 "és kikapcsolása")
1152 self.add("prefs_tab_advanced", "H_aladó")
1153 self.add("prefs_tab_advanced_tooltip",
1154 "Haladó beállítások: óvatosan módosítsd őket!")
1155 self.add("prefs_language", "_Nyelv:")
1156 self.add("prefs_language_tooltip",
1157 "A program által használt nyelv")
1158 self.add("prefs_restart",
1159 "Újraindítás szükséges")
1160 self.add("prefs_language_restart_sec",
1161 "A program nyelvének megváltoztatása csak egy újraindítást "
1162 "követően jut érvényre.")
1163 self.add("prefs_lang_$system", "alapértelmezett")
1164 self.add("prefs_lang_en_GB", "angol")
1165 self.add("prefs_lang_hu_HU", "magyar")
1166 self.add("prefs_hideMinimizedWindow",
1167 "A főablak _eltüntetése minimalizáláskor")
1168 self.add("prefs_hideMinimizedWindow_tooltip",
1169 "Ha ezt kijelölöd, a főablak teljesen eltűnik, "
1170 "ha minimalizálod. A státuszikonra kattintással vagy annak "
1171 "menüje segítségével újra meg tudod jeleníteni.")
1172 self.add("prefs_onlineGateSystem",
1173 "Az Online _Gate System használata")
1174 self.add("prefs_onlineGateSystem_tooltip",
1175 "Ha ezt bejelölöd, a logger lekérdezi és frissíti az "
1176 "LHBP Online Gate System adatait.")
1177 self.add("prefs_onlineACARS",
1178 "Az Online ACA_RS rendszer használata")
1179 self.add("prefs_onlineACARS_tooltip",
1180 "Ha ezt bejölöd, a logger folyamatosan közli a repülésed "
1181 "adatait a MAVA Online ACARS rendszerrel.")
1182 self.add("prefs_flaretimeFromFS",
1183 "A ki_lebegtetés idejét vedd a szimulátorból")
1184 self.add("prefs_flaretimeFromFS_tooltip",
1185 "Ha ezt bejelölöd, a kilebegtetés idejét a szimulátor "
1186 "által visszaadott időbélyegek alapján számolja a program.")
1187 self.add("prefs_syncFSTime",
1188 "_Szinkronizáld a szimulátor idéjét a számítógépével")
1189 self.add("prefs_syncFSTime_tooltip",
1190 "Ha ez bejelölöd, a szimulátor belső óráját a program "
1191 "szinkronban tartja a számítógép órájával.")
1192 self.add("prefs_pirepDirectory",
1193 "_PIREP-ek könyvtára:")
1194 self.add("prefs_pirepDirectory_tooltip",
1195 "Az itt megadott könyvtárt ajánlja majd fel a program "
1196 "a PIREP-ek mentésekor.")
1197 self.add("prefs_pirepDirectory_browser_title",
1198 "Válaszd ki a PIREP-ek könyvtárát")
1199 self.add("prefs_update_auto",
1200 "Frissítsd a programot _automatikusan")
1201 self.add("prefs_update_auto_tooltip",
1202 "Ha ez be van jelölve, a program induláskor frissítést "
1203 "keres, és ha talál, azokat letölti és telepíti. Ez "
1204 "biztosítja, hogy az elküldött PIREP minden megfelel "
1205 "a legújabb elvárásoknak.")
1206 self.add("prefs_update_auto_warning",
1207 "Az automatikus frissítés kikapcsolása azt okozhatja, "
1208 "hogy a program Nálad lévő verziója elavulttá válik, "
1209 "és a PIREP-jeidet így nem fogadják el.")
1210 self.add("prefs_update_url", "Frissítés _URL-je:")
1211 self.add("prefs_update_url_tooltip",
1212 "Az URL, ahol a frissítéseket keresi a program. Csak akkor "
1213 "változtasd meg, ha biztos vagy a dolgodban!")
1214
1215 # A Á H M O Ü
1216
1217 self.add("prefs_msgs_fs", "Szimulátorban\nmegjelenítés")
1218 self.add("prefs_msgs_sound", "Hangjelzés")
1219 self.add("prefs_msgs_type_loggerError", "_Logger hibaüzenetek")
1220 self.add("prefs_msgs_type_information",
1221 "_Információs üzenetek\n(pl. a repülés fázisa)")
1222 self.add("prefs_msgs_type_fault",
1223 "Hi_baüzenetek\n(pl. a villogó fény hiba)")
1224 self.add("prefs_msgs_type_nogo",
1225 "_NOGO hibaüzenetek\n(pl. MTOW NOGO)")
1226 self.add("prefs_msgs_type_gateSystem",
1227 "_Kapukezelő rendszer üzenetei\n(pl. a szabad kapuk listája)")
1228 self.add("prefs_msgs_type_environment",
1229 "Kö_rnyezeti üzenetek\n(pl. \"welcome to XY aiport\")")
1230 self.add("prefs_msgs_type_help",
1231 "_Segítő üzenetek\n(pl. \"don't forget to set VREF\")")
1232 self.add("prefs_msgs_type_visibility",
1233 "Lá_tótávolság üzenetek")
1234
1235 self.add("loadPIREP_browser_title", "Válaszd ki a betöltendő PIREP-et")
1236 self.add("loadPIREP_filter_pireps", "PIREP fájlok")
1237 self.add("loadPIREP_filter_all", "Összes fájl")
1238 self.add("loadPIREP_failed", "Nem tudtam betölteni a PIREP-et")
1239 self.add("loadPIREP_failed_sec",
1240 "A részleteket lásd a debug naplóban.")
1241 self.add("loadPIREP_send_title", "PIREP")
1242 self.add("loadPIREP_send_help",
1243 "A betöltött PIREP főbb adatai:")
1244 self.add("loadPIREP_send_flightno", "Járatszám:")
1245 self.add("loadPIREP_send_date", "Dátum:")
1246 self.add("loadPIREP_send_from", "Honnan:")
1247 self.add("loadPIREP_send_to", "Hová:")
1248 self.add("loadPIREP_send_rating", "Pontszám:")
1249
1250 self.add("sendPIREP", "PIREP _elküldése...")
1251 self.add("sendPIREP_tooltip",
1252 "Kattints ide, hogy elküldd a PIREP-et a MAVA szerverére javításra.")
1253 self.add("sendPIREP_busy", "PIREP küldése...")
1254 self.add("sendPIREP_success",
1255 "A PIREP elküldése sikeres volt.")
1256 self.add("sendPIREP_success_sec",
1257 "Várhatod félelmet nem ismerő PIREP javítóink alapos észrevételeit! :)")
1258 self.add("sendPIREP_already",
1259 "Ehhez a járathoz már küldtél be PIREP-et!")
1260 self.add("sendPIREP_already_sec",
1261 "A korábban beküldött PIREP-et törölheted a MAVA honlapján.")
1262 self.add("sendPIREP_notavail",
1263 "Ez a járat már nem elérhető!")
1264 self.add("sendPIREP_unknown",
1265 "A MAVA szervere ismeretlen hibaüzenettel tért vissza.")
1266 self.add("sendPIREP_unknown_sec",
1267 "A debug naplóban részletesebb információt találsz.")
1268 self.add("sendPIREP_failed",
1269 "Nem tudtam elküldeni a PIREP-et a MAVA szerverére.")
1270 self.add("sendPIREP_failed_sec",
1271 "Lehet, hogy hálózati probléma áll fenn, amely esetben később\n" \
1272 "újra próbálkozhatsz. Lehet azonban hiba is a loggerben:\n" \
1273 "részletesebb információt találhatsz a debug naplóban.")
1274
1275#------------------------------------------------------------------------------
1276
1277# The fallback language is English
1278_English()
1279
1280# We also support Hungarian
1281_Hungarian()
1282
1283#------------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.