[107] | 1 | # Internationalization support
|
---|
| 2 | # -*- coding: utf-8 -*-
|
---|
| 3 |
|
---|
| 4 | #------------------------------------------------------------------------------
|
---|
| 5 |
|
---|
| 6 | _strings = None
|
---|
| 7 | _fallback = None
|
---|
| 8 |
|
---|
| 9 | #------------------------------------------------------------------------------
|
---|
| 10 |
|
---|
| 11 | def setLanguage(language):
|
---|
| 12 | """Setup the internationalization support for the given language."""
|
---|
| 13 | print "i18n.setLanguage", language
|
---|
| 14 | _Strings.set(language)
|
---|
| 15 |
|
---|
| 16 | #------------------------------------------------------------------------------
|
---|
| 17 |
|
---|
| 18 | def xstr(key):
|
---|
| 19 | """Get the string for the given key in the current language.
|
---|
| 20 |
|
---|
| 21 | If not found, the fallback language is searched. If that is not found
|
---|
| 22 | either, the key itself is returned within curly braces."""
|
---|
| 23 | s = _Strings.current()[key]
|
---|
| 24 | if s is None:
|
---|
| 25 | s = _Strings.fallback()[key]
|
---|
| 26 | return "{" + key + "}" if s is None else s
|
---|
| 27 |
|
---|
| 28 | #------------------------------------------------------------------------------
|
---|
| 29 |
|
---|
| 30 | class _Strings(object):
|
---|
| 31 | """A collection of strings belonging to a certain language."""
|
---|
| 32 | # The registry of the string collections. This is a mapping from
|
---|
| 33 | # language codes to the actual collection objects
|
---|
| 34 | _instances = {}
|
---|
| 35 |
|
---|
| 36 | # The fallback instance
|
---|
| 37 | _fallback = None
|
---|
| 38 |
|
---|
| 39 | # The currently used instance.
|
---|
| 40 | _current = None
|
---|
| 41 |
|
---|
| 42 | @staticmethod
|
---|
| 43 | def _find(language):
|
---|
| 44 | """Find an instance for the given language.
|
---|
| 45 |
|
---|
| 46 | First the language is searched for as is. If not found, it is truncated
|
---|
| 47 | from the end until the last underscore and that is searched for. And so
|
---|
| 48 | on, until no underscore remains.
|
---|
| 49 |
|
---|
| 50 | If nothing is found this way, the
|
---|
| 51 | """
|
---|
| 52 | while language:
|
---|
| 53 | if language in _Strings._instances:
|
---|
| 54 | return _Strings._instances[language]
|
---|
| 55 | underscoreIndex = language.rfind("_")
|
---|
| 56 | language = language[:underscoreIndex] if underscoreIndex>0 else ""
|
---|
| 57 | return _Strings._fallback
|
---|
| 58 |
|
---|
| 59 | @staticmethod
|
---|
| 60 | def set(language):
|
---|
| 61 | """Set the string for the given language.
|
---|
| 62 |
|
---|
| 63 | A String instance is searched for the given language (see
|
---|
| 64 | _Strings._find()). Otherwise the fallback language is used."""
|
---|
| 65 | strings = _Strings._find(language)
|
---|
| 66 | assert strings is not None
|
---|
| 67 | if _Strings._current is not None and \
|
---|
| 68 | _Strings._current is not _Strings._fallback:
|
---|
| 69 | _Strings._current.finalize()
|
---|
| 70 | if strings is not _Strings._fallback:
|
---|
| 71 | strings.initialize()
|
---|
| 72 | _Strings._current = strings
|
---|
| 73 |
|
---|
| 74 | @staticmethod
|
---|
| 75 | def fallback():
|
---|
| 76 | """Get the fallback."""
|
---|
| 77 | return _Strings._fallback
|
---|
| 78 |
|
---|
| 79 | @staticmethod
|
---|
| 80 | def current():
|
---|
| 81 | """Get the current."""
|
---|
| 82 | return _Strings._current
|
---|
| 83 |
|
---|
| 84 | def __init__(self, languages, fallback = False):
|
---|
| 85 | """Construct an empty strings object."""
|
---|
| 86 | self._strings = {}
|
---|
| 87 | for language in languages:
|
---|
| 88 | _Strings._instances[language] = self
|
---|
| 89 | if fallback:
|
---|
| 90 | _Strings._fallback = self
|
---|
| 91 | self.initialize()
|
---|
| 92 |
|
---|
| 93 | def initialize(self):
|
---|
| 94 | """Initialize the strings.
|
---|
| 95 |
|
---|
| 96 | This should be overridden in children to setup the strings."""
|
---|
| 97 | pass
|
---|
| 98 |
|
---|
| 99 | def finalize(self):
|
---|
| 100 | """Finalize the object.
|
---|
| 101 |
|
---|
| 102 | This releases the string dictionary to free space."""
|
---|
| 103 | self._strings = {}
|
---|
| 104 |
|
---|
| 105 | def add(self, id, s):
|
---|
| 106 | """Add the given text as the string with the given ID.
|
---|
| 107 |
|
---|
| 108 | If the ID is already in the object, that is an assertion failure!"""
|
---|
| 109 | assert id not in self._strings
|
---|
| 110 | self._strings[id] = s
|
---|
| 111 |
|
---|
| 112 | def __getitem__(self, key):
|
---|
| 113 | """Get the string with the given key."""
|
---|
| 114 | return self._strings[key] if key in self._strings else None
|
---|
| 115 |
|
---|
| 116 | #------------------------------------------------------------------------------
|
---|
| 117 |
|
---|
| 118 | class _English(_Strings):
|
---|
| 119 | """The strings for the English language."""
|
---|
| 120 | def __init__(self):
|
---|
| 121 | """Construct the object."""
|
---|
| 122 | super(_English, self).__init__(["en_GB", "en"], fallback = True)
|
---|
| 123 |
|
---|
| 124 | def initialize(self):
|
---|
| 125 | """Initialize the strings."""
|
---|
[110] | 126 | self.add("menu_file", "File")
|
---|
| 127 | self.add("menu_file_quit", "_Quit")
|
---|
| 128 | self.add("menu_file_quit_key", "q")
|
---|
| 129 | self.add("quit_question", "Are you sure to quit the logger?")
|
---|
| 130 |
|
---|
| 131 | self.add("menu_view", "View")
|
---|
| 132 | self.add("menu_view_monitor", "Show _monitor window")
|
---|
| 133 | self.add("menu_view_monitor_key", "m")
|
---|
| 134 | self.add("menu_view_debug", "Show _debug log")
|
---|
| 135 | self.add("menu_view_debug_key", "d")
|
---|
| 136 |
|
---|
[107] | 137 | self.add("tab_flight", "_Flight")
|
---|
[108] | 138 | self.add("tab_flight_tooltip", "Flight wizard")
|
---|
[107] | 139 | self.add("tab_flight_info", "Flight _info")
|
---|
[108] | 140 | self.add("tab_flight_info_tooltip", "Further information regarding the flight")
|
---|
[117] | 141 | self.add("tab_weight_help", "_Help")
|
---|
| 142 | self.add("tab_weight_help_tooltip", "Help to calculate the weights")
|
---|
[107] | 143 | self.add("tab_log", "_Log")
|
---|
[108] | 144 | self.add("tab_log_tooltip",
|
---|
| 145 | "The log of your flight that will be sent to the MAVA website")
|
---|
[117] | 146 | self.add("tab_gates", "_Gates")
|
---|
[107] | 147 | self.add("tab_debug_log", "_Debug log")
|
---|
[110] | 148 | self.add("tab_debug_log_tooltip", "Log with debugging information.")
|
---|
[108] | 149 |
|
---|
| 150 | self.add("conn_failed", "Cannot connect to the simulator.")
|
---|
| 151 | self.add("conn_failed_sec",
|
---|
| 152 | "Rectify the situation, and press <b>Try again</b> "
|
---|
| 153 | "to try the connection again, "
|
---|
| 154 | "or <b>Cancel</b> to cancel the flight.")
|
---|
| 155 | self.add("conn_broken",
|
---|
| 156 | "The connection to the simulator failed unexpectedly.")
|
---|
| 157 | self.add("conn_broken_sec",
|
---|
| 158 | "If the simulator has crashed, restart it "
|
---|
| 159 | "and restore your flight as much as possible "
|
---|
| 160 | "to the state it was in before the crash. "
|
---|
| 161 | "Then press <b>Reconnect</b> to reconnect.\n\n"
|
---|
| 162 | "If you want to cancel the flight, press <b>Cancel</b>.")
|
---|
| 163 | self.add("button_cancel", "_Cancel")
|
---|
| 164 | self.add("button_tryagain", "_Try again")
|
---|
| 165 | self.add("button_reconnect", "_Reconnect")
|
---|
[107] | 166 |
|
---|
| 167 | self.add("login", "Login")
|
---|
| 168 | self.add("loginHelp",
|
---|
| 169 | "Enter your MAVA pilot's ID and password to\n" \
|
---|
| 170 | "log in to the MAVA website and download\n" \
|
---|
| 171 | "your booked flights.")
|
---|
| 172 | self.add("label_pilotID", "Pil_ot ID:")
|
---|
| 173 | self.add("login_pilotID_tooltip",
|
---|
| 174 | "Enter your MAVA pilot's ID. This usually starts with a "
|
---|
| 175 | "'P' followed by 3 digits.")
|
---|
| 176 | self.add("label_password", "_Password:")
|
---|
| 177 | self.add("login_password_tooltip",
|
---|
| 178 | "Enter the password for your pilot's ID")
|
---|
| 179 | self.add("remember_password", "_Remember password")
|
---|
| 180 | self.add("login_remember_tooltip",
|
---|
| 181 | "If checked, your password will be stored, so that you should "
|
---|
| 182 | "not have to enter it every time. Note, however, that the password "
|
---|
| 183 | "is stored as text, and anybody who can access your files will "
|
---|
| 184 | "be able to read it.")
|
---|
| 185 | self.add("button_login", "Logi_n")
|
---|
| 186 | self.add("login_button_tooltip", "Click to log in.")
|
---|
| 187 | self.add("login_busy", "Logging in...")
|
---|
| 188 | self.add("login_invalid", "Invalid pilot's ID or password.")
|
---|
| 189 | self.add("login_invalid_sec",
|
---|
| 190 | "Check the ID and try to reenter the password.")
|
---|
| 191 | self.add("login_failconn",
|
---|
| 192 | "Failed to connect to the MAVA website.")
|
---|
| 193 | self.add("login_failconn_sec", "Try again in a few minutes.")
|
---|
| 194 |
|
---|
| 195 | self.add("button_next", "_Next")
|
---|
| 196 | self.add("button_next_tooltip", "Click to go to the next page.")
|
---|
| 197 | self.add("button_previous", "_Previous")
|
---|
| 198 | self.add("button_previous_tooltip", "Click to go to the previous page.")
|
---|
| 199 |
|
---|
| 200 | self.add("flightsel_title", "Flight selection")
|
---|
| 201 | self.add("flightsel_help", "Select the flight you want to perform.")
|
---|
| 202 | self.add("flightsel_chelp", "You have selected the flight highlighted below.")
|
---|
| 203 | self.add("flightsel_no", "Flight no.")
|
---|
| 204 | self.add("flightsel_deptime", "Departure time [UTC]")
|
---|
| 205 | self.add("flightsel_from", "From")
|
---|
| 206 | self.add("flightsel_to", "To")
|
---|
| 207 |
|
---|
| 208 | self.add("fleet_busy", "Retrieving fleet...")
|
---|
| 209 | self.add("fleet_failed",
|
---|
| 210 | "Failed to retrieve the information on the fleet.")
|
---|
| 211 | self.add("fleet_update_busy", "Updating plane status...")
|
---|
| 212 | self.add("fleet_update_failed",
|
---|
| 213 | "Failed to update the status of the airplane.")
|
---|
| 214 |
|
---|
| 215 | self.add("gatesel_title", "LHBP gate selection")
|
---|
| 216 | self.add("gatesel_help",
|
---|
| 217 | "The airplane's gate position is invalid.\n\n" \
|
---|
| 218 | "Select the gate from which you\n" \
|
---|
| 219 | "would like to begin the flight.")
|
---|
| 220 | self.add("gatesel_conflict", "Gate conflict detected again.")
|
---|
| 221 | self.add("gatesel_conflict_sec",
|
---|
| 222 | "Try to select a different gate.")
|
---|
| 223 |
|
---|
| 224 | self.add("connect_title", "Connect to the simulator")
|
---|
| 225 | self.add("connect_help",
|
---|
| 226 | "Load the aircraft below into the simulator and park it\n" \
|
---|
| 227 | "at the given airport, at the gate below, if present.\n\n" \
|
---|
| 228 | "Then press the Connect button to connect to the simulator.")
|
---|
| 229 | self.add("connect_chelp",
|
---|
| 230 | "The basic data of your flight can be read below.")
|
---|
| 231 | self.add("connect_flightno", "Flight number:")
|
---|
| 232 | self.add("connect_acft", "Aircraft:")
|
---|
| 233 | self.add("connect_tailno", "Tail number:")
|
---|
| 234 | self.add("connect_airport", "Airport:")
|
---|
| 235 | self.add("connect_gate", "Gate:")
|
---|
| 236 | self.add("button_connect", "_Connect")
|
---|
| 237 | self.add("button_connect_tooltip", "Click to connect to the simulator.")
|
---|
| 238 | self.add("connect_busy", "Connecting to the simulator...")
|
---|
| 239 |
|
---|
| 240 | self.add("payload_title", "Payload")
|
---|
| 241 | self.add("payload_help",
|
---|
| 242 | "The briefing contains the weights below.\n" \
|
---|
| 243 | "Setup the cargo weight here and the payload weight "
|
---|
| 244 | "in the simulator.\n\n" \
|
---|
| 245 | "You can also check here what the simulator reports as ZFW.")
|
---|
| 246 | self.add("payload_chelp",
|
---|
| 247 | "You can see the weights in the briefing\n" \
|
---|
| 248 | "and the cargo weight you have selected below.\n\n" \
|
---|
| 249 | "You can also query the ZFW reported by the simulator.")
|
---|
| 250 | self.add("payload_crew", "Crew:")
|
---|
| 251 | self.add("payload_pax", "Passengers:")
|
---|
| 252 | self.add("payload_bag", "Baggage:")
|
---|
| 253 | self.add("payload_cargo", "_Cargo:")
|
---|
| 254 | self.add("payload_cargo_tooltip",
|
---|
| 255 | "The weight of the cargo for your flight.")
|
---|
| 256 | self.add("payload_mail", "Mail:")
|
---|
| 257 | self.add("payload_zfw", "Calculated ZFW:")
|
---|
| 258 | self.add("payload_fszfw", "_ZFW from FS:")
|
---|
| 259 | self.add("payload_fszfw_tooltip",
|
---|
| 260 | "Click here to refresh the ZFW value from the simulator.")
|
---|
| 261 | self.add("payload_zfw_busy", "Querying ZFW...")
|
---|
| 262 |
|
---|
| 263 | self.add("time_title", "Time")
|
---|
| 264 | self.add("time_help",
|
---|
| 265 | "The departure and arrival times are displayed below in UTC.\n\n" \
|
---|
| 266 | "You can also query the current UTC time from the simulator.\n" \
|
---|
| 267 | "Ensure that you have enough time to properly prepare for the flight.")
|
---|
| 268 | self.add("time_chelp",
|
---|
| 269 | "The departure and arrival times are displayed below in UTC.\n\n" \
|
---|
| 270 | "You can also query the current UTC time from the simulator.\n")
|
---|
| 271 | self.add("time_departure", "Departure:")
|
---|
| 272 | self.add("time_arrival", "Arrival:")
|
---|
| 273 | self.add("time_fs", "_Time from FS:")
|
---|
| 274 | self.add("time_fs_tooltip",
|
---|
| 275 | "Click here to query the current UTC time from the simulator.")
|
---|
| 276 | self.add("time_busy", "Querying time...")
|
---|
| 277 |
|
---|
| 278 | self.add("route_title", "Route")
|
---|
| 279 | self.add("route_help",
|
---|
| 280 | "Set your cruise flight level below, and\n" \
|
---|
| 281 | "if necessary, edit the flight plan.")
|
---|
| 282 | self.add("route_chelp",
|
---|
| 283 | "If necessary, you can modify the cruise level and\n" \
|
---|
| 284 | "the flight plan below during flight.\n" \
|
---|
| 285 | "If so, please, add a comment on why " \
|
---|
| 286 | "the modification became necessary.")
|
---|
| 287 | self.add("route_level", "_Cruise level:")
|
---|
| 288 | self.add("route_level_tooltip",
|
---|
| 289 | "The cruise flight level. Click on the arrows to increment "
|
---|
| 290 | "or decrement by 10, or enter the number on the keyboard.")
|
---|
| 291 | self.add("route_route", "_Route")
|
---|
| 292 | self.add("route_route_tooltip",
|
---|
| 293 | "The planned flight route in the standard format.")
|
---|
| 294 | self.add("route_down_notams", "Downloading NOTAMs...")
|
---|
| 295 | self.add("route_down_metars", "Downloading METARs...")
|
---|
| 296 |
|
---|
| 297 | self.add("briefing_title", "Briefing (%d/2): %s")
|
---|
| 298 | self.add("briefing_departure", "departure")
|
---|
| 299 | self.add("briefing_arrival", "arrival")
|
---|
| 300 | self.add("briefing_help",
|
---|
| 301 | "Read carefully the NOTAMs and METAR below.\n\n" \
|
---|
| 302 | "You can edit the METAR if your simulator or network\n" \
|
---|
| 303 | "provides different weather.")
|
---|
| 304 | self.add("briefing_chelp",
|
---|
| 305 | "If your simulator or network provides a different\n" \
|
---|
| 306 | "weather, you can edit the METAR below.")
|
---|
| 307 | self.add("briefing_notams_init", "LHBP NOTAMs")
|
---|
| 308 | self.add("briefing_metar_init", "LHBP METAR")
|
---|
| 309 | self.add("briefing_button",
|
---|
| 310 | "I have read the briefing and am _ready to fly!")
|
---|
| 311 | self.add("briefing_notams_template", "%s NOTAMs")
|
---|
| 312 | self.add("briefing_metar_template", "%s _METAR")
|
---|
| 313 | self.add("briefing_notams_failed", "Could not download NOTAMs")
|
---|
| 314 | self.add("briefing_notams_missing",
|
---|
| 315 | "Could not download NOTAM for this airport")
|
---|
| 316 | self.add("briefing_metar_failed", "Could not download METAR")
|
---|
| 317 |
|
---|
| 318 | self.add("takeoff_title", "Takeoff")
|
---|
| 319 | self.add("takeoff_help",
|
---|
| 320 | "Enter the runway and SID used, as well as the speeds.")
|
---|
| 321 | self.add("takeoff_chelp",
|
---|
| 322 | "The runway, SID and takeoff speeds logged can be seen below.")
|
---|
| 323 | self.add("takeoff_runway", "Run_way:")
|
---|
| 324 | self.add("takeoff_runway_tooltip",
|
---|
| 325 | "The runway the takeoff is performed from.")
|
---|
| 326 | self.add("takeoff_sid", "_SID:")
|
---|
| 327 | self.add("takeoff_sid_tooltip",
|
---|
| 328 | "The name of the Standard Instrument Deparature procedure followed.")
|
---|
| 329 | self.add("takeoff_v1", "V<sub>_1</sub>:")
|
---|
| 330 | self.add("takeoff_v1_tooltip", "The takeoff decision speed in knots.")
|
---|
| 331 | self.add("label_knots", "knots")
|
---|
| 332 | self.add("takeoff_vr", "V<sub>_R</sub>:")
|
---|
| 333 | self.add("takeoff_vr_tooltip", "The takeoff rotation speed in knots.")
|
---|
| 334 | self.add("takeoff_v2", "V<sub>_2</sub>:")
|
---|
| 335 | self.add("takeoff_v2_tooltip", "The takeoff safety speed in knots.")
|
---|
| 336 |
|
---|
| 337 | self.add("landing_title", "Landing")
|
---|
| 338 | self.add("landing_help",
|
---|
| 339 | "Enter the STAR and/or transition, runway,\n" \
|
---|
| 340 | "approach type and V<sub>Ref</sub> used.")
|
---|
| 341 | self.add("landing_chelp",
|
---|
| 342 | "The STAR and/or transition, runway, approach\n" \
|
---|
| 343 | "type and V<sub>Ref</sub> logged can be seen below.")
|
---|
| 344 | self.add("landing_star", "_STAR:")
|
---|
| 345 | self.add("landing_star_tooltip",
|
---|
| 346 | "The name of Standard Terminal Arrival Route followed.")
|
---|
| 347 | self.add("landing_transition", "_Transition:")
|
---|
| 348 | self.add("landing_transition_tooltip",
|
---|
| 349 | "The name of transition executed or VECTORS if vectored by ATC.")
|
---|
| 350 | self.add("landing_runway", "Run_way:")
|
---|
| 351 | self.add("landing_runway_tooltip",
|
---|
| 352 | "The runway the landing is performed on.")
|
---|
| 353 | self.add("landing_approach", "_Approach type:")
|
---|
| 354 | self.add("landing_approach_tooltip",
|
---|
| 355 | "The type of the approach, e.g. ILS or VISUAL.")
|
---|
| 356 | self.add("landing_vref", "V<sub>_Ref</sub>:")
|
---|
| 357 | self.add("landing_vref_tooltip",
|
---|
| 358 | "The landing reference speed in knots.")
|
---|
| 359 |
|
---|
| 360 | self.add("flighttype_scheduled", "scheduled")
|
---|
| 361 | self.add("flighttype_ot", "old-timer")
|
---|
| 362 | self.add("flighttype_vip", "VIP")
|
---|
| 363 | self.add("flighttype_charter", "charter")
|
---|
| 364 |
|
---|
| 365 | self.add("finish_title", "Finish")
|
---|
| 366 | self.add("finish_help",
|
---|
| 367 | "There are some statistics about your flight below.\n\n" \
|
---|
| 368 | "Review the data, also on earlier pages, and if you are\n" \
|
---|
| 369 | "satisfied, you can save or send your PIREP.")
|
---|
| 370 | self.add("finish_rating", "Flight rating:")
|
---|
| 371 | self.add("finish_flight_time", "Flight time:")
|
---|
| 372 | self.add("finish_block_time", "Block time:")
|
---|
| 373 | self.add("finish_distance", "Distance flown:")
|
---|
| 374 | self.add("finish_fuel", "Fuel used:")
|
---|
| 375 | self.add("finish_type", "_Type:")
|
---|
| 376 | self.add("finish_type_tooltip", "Select the type of the flight.")
|
---|
| 377 | self.add("finish_online", "_Online flight")
|
---|
| 378 | self.add("finish_online_tooltip",
|
---|
| 379 | "Check if your flight was online, uncheck otherwise.")
|
---|
| 380 | self.add("finish_save", "S_ave PIREP...")
|
---|
| 381 | self.add("finish_save_tooltip",
|
---|
| 382 | "Click to save the PIREP into a file on your computer. " \
|
---|
| 383 | "The PIREP can be loaded and sent later.")
|
---|
| 384 | self.add("finish_send", "_Send PIREP...")
|
---|
| 385 | self.add("finish_send_tooltip",
|
---|
| 386 | "Click to send the PIREP to the MAVA website for further review.")
|
---|
| 387 | self.add("finish_send_busy", "Sending PIREP...")
|
---|
| 388 | self.add("finish_send_success",
|
---|
| 389 | "The PIREP was sent successfully.")
|
---|
| 390 | self.add("finish_send_success_sec",
|
---|
| 391 | "Await the thorough scrutiny by our fearless PIREP reviewers! :)")
|
---|
| 392 | self.add("finish_send_already",
|
---|
| 393 | "The PIREP for this flight has already been sent!")
|
---|
| 394 | self.add("finish_send_already_sec",
|
---|
| 395 | "You may clear the old PIREP on the MAVA website.")
|
---|
| 396 | self.add("finish_send_notavail",
|
---|
| 397 | "This flight is not available anymore!")
|
---|
| 398 | self.add("finish_send_unknown",
|
---|
| 399 | "The MAVA website returned with an unknown error.")
|
---|
| 400 | self.add("finish_send_unknown_sec",
|
---|
| 401 | "See the debug log for more information.")
|
---|
| 402 | self.add("finish_send_failed",
|
---|
| 403 | "Could not send the PIREP to the MAVA website.")
|
---|
| 404 | self.add("finish_send_failed_sec",
|
---|
| 405 | "This can be a network problem, in which case\n" \
|
---|
| 406 | "you may try again later. Or it can be a bug;\n" \
|
---|
| 407 | "see the debug log for more information.")
|
---|
[111] | 408 |
|
---|
| 409 | # C D
|
---|
| 410 |
|
---|
| 411 | self.add("info_comments", "_Comments")
|
---|
| 412 | self.add("info_defects", "Flight _defects")
|
---|
| 413 | self.add("info_delay", "Delay codes")
|
---|
| 414 |
|
---|
| 415 | # O V N E Y T R A W P
|
---|
| 416 |
|
---|
| 417 | self.add("info_delay_loading", "L_oading problems")
|
---|
| 418 | self.add("info_delay_vatsim", "_VATSIM problem")
|
---|
| 419 | self.add("info_delay_net", "_Net problems")
|
---|
| 420 | self.add("info_delay_atc", "Controll_er's fault")
|
---|
| 421 | self.add("info_delay_system", "S_ystem crash/freeze")
|
---|
| 422 | self.add("info_delay_nav", "Naviga_tion problem")
|
---|
| 423 | self.add("info_delay_traffic", "T_raffic problems")
|
---|
| 424 | self.add("info_delay_apron", "_Apron navigation problem")
|
---|
| 425 | self.add("info_delay_weather", "_Weather problems")
|
---|
| 426 | self.add("info_delay_personal", "_Personal reasons")
|
---|
[112] | 427 |
|
---|
| 428 | self.add("statusbar_conn_tooltip",
|
---|
| 429 | 'The state of the connection.\n'
|
---|
| 430 | '<span foreground="grey">Grey</span> means idle.\n'
|
---|
| 431 | '<span foreground="red">Red</span> means trying to connect.\n'
|
---|
| 432 | '<span foreground="green">Green</span> means connected.')
|
---|
| 433 | self.add("statusbar_stage_tooltip", "The flight stage")
|
---|
| 434 | self.add("statusbar_time_tooltip", "The simulator time in UTC")
|
---|
| 435 | self.add("statusbar_rating_tooltip", "The flight rating")
|
---|
| 436 | self.add("statusbar_busy_tooltip", "The status of the background tasks.")
|
---|
| 437 |
|
---|
| 438 | self.add("flight_stage_boarding", "boarding")
|
---|
| 439 | self.add("flight_stage_pushback and taxi", "pushback and taxi")
|
---|
| 440 | self.add("flight_stage_takeoff", "takeoff")
|
---|
| 441 | self.add("flight_stage_RTO", "RTO")
|
---|
| 442 | self.add("flight_stage_climb", "climb")
|
---|
| 443 | self.add("flight_stage_cruise", "cruise")
|
---|
| 444 | self.add("flight_stage_descent", "descent")
|
---|
| 445 | self.add("flight_stage_landing", "landing")
|
---|
| 446 | self.add("flight_stage_taxi", "taxi")
|
---|
| 447 | self.add("flight_stage_parking", "parking")
|
---|
| 448 | self.add("flight_stage_go-around", "go-around")
|
---|
| 449 | self.add("flight_stage_end", "end")
|
---|
[114] | 450 |
|
---|
| 451 | self.add("statusicon_showmain", "Show main window")
|
---|
| 452 | self.add("statusicon_showmonitor", "Show monitor window")
|
---|
| 453 | self.add("statusicon_quit", "Quit")
|
---|
| 454 | self.add("statusicon_stage", "Stage:")
|
---|
| 455 | self.add("statusicon_rating", "Rating:")
|
---|
[115] | 456 |
|
---|
| 457 | self.add("update_title", "Update")
|
---|
| 458 | self.add("update_needsudo",
|
---|
| 459 | "There is an update available, but the program cannot write\n"
|
---|
| 460 | "its directory due to insufficient privileges.\n\n"
|
---|
| 461 | "Click OK, if you want to run a helper program\n"
|
---|
| 462 | "with administrator privileges "
|
---|
| 463 | "to complete the update,\n"
|
---|
| 464 | "Cancel otherwise.")
|
---|
| 465 | self.add("update_manifest_progress", "Downloading manifest...")
|
---|
| 466 | self.add("update_manifest_done", "Downloaded manifest...")
|
---|
| 467 | self.add("update_files_progress", "Downloading files...")
|
---|
| 468 | self.add("update_files_bytes", "Downloaded %d of %d bytes")
|
---|
| 469 | self.add("update_renaming", "Renaming downloaded files...")
|
---|
| 470 | self.add("update_renamed", "Renamed %s")
|
---|
| 471 | self.add("update_removing", "Removing files...")
|
---|
| 472 | self.add("update_removed", "Removed %s")
|
---|
| 473 | self.add("update_writing_manifest", "Writing the new manifest")
|
---|
| 474 | self.add("update_finished",
|
---|
| 475 | "Finished updating. Press OK to restart the program.")
|
---|
| 476 | self.add("update_nothing", "There was nothing to update")
|
---|
| 477 | self.add("update_failed", "Failed, see the debug log for details.")
|
---|
[117] | 478 |
|
---|
| 479 | self.add("weighthelp_usinghelp", "_Using help")
|
---|
| 480 | self.add("weighthelp_usinghelp_tooltip",
|
---|
| 481 | "If you check this, some help will be displayed on how "
|
---|
| 482 | "to calculate the payload weight for your flight. "
|
---|
| 483 | "Note, that the usage of this facility will be logged.")
|
---|
| 484 | self.add("weighthelp_header_calculated", "Requested/\ncalculated")
|
---|
| 485 | self.add("weighthelp_header_simulator", "Simulator\ndata")
|
---|
| 486 | self.add("weighthelp_header_simulator_tooltip",
|
---|
| 487 | "Click this button to retrieve the weight values from the "
|
---|
| 488 | "simulator, which will be displayed below. If a value is "
|
---|
| 489 | "within 10% of the tolerance, it is displayed in "
|
---|
| 490 | '<b><span foreground="darkgreen">green</span></b>, '
|
---|
| 491 | "if it is out of the tolerance, it is displayed in "
|
---|
| 492 | '<b><span foreground="red">red</span></b>, '
|
---|
| 493 | "otherwise in"
|
---|
| 494 | '<b><span foreground="orange">yellow</span></b>.')
|
---|
| 495 | self.add("weighthelp_crew", "Crew (%s):")
|
---|
| 496 | self.add("weighthelp_pax", "Passengers (%s):")
|
---|
| 497 | self.add("weighthelp_baggage", "Baggage:")
|
---|
| 498 | self.add("weighthelp_cargo", "Cargo:")
|
---|
| 499 | self.add("weighthelp_mail", "Mail:")
|
---|
| 500 | self.add("weighthelp_payload", "Payload:")
|
---|
| 501 | self.add("weighthelp_dow", "DOW:")
|
---|
| 502 | self.add("weighthelp_zfw", "ZFW:")
|
---|
| 503 | self.add("weighthelp_gross", "Gross weight:")
|
---|
| 504 | self.add("weighthelp_mzfw", "MZFW:")
|
---|
| 505 | self.add("weighthelp_mtow", "MTOW:")
|
---|
| 506 | self.add("weighthelp_mlw", "MLW:")
|
---|
| 507 | self.add("weighthelp_busy", "Querying weight data...")
|
---|
[107] | 508 |
|
---|
| 509 | #------------------------------------------------------------------------------
|
---|
| 510 |
|
---|
| 511 | class _Hungarian(_Strings):
|
---|
| 512 | """The strings for the Hungarian language."""
|
---|
| 513 | def __init__(self):
|
---|
| 514 | """Construct the object."""
|
---|
| 515 | super(_Hungarian, self).__init__(["hu_HU", "hu"])
|
---|
| 516 |
|
---|
| 517 | def initialize(self):
|
---|
| 518 | """Initialize the strings."""
|
---|
[110] | 519 | self.add("menu_file", "Fájl")
|
---|
| 520 | self.add("menu_file_quit", "_Kilépés")
|
---|
| 521 | self.add("menu_file_quit_key", "k")
|
---|
| 522 | self.add("quit_question", "Biztosan ki akarsz lépni?")
|
---|
| 523 |
|
---|
| 524 | self.add("menu_view", "Nézet")
|
---|
| 525 | self.add("menu_view_monitor", "Mutasd a _monitor ablakot")
|
---|
| 526 | self.add("menu_view_monitor_key", "m")
|
---|
| 527 | self.add("menu_view_debug", "Mutasd a _debug naplót")
|
---|
| 528 | self.add("menu_view_debug_key", "d")
|
---|
| 529 |
|
---|
[107] | 530 | self.add("tab_flight", "_Járat")
|
---|
[108] | 531 | self.add("tab_flight_tooltip", "Járat varázsló")
|
---|
[107] | 532 | self.add("tab_flight_info", "Járat _info")
|
---|
[108] | 533 | self.add("tab_flight_info_tooltip", "Egyéb információk a járat teljesítésével kapcsolatban")
|
---|
[117] | 534 | self.add("tab_weight_help", "_Segítség")
|
---|
| 535 | self.add("tab_weight_help_tooltip", "Segítség a súlyszámításhoz")
|
---|
[107] | 536 | self.add("tab_log", "_Napló")
|
---|
[108] | 537 | self.add("tab_log_tooltip",
|
---|
| 538 | "A járat naplója, amit majd el lehet küldeni a MAVA szerverére")
|
---|
[107] | 539 | self.add("tab_debug_log", "_Debug napló")
|
---|
[110] | 540 | self.add("tab_debug_log_tooltip",
|
---|
| 541 | "Hibakereséshez használható információkat tartalmazó napló.")
|
---|
[107] | 542 | self.add("tab_gates", "_Kapuk")
|
---|
| 543 |
|
---|
[108] | 544 | self.add("conn_failed", "Nem tudtam kapcsolódni a szimulátorhoz.")
|
---|
| 545 | self.add("conn_failed_sec",
|
---|
| 546 | "Korrigáld a problémát, majd nyomd meg az "
|
---|
| 547 | "<b>Próbáld újra</b> gombot a újrakapcsolódáshoz, "
|
---|
| 548 | "vagy a <b>Mégse</b> gombot a járat megszakításához.")
|
---|
| 549 | self.add("conn_broken",
|
---|
| 550 | "A szimulátorral való kapcsolat váratlanul megszakadt.")
|
---|
| 551 | self.add("conn_broken_sec",
|
---|
| 552 | "Ha a szimulátor elszállt, indítsd újra "
|
---|
| 553 | "és állítsd vissza a repülésed elszállás előtti "
|
---|
| 554 | "állapotát amennyire csak lehet. "
|
---|
| 555 | "Ezután nyomd meg az <b>Újrakapcsolódás</b> gombot "
|
---|
| 556 | "a kapcsolat ismételt felvételéhez.\n\n"
|
---|
| 557 | "Ha meg akarod szakítani a repülést, nyomd meg a "
|
---|
| 558 | "<b>Mégse</b> gombot.")
|
---|
| 559 | self.add("button_cancel", "_Mégse")
|
---|
| 560 | self.add("button_tryagain", "_Próbáld újra")
|
---|
| 561 | self.add("button_reconnect", "Újra_kapcsolódás")
|
---|
| 562 |
|
---|
[107] | 563 | self.add("login", "Bejelentkezés")
|
---|
| 564 | self.add("loginHelp",
|
---|
| 565 | "Írd be a MAVA pilóta azonosítódat és a\n" \
|
---|
| 566 | "bejelentkezéshez használt jelszavadat,\n" \
|
---|
| 567 | "hogy választhass a foglalt járataid közül.")
|
---|
| 568 | self.add("label_pilotID", "_Azonosító:")
|
---|
| 569 | self.add("login_pilotID_tooltip",
|
---|
| 570 | "Írd be a MAVA pilóta azonosítódat. Ez általában egy 'P' "
|
---|
| 571 | "betűvel kezdődik, melyet 3 számjegy követ.")
|
---|
| 572 | self.add("label_password", "Je_lszó:")
|
---|
| 573 | self.add("login_password_tooltip",
|
---|
| 574 | "Írd be a pilóta azonosítódhoz tartozó jelszavadat.")
|
---|
| 575 | self.add("remember_password", "_Emlékezz a jelszóra")
|
---|
| 576 | self.add("login_remember_tooltip",
|
---|
| 577 | "Ha ezt kiválasztod, a jelszavadat eltárolja a program, így "
|
---|
| 578 | "nem kell mindig újból beírnod. Vedd azonban figyelembe, "
|
---|
| 579 | "hogy a jelszót szövegként tároljuk, így bárki elolvashatja, "
|
---|
| 580 | "aki hozzáfér a fájljaidhoz.")
|
---|
| 581 | self.add("button_login", "_Bejelentkezés")
|
---|
| 582 | self.add("login_button_tooltip", "Kattints ide a bejelentkezéshez.")
|
---|
| 583 | self.add("login_busy", "Bejelentkezés...")
|
---|
| 584 | self.add("login_invalid", "Érvénytelen azonosító vagy jelszó.")
|
---|
| 585 | self.add("login_invalid_sec",
|
---|
| 586 | "Ellenőrízd az azonosítót, és próbáld meg újra beírni a jelszót.")
|
---|
| 587 | self.add("login_failconn",
|
---|
| 588 | "Nem sikerült kapcsolódni a MAVA honlaphoz.")
|
---|
| 589 | self.add("login_failconn_sec", "Próbáld meg pár perc múlva.")
|
---|
| 590 |
|
---|
| 591 | self.add("button_next", "_Előre")
|
---|
| 592 | self.add("button_next_tooltip",
|
---|
| 593 | "Kattints ide, hogy a következő lapra ugorj.")
|
---|
| 594 | self.add("button_previous", "_Vissza")
|
---|
| 595 | self.add("button_previous_tooltip",
|
---|
| 596 | "Kattints ide, hogy az előző lapra ugorj.")
|
---|
| 597 |
|
---|
| 598 | self.add("flightsel_title", "Járatválasztás")
|
---|
| 599 | self.add("flightsel_help", "Válaszd ki a járatot, amelyet le szeretnél repülni.")
|
---|
| 600 | self.add("flightsel_chelp", "A lent kiemelt járatot választottad.")
|
---|
| 601 | self.add("flightsel_no", "Járatszám")
|
---|
| 602 | self.add("flightsel_deptime", "Indulás ideje [UTC]")
|
---|
| 603 | self.add("flightsel_from", "Honnan")
|
---|
| 604 | self.add("flightsel_to", "Hová")
|
---|
| 605 |
|
---|
| 606 | self.add("fleet_busy", "Flottaadatok letöltése...")
|
---|
| 607 | self.add("fleet_failed",
|
---|
| 608 | "Nem sikerült letöltenem a flotta adatait.")
|
---|
| 609 | self.add("fleet_update_busy", "Repülőgép pozíció frissítése...")
|
---|
| 610 | self.add("fleet_update_failed",
|
---|
| 611 | "Nem sikerült frissítenem a repülőgép pozícióját.")
|
---|
| 612 |
|
---|
| 613 | self.add("gatesel_title", "LHBP kapuválasztás")
|
---|
| 614 | self.add("gatesel_help",
|
---|
| 615 | "A repülőgép kapu pozíciója érvénytelen.\n\n" \
|
---|
| 616 | "Válaszd ki azt a kaput, ahonnan\n" \
|
---|
| 617 | "el szeretnéd kezdeni a járatot.")
|
---|
| 618 | self.add("gatesel_conflict", "Ismét kapuütközés történt.")
|
---|
| 619 | self.add("gatesel_conflict_sec",
|
---|
| 620 | "Próbálj egy másik kaput választani.")
|
---|
| 621 |
|
---|
| 622 | self.add("connect_title", "Kapcsolódás a szimulátorhoz")
|
---|
| 623 | self.add("connect_help",
|
---|
| 624 | "Tölsd be a lent látható repülőgépet a szimulátorba\n" \
|
---|
| 625 | "az alább megadott reptérre és kapuhoz.\n\n" \
|
---|
| 626 | "Ezután nyomd meg a Kapcsolódás gombot a kapcsolódáshoz.")
|
---|
| 627 | self.add("connect_chelp",
|
---|
| 628 | "A járat alapadatai lent olvashatók.")
|
---|
| 629 | self.add("connect_flightno", "Járatszám:")
|
---|
| 630 | self.add("connect_acft", "Típus:")
|
---|
| 631 | self.add("connect_tailno", "Lajstromjel:")
|
---|
| 632 | self.add("connect_airport", "Repülőtér:")
|
---|
| 633 | self.add("connect_gate", "Kapu:")
|
---|
| 634 | self.add("button_connect", "K_apcsolódás")
|
---|
| 635 | self.add("button_connect_tooltip",
|
---|
| 636 | "Kattints ide a szimulátorhoz való kapcsolódáshoz.")
|
---|
| 637 | self.add("connect_busy", "Kapcsolódás a szimulátorhoz...")
|
---|
| 638 |
|
---|
| 639 | self.add("payload_title", "Terhelés")
|
---|
| 640 | self.add("payload_help",
|
---|
| 641 | "Az eligazítás az alábbi tömegeket tartalmazza.\n" \
|
---|
| 642 | "Allítsd be a teherszállítmány tömegét itt, a hasznos "
|
---|
| 643 | "terhet pedig a szimulátorban.\n\n" \
|
---|
| 644 | "Azt is ellenőrízheted, hogy a szimulátor milyen ZFW-t jelent.")
|
---|
| 645 | self.add("payload_chelp",
|
---|
| 646 | "Lent láthatók az eligazításban szereplő tömegek, valamint\n" \
|
---|
| 647 | "a teherszállítmány általad megadott tömege.\n\n" \
|
---|
| 648 | "Azt is ellenőrízheted, hogy a szimulátor milyen ZFW-t jelent.")
|
---|
| 649 | self.add("payload_crew", "Legénység:")
|
---|
| 650 | self.add("payload_pax", "Utasok:")
|
---|
| 651 | self.add("payload_bag", "Poggyász:")
|
---|
| 652 | self.add("payload_cargo", "_Teher:")
|
---|
| 653 | self.add("payload_cargo_tooltip",
|
---|
| 654 | "A teherszállítmány tömege.")
|
---|
| 655 | self.add("payload_mail", "Posta:")
|
---|
| 656 | self.add("payload_zfw", "Kiszámolt ZFW:")
|
---|
| 657 | self.add("payload_fszfw", "_ZFW a szimulátorból:")
|
---|
| 658 | self.add("payload_fszfw_tooltip",
|
---|
| 659 | "Kattints ide, hogy frissítsd a ZFW értékét a szimulátorból.")
|
---|
| 660 | self.add("payload_zfw_busy", "ZFW lekérdezése...")
|
---|
| 661 |
|
---|
| 662 | self.add("time_title", "Menetrend")
|
---|
| 663 | self.add("time_help",
|
---|
| 664 | "Az indulás és az érkezés ideje lent látható UTC szerint.\n\n" \
|
---|
| 665 | "A szimulátor aktuális UTC szerinti idejét is lekérdezheted.\n" \
|
---|
| 666 | "Győzödj meg arról, hogy elég időd van a repülés előkészítéséhez.")
|
---|
| 667 | self.add("time_chelp",
|
---|
| 668 | "Az indulás és az érkezés ideje lent látható UTC szerint.\n\n" \
|
---|
| 669 | "A szimulátor aktuális UTC szerinti idejét is lekérdezheted.")
|
---|
| 670 | self.add("time_departure", "Indulás:")
|
---|
| 671 | self.add("time_arrival", "Érkezés:")
|
---|
| 672 | self.add("time_fs", "Idő a s_zimulátorból:")
|
---|
| 673 | self.add("time_fs_tooltip",
|
---|
| 674 | "Kattings ide, hogy frissítsd a szimulátor aktuális UTC szerint idejét.")
|
---|
| 675 | self.add("time_busy", "Idő lekérdezése...")
|
---|
| 676 |
|
---|
| 677 | self.add("route_title", "Útvonal")
|
---|
| 678 | self.add("route_help",
|
---|
| 679 | "Állítsd be az utazószintet lent, és ha szükséges,\n" \
|
---|
| 680 | "módosítsd az útvonaltervet.")
|
---|
| 681 | self.add("route_chelp",
|
---|
| 682 | "Ha szükséges, lent módosíthatod az utazószintet és\n" \
|
---|
| 683 | "az útvonaltervet repülés közben is.\n" \
|
---|
| 684 | "Ha így teszel, légy szíves a megjegyzés mezőben " \
|
---|
| 685 | "ismertesd ennek okát.")
|
---|
| 686 | self.add("route_level", "_Utazószint:")
|
---|
| 687 | self.add("route_level_tooltip", "Az utazószint.")
|
---|
| 688 | self.add("route_route", "Út_vonal")
|
---|
| 689 | self.add("route_route_tooltip", "Az útvonal a szokásos formátumban.")
|
---|
| 690 | self.add("route_down_notams", "NOTAM-ok letöltése...")
|
---|
| 691 | self.add("route_down_metars", "METAR-ok letöltése...")
|
---|
| 692 |
|
---|
| 693 | self.add("briefing_title", "Eligazítás (%d/2): %s")
|
---|
| 694 | self.add("briefing_departure", "indulás")
|
---|
| 695 | self.add("briefing_arrival", "érkezés")
|
---|
| 696 | self.add("briefing_help",
|
---|
| 697 | "Olvasd el figyelmesen a lenti NOTAM-okat és METAR-t.\n\n" \
|
---|
| 698 | "Ha a szimulátor vagy hálózat más időjárást ad,\n" \
|
---|
| 699 | "a METAR-t módosíthatod.")
|
---|
| 700 | self.add("briefing_chelp",
|
---|
| 701 | "Ha a szimulátor vagy hálózat más időjárást ad,\n" \
|
---|
| 702 | "a METAR-t módosíthatod.")
|
---|
| 703 | self.add("briefing_notams_init", "LHBP NOTAM-ok")
|
---|
| 704 | self.add("briefing_metar_init", "LHBP METAR")
|
---|
| 705 | self.add("briefing_button",
|
---|
| 706 | "Elolvastam az eligazítást, és készen állok a _repülésre!")
|
---|
| 707 | self.add("briefing_notams_template", "%s NOTAM-ok")
|
---|
| 708 | self.add("briefing_metar_template", "%s _METAR")
|
---|
| 709 | self.add("briefing_notams_failed", "Nem tudtam letölteni a NOTAM-okat.")
|
---|
| 710 | self.add("briefing_notams_missing",
|
---|
| 711 | "Ehhez a repülőtérhez nem találtam NOTAM-ot.")
|
---|
| 712 | self.add("briefing_metar_failed", "Nem tudtam letölteni a METAR-t.")
|
---|
| 713 |
|
---|
| 714 | self.add("takeoff_title", "Felszállás")
|
---|
| 715 | self.add("takeoff_help",
|
---|
| 716 | "Írd be a felszállásra használt futópálya és SID nevét, valamint a sebességeket.")
|
---|
| 717 | self.add("takeoff_chelp",
|
---|
| 718 | "A naplózott futópálya, SID és a sebességek lent olvashatók.")
|
---|
| 719 | self.add("takeoff_runway", "_Futópálya:")
|
---|
| 720 | self.add("takeoff_runway_tooltip",
|
---|
| 721 | "A felszállásra használt futópálya.")
|
---|
| 722 | self.add("takeoff_sid", "_SID:")
|
---|
| 723 | self.add("takeoff_sid_tooltip",
|
---|
| 724 | "Az alkalmazott szabványos műszeres indulási eljárás neve.")
|
---|
| 725 | self.add("takeoff_v1", "V<sub>_1</sub>:")
|
---|
| 726 | self.add("takeoff_v1_tooltip", "Az elhatározási sebesség csomóban.")
|
---|
| 727 | self.add("label_knots", "csomó")
|
---|
| 728 | self.add("takeoff_vr", "V<sub>_R</sub>:")
|
---|
| 729 | self.add("takeoff_vr_tooltip", "Az elemelkedési sebesség csomóban.")
|
---|
| 730 | self.add("takeoff_v2", "V<sub>_2</sub>:")
|
---|
| 731 | self.add("takeoff_v2_tooltip", "A biztonságos emelkedési sebesség csomóban.")
|
---|
| 732 |
|
---|
| 733 | self.add("landing_title", "Leszállás")
|
---|
| 734 | self.add("landing_help",
|
---|
| 735 | "Írd be az alkalmazott STAR és/vagy bevezetési eljárás nevét,\n"
|
---|
| 736 | "a használt futópályát, a megközelítés módját, és a V<sub>Ref</sub>-et.")
|
---|
| 737 | self.add("landing_chelp",
|
---|
| 738 | "Az alkalmazott STAR és/vagy bevezetési eljárás neve, a használt\n"
|
---|
| 739 | "futópálya, a megközelítés módja és a V<sub>Ref</sub> lent olvasható.")
|
---|
| 740 | self.add("landing_star", "_STAR:")
|
---|
| 741 | self.add("landing_star_tooltip",
|
---|
| 742 | "A követett szabványos érkezési eljárás neve.")
|
---|
| 743 | self.add("landing_transition", "_Bevezetés:")
|
---|
| 744 | self.add("landing_transition_tooltip",
|
---|
| 745 | "Az alkalmazott bevezetési eljárás neve, vagy VECTORS, "
|
---|
| 746 | "ha az irányítás vezetett be.")
|
---|
| 747 | self.add("landing_runway", "_Futópálya:")
|
---|
| 748 | self.add("landing_runway_tooltip",
|
---|
| 749 | "A leszállásra használt futópálya.")
|
---|
| 750 | self.add("landing_approach", "_Megközelítés típusa:")
|
---|
| 751 | self.add("landing_approach_tooltip",
|
---|
| 752 | "A megközelítgés típusa, pl. ILS vagy VISUAL.")
|
---|
| 753 | self.add("landing_vref", "V<sub>_Ref</sub>:")
|
---|
| 754 | self.add("landing_vref_tooltip",
|
---|
| 755 | "A leszállási sebesség csomóban.")
|
---|
| 756 |
|
---|
| 757 | self.add("flighttype_scheduled", "menetrendszerinti")
|
---|
| 758 | self.add("flighttype_ot", "old-timer")
|
---|
| 759 | self.add("flighttype_vip", "VIP")
|
---|
| 760 | self.add("flighttype_charter", "charter")
|
---|
| 761 |
|
---|
| 762 | self.add("finish_title", "Lezárás")
|
---|
| 763 | self.add("finish_help",
|
---|
| 764 | "Lent olvasható némi statisztika a járat teljesítéséről.\n\n" \
|
---|
| 765 | "Ellenőrízd az adatokat, az előző oldalakon is, és ha\n" \
|
---|
| 766 | "megfelelnek, elmentheted vagy elküldheted a PIREP-et.")
|
---|
| 767 | self.add("finish_rating", "Pontszám:")
|
---|
| 768 | self.add("finish_flight_time", "Repülési idő:")
|
---|
| 769 | self.add("finish_block_time", "Blokk idő:")
|
---|
| 770 | self.add("finish_distance", "Repült táv:")
|
---|
| 771 | self.add("finish_fuel", "Elhasznált üzemanyag:")
|
---|
| 772 | self.add("finish_type", "_Típus:")
|
---|
| 773 | self.add("finish_type_tooltip", "Válaszd ki a repülés típusát.")
|
---|
| 774 | self.add("finish_online", "_Online repülés")
|
---|
| 775 | self.add("finish_online_tooltip",
|
---|
| 776 | "Jelöld be, ha a repülésed a hálózaton történt, egyébként " \
|
---|
| 777 | "szűntesd meg a kijelölést.")
|
---|
| 778 | self.add("finish_save", "PIREP _mentése...")
|
---|
| 779 | self.add("finish_save_tooltip",
|
---|
| 780 | "Kattints ide, hogy elmenthesd a PIREP-et egy fájlba a számítógépeden. " \
|
---|
| 781 | "A PIREP-et később be lehet tölteni és el lehet küldeni.")
|
---|
| 782 | self.add("finish_send", "PIREP _elküldése...")
|
---|
| 783 | self.add("finish_send_tooltip",
|
---|
| 784 | "Kattints ide, hogy elküldd a PIREP-et a MAVA szerverére javításra.")
|
---|
| 785 | self.add("finish_send_busy", "PIREP küldése...")
|
---|
| 786 | self.add("finish_send_success",
|
---|
| 787 | "A PIREP elküldése sikeres volt.")
|
---|
| 788 | self.add("finish_send_success_sec",
|
---|
| 789 | "Várhatod félelmet nem ismerő PIREP javítóink alapos észrevételeit! :)")
|
---|
| 790 | self.add("finish_send_already",
|
---|
| 791 | "Ehhez a járathoz már küldtél be PIREP-et!")
|
---|
| 792 | self.add("finish_send_already_sec",
|
---|
| 793 | "A korábban beküldött PIREP-et törölheted a MAVA honlapján.")
|
---|
| 794 | self.add("finish_send_notavail",
|
---|
| 795 | "Ez a járat már nem elérhető!")
|
---|
| 796 | self.add("finish_send_unknown",
|
---|
| 797 | "A MAVA szervere ismeretlen hibaüzenettel tért vissza.")
|
---|
| 798 | self.add("finish_send_unknown_sec",
|
---|
| 799 | "A debug naplóban részletesebb információt találsz.")
|
---|
| 800 | self.add("finish_send_failed",
|
---|
| 801 | "Nem tudtam elküldeni a PIREP-et a MAVA szerverére.")
|
---|
| 802 | self.add("finish_send_failed_sec",
|
---|
| 803 | "Lehet, hogy hálózati probléma áll fenn, amely esetben később\n" \
|
---|
| 804 | "újra próbálkozhatsz. Lehet azonban hiba is a loggerben:\n" \
|
---|
| 805 | "részletesebb információt találhatsz a debug naplóban.")
|
---|
[111] | 806 |
|
---|
| 807 | # M A
|
---|
| 808 |
|
---|
| 809 | self.add("info_comments", "_Megjegyzések")
|
---|
| 810 | self.add("info_defects", "Hib_ajelenségek")
|
---|
| 811 | self.add("info_delay", "Késés kódok")
|
---|
| 812 |
|
---|
| 813 | # B V H Y R G F E P Z
|
---|
| 814 |
|
---|
| 815 | self.add("info_delay_loading", "_Betöltési problémák")
|
---|
| 816 | self.add("info_delay_vatsim", "_VATSIM probléma")
|
---|
| 817 | self.add("info_delay_net", "_Hálózati problémák")
|
---|
| 818 | self.add("info_delay_atc", "Irán_yító hibája")
|
---|
| 819 | self.add("info_delay_system", "_Rendszer elszállás/fagyás")
|
---|
| 820 | self.add("info_delay_nav", "Navi_gációs probléma")
|
---|
| 821 | self.add("info_delay_traffic", "_Forgalmi problémák")
|
---|
| 822 | self.add("info_delay_apron", "_Előtér navigációs probléma")
|
---|
| 823 | self.add("info_delay_weather", "Időjárási _problémák")
|
---|
| 824 | self.add("info_delay_personal", "S_zemélyes okok")
|
---|
[107] | 825 |
|
---|
[112] | 826 | self.add("statusbar_conn_tooltip",
|
---|
| 827 | 'A kapcsolat állapota.\n'
|
---|
| 828 | '<span foreground="grey">Szürke</span>: nincs kapcsolat.\n'
|
---|
| 829 | '<span foreground="red">Piros</span>: kapcsolódás folyamatban.\n'
|
---|
| 830 | '<span foreground="green">Zöld</span>: a kapcsolat él.')
|
---|
| 831 | self.add("statusbar_stage_tooltip", "A repülés fázisa")
|
---|
| 832 | self.add("statusbar_time_tooltip", "A szimulátor ideje UTC-ben")
|
---|
| 833 | self.add("statusbar_rating_tooltip", "A repülés pontszáma")
|
---|
| 834 | self.add("statusbar_busy_tooltip", "A háttérfolyamatok állapota.")
|
---|
| 835 |
|
---|
| 836 | self.add("flight_stage_boarding", u"beszállás")
|
---|
| 837 | self.add("flight_stage_pushback and taxi", u"hátratolás és kigurulás")
|
---|
| 838 | self.add("flight_stage_takeoff", u"felszállás")
|
---|
| 839 | self.add("flight_stage_RTO", u"megszakított felszállás")
|
---|
| 840 | self.add("flight_stage_climb", u"emelkedés")
|
---|
| 841 | self.add("flight_stage_cruise", u"utazó")
|
---|
| 842 | self.add("flight_stage_descent", u"süllyedés")
|
---|
| 843 | self.add("flight_stage_landing", u"leszállás")
|
---|
| 844 | self.add("flight_stage_taxi", u"begurulás")
|
---|
| 845 | self.add("flight_stage_parking", u"parkolás")
|
---|
| 846 | self.add("flight_stage_go-around", u"átstartolás")
|
---|
| 847 | self.add("flight_stage_end", u"kész")
|
---|
[114] | 848 |
|
---|
| 849 | self.add("statusicon_showmain", "Mutasd a főablakot")
|
---|
| 850 | self.add("statusicon_showmonitor", "Mutasd a monitor ablakot")
|
---|
| 851 | self.add("statusicon_quit", "Kilépés")
|
---|
| 852 | self.add("statusicon_stage", "Fázis:")
|
---|
| 853 | self.add("statusicon_rating", "Pontszám:")
|
---|
| 854 |
|
---|
[115] | 855 | self.add("update_title", "Frissítés")
|
---|
| 856 | self.add("update_needsudo",
|
---|
| 857 | "Lenne mit frissíteni, de a program hozzáférési jogok\n"
|
---|
| 858 | "hiányában nem tud írni a saját könyvtárába.\n\n"
|
---|
| 859 | "Kattints az OK gombra, ha el szeretnél indítani egy\n"
|
---|
| 860 | "segédprogramot adminisztrátori jogokkal, amely\n"
|
---|
| 861 | "befejezné a frissítést, egyébként a Mégse gombra.")
|
---|
| 862 | self.add("update_manifest_progress", "A manifesztum letöltése...")
|
---|
| 863 | self.add("update_manifest_done", "A manifesztum letöltve...")
|
---|
| 864 | self.add("update_files_progress", "Fájlok letöltése...")
|
---|
| 865 | self.add("update_files_bytes", "%d bájtot töltöttem le %d bájtból")
|
---|
| 866 | self.add("update_renaming", "A letöltött fájlok átnevezése...")
|
---|
| 867 | self.add("update_renamed", "Átneveztem a(z) %s fájlt")
|
---|
| 868 | self.add("update_removing", "Fájlok törlése...")
|
---|
| 869 | self.add("update_removed", "Letöröltem a(z) %s fájlt")
|
---|
| 870 | self.add("update_writing_manifest", "Az új manifesztum írása")
|
---|
| 871 | self.add("update_finished",
|
---|
| 872 | "A frissítés sikerült. Kattints az OK-ra a program újraindításához.")
|
---|
| 873 | self.add("update_nothing", "Nem volt mit frissíteni")
|
---|
| 874 | self.add("update_failed", "Nem sikerült, a részleteket lásd a debug naplóban.")
|
---|
| 875 |
|
---|
[117] | 876 | self.add("weighthelp_usinghelp", "_Használom a segítséget")
|
---|
| 877 | self.add("weighthelp_usinghelp_tooltip",
|
---|
| 878 | "Ha bejelölöd, az alábbiakban kapsz egy kis segítséget "
|
---|
| 879 | "a járathoz szükséges hasznos teher megállapításához. "
|
---|
| 880 | "Ha igénybe veszed ezt a szolgáltatást, ez a tény "
|
---|
| 881 | "a naplóba bekerül.")
|
---|
| 882 | self.add("weighthelp_header_calculated", "Elvárt/\nszámított")
|
---|
| 883 | self.add("weighthelp_header_simulator", "Szimulátor\nadatok")
|
---|
| 884 | self.add("weighthelp_header_simulator_tooltip",
|
---|
| 885 | "Kattints erre a gombra a súlyadatoknak a szimulátortól "
|
---|
| 886 | "való lekérdezéséhez. Az értékek lent jelennek meg. Ha "
|
---|
| 887 | "egy érték a tűrés 10%-án belül van, akkor az "
|
---|
| 888 | '<b><span foreground="darkgreen">zöld</span></b> '
|
---|
| 889 | "színnel jelenik meg. Ha nem fér bele a tűrésbe, akkor "
|
---|
| 890 | '<b><span foreground="red">piros</span></b>, '
|
---|
| 891 | "egyébként "
|
---|
| 892 | '<b><span foreground="orange">sárga</span></b> '
|
---|
| 893 | "színben olvasható.")
|
---|
| 894 | self.add("weighthelp_crew", "Legénység (%s):")
|
---|
| 895 | self.add("weighthelp_pax", "Utasok (%s):")
|
---|
| 896 | self.add("weighthelp_baggage", "Poggyász:")
|
---|
| 897 | self.add("weighthelp_cargo", "Teher:")
|
---|
| 898 | self.add("weighthelp_mail", "Posta:")
|
---|
| 899 | self.add("weighthelp_payload", "Hasznos teher:")
|
---|
| 900 | self.add("weighthelp_dow", "DOW:")
|
---|
| 901 | self.add("weighthelp_zfw", "ZFW:")
|
---|
| 902 | self.add("weighthelp_gross", "Teljes tömeg:")
|
---|
| 903 | self.add("weighthelp_mzfw", "MZFW:")
|
---|
| 904 | self.add("weighthelp_mtow", "MTOW:")
|
---|
| 905 | self.add("weighthelp_mlw", "MLW:")
|
---|
| 906 | self.add("weighthelp_busy", "A tömegadatok lekérdezése...")
|
---|
| 907 |
|
---|
[107] | 908 | #------------------------------------------------------------------------------
|
---|
| 909 |
|
---|
| 910 | # The fallback language is English
|
---|
| 911 | _English()
|
---|
| 912 |
|
---|
| 913 | # We also support Hungarian
|
---|
| 914 | _Hungarian()
|
---|
| 915 |
|
---|
| 916 | #------------------------------------------------------------------------------
|
---|