dissect.target 3.16.dev6__py3-none-any.whl → 3.16.dev8__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,595 @@
1
+ """Multilingual User Interface (MUI) translations for Windows en-US timezone strings.
2
+
3
+ This dictionary was exported from a ``tzres.dll.mui`` file from Windows Server 2019.
4
+
5
+ Resources:
6
+ - Reversing DLL String Table in ``C:/Windows/System32/en-US/tzres.dll.mui``.
7
+ - https://learn.microsoft.com/en-us/windows/win32/intl/using-registry-string-redirection
8
+ - https://learn.microsoft.com/en-us/windows/win32/api/winnls/ns-winnls-filemuiinfo
9
+ """
10
+
11
+ MUI_TZ_MAP = {
12
+ 10: "(UTC-01:00) Azores",
13
+ 11: "Azores Daylight Time",
14
+ 12: "Azores Standard Time",
15
+ 20: "(UTC-01:00) Cape Verde Is.",
16
+ 21: "Cape Verde Daylight Time",
17
+ 22: "Cape Verde Standard Time",
18
+ 30: "(UTC-02:00) Mid-Atlantic",
19
+ 31: "Mid-Atlantic Daylight Time",
20
+ 32: "Mid-Atlantic Standard Time",
21
+ 40: "(UTC-03:00) Brasilia",
22
+ 41: "E. South America Daylight Time",
23
+ 42: "E. South America Standard Time",
24
+ 50: "(UTC-03:00) Greenland",
25
+ 51: "Greenland Daylight Time",
26
+ 52: "Greenland Standard Time",
27
+ 60: "(UTC-03:00) Buenos Aires, Georgetown",
28
+ 61: "SA Eastern Daylight Time",
29
+ 62: "SA Eastern Standard Time",
30
+ 70: "(UTC-03:30) Newfoundland",
31
+ 71: "Newfoundland Daylight Time",
32
+ 72: "Newfoundland Standard Time",
33
+ 80: "(UTC-04:00) Atlantic Time (Canada)",
34
+ 81: "Atlantic Daylight Time",
35
+ 82: "Atlantic Standard Time",
36
+ 90: "(UTC-04:00) Santiago",
37
+ 91: "Pacific SA Daylight Time",
38
+ 92: "Pacific SA Standard Time",
39
+ 100: "(UTC-04:00) Caracas, La Paz",
40
+ 101: "SA Western Daylight Time",
41
+ 102: "SA Western Standard Time",
42
+ 103: "(UTC-04:00) Manaus",
43
+ 104: "Central Brazilian Daylight Time",
44
+ 105: "Central Brazilian Standard Time",
45
+ 110: "(UTC-05:00) Eastern Time (US & Canada)",
46
+ 111: "Eastern Daylight Time",
47
+ 112: "Eastern Standard Time",
48
+ 120: "(UTC-05:00) Bogota, Lima, Quito, Rio Branco",
49
+ 121: "SA Pacific Daylight Time",
50
+ 122: "SA Pacific Standard Time",
51
+ 130: "(UTC-05:00) Indiana (East)",
52
+ 131: "US Eastern Daylight Time",
53
+ 132: "US Eastern Standard Time",
54
+ 140: "(UTC-06:00) Saskatchewan",
55
+ 141: "Canada Central Daylight Time",
56
+ 142: "Canada Central Standard Time",
57
+ 150: "(UTC-06:00) Central America",
58
+ 151: "Central America Daylight Time",
59
+ 152: "Central America Standard Time",
60
+ 160: "(UTC-06:00) Central Time (US & Canada)",
61
+ 161: "Central Daylight Time",
62
+ 162: "Central Standard Time",
63
+ 170: "(UTC-06:00) Guadalajara, Mexico City, Monterrey",
64
+ 171: "Central Daylight Time (Mexico)",
65
+ 172: "Central Standard Time (Mexico)",
66
+ 180: "(UTC-07:00) Chihuahua, La Paz, Mazatlan",
67
+ 181: "Mountain Daylight Time (Mexico)",
68
+ 182: "Mountain Standard Time (Mexico)",
69
+ 190: "(UTC-07:00) Mountain Time (US & Canada)",
70
+ 191: "Mountain Daylight Time",
71
+ 192: "Mountain Standard Time",
72
+ 200: "(UTC-07:00) Arizona",
73
+ 201: "US Mountain Daylight Time",
74
+ 202: "US Mountain Standard Time",
75
+ 210: "(UTC-08:00) Pacific Time (US & Canada)",
76
+ 211: "Pacific Daylight Time",
77
+ 212: "Pacific Standard Time",
78
+ 213: "(UTC-08:00) Tijuana, Baja California",
79
+ 214: "Pacific Daylight Time (Mexico)",
80
+ 215: "Pacific Standard Time (Mexico)",
81
+ 220: "(UTC-09:00) Alaska",
82
+ 221: "Alaskan Daylight Time",
83
+ 222: "Alaskan Standard Time",
84
+ 230: "(UTC-10:00) Hawaii",
85
+ 231: "Hawaiian Daylight Time",
86
+ 232: "Hawaiian Standard Time",
87
+ 240: "(UTC-11:00) Midway Island, Samoa",
88
+ 241: "Samoa Daylight Time",
89
+ 242: "Samoa Standard Time",
90
+ 250: "(UTC-12:00) International Date Line West",
91
+ 251: "Dateline Daylight Time",
92
+ 252: "Dateline Standard Time",
93
+ 260: "(UTC) Dublin, Edinburgh, Lisbon, London",
94
+ 261: "GMT Daylight Time",
95
+ 262: "GMT Standard Time",
96
+ 270: "(UTC) Casablanca, Monrovia, Reykjavik",
97
+ 271: "Greenwich Daylight Time",
98
+ 272: "Greenwich Standard Time",
99
+ 280: "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague",
100
+ 281: "Central Europe Daylight Time",
101
+ 282: "Central Europe Standard Time",
102
+ 290: "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",
103
+ 291: "Central European Daylight Time",
104
+ 292: "Central European Standard Time",
105
+ 300: "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",
106
+ 301: "Romance Daylight Time",
107
+ 302: "Romance Standard Time",
108
+ 310: "(UTC+01:00) West Central Africa",
109
+ 311: "W. Central Africa Daylight Time",
110
+ 312: "W. Central Africa Standard Time",
111
+ 320: "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",
112
+ 321: "W. Europe Daylight Time",
113
+ 322: "W. Europe Standard Time",
114
+ 330: "(UTC+02:00) Minsk",
115
+ 331: "E. Europe Daylight Time",
116
+ 332: "E. Europe Standard Time",
117
+ 333: "(UTC+02:00) Amman",
118
+ 334: "Jordan Daylight Time",
119
+ 335: "Jordan Standard Time",
120
+ 340: "(UTC+02:00) Cairo",
121
+ 341: "Egypt Daylight Time",
122
+ 342: "Egypt Standard Time",
123
+ 350: "(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",
124
+ 351: "FLE Daylight Time",
125
+ 352: "FLE Standard Time",
126
+ 360: "(UTC+02:00) Athens, Bucharest, Istanbul",
127
+ 361: "GTB Daylight Time",
128
+ 362: "GTB Standard Time",
129
+ 363: "(UTC+02:00) Beirut",
130
+ 364: "Middle East Daylight Time",
131
+ 365: "Middle East Standard Time",
132
+ 370: "(UTC+02:00) Jerusalem",
133
+ 371: "Jerusalem Daylight Time",
134
+ 372: "Jerusalem Standard Time",
135
+ 380: "(UTC+02:00) Harare, Pretoria",
136
+ 381: "South Africa Daylight Time",
137
+ 382: "South Africa Standard Time",
138
+ 383: "(UTC+02:00) Windhoek",
139
+ 384: "Namibia Daylight Time",
140
+ 385: "Namibia Standard Time",
141
+ 390: "(UTC+03:00) Kuwait, Riyadh",
142
+ 391: "Arab Daylight Time",
143
+ 392: "Arab Standard Time",
144
+ 400: "(UTC+03:00) Baghdad",
145
+ 401: "Arabic Daylight Time",
146
+ 402: "Arabic Standard Time",
147
+ 410: "(UTC+03:00) Nairobi",
148
+ 411: "E. Africa Daylight Time",
149
+ 412: "E. Africa Standard Time",
150
+ 420: "(UTC+03:00) Moscow, St. Petersburg, Volgograd",
151
+ 421: "Russian Daylight Time",
152
+ 422: "Russian Standard Time",
153
+ 430: "(UTC+03:30) Tehran",
154
+ 431: "Iran Daylight Time",
155
+ 432: "Iran Standard Time",
156
+ 433: "(UTC+03:00) Tbilisi",
157
+ 434: "Georgian Daylight Time",
158
+ 435: "Georgian Standard Time",
159
+ 440: "(UTC+04:00) Abu Dhabi, Muscat",
160
+ 441: "Arabian Daylight Time",
161
+ 442: "Arabian Standard Time",
162
+ 447: "(UTC+04:00) Baku",
163
+ 448: "Azerbaijan Daylight Time",
164
+ 449: "Azerbaijan Standard Time",
165
+ 450: "(UTC+04:00) Yerevan",
166
+ 451: "Caucasus Daylight Time",
167
+ 452: "Caucasus Standard Time",
168
+ 460: "(UTC+04:30) Kabul",
169
+ 461: "Afghanistan Daylight Time",
170
+ 462: "Afghanistan Standard Time",
171
+ 470: "(UTC+05:00) Ekaterinburg",
172
+ 471: "Ekaterinburg Daylight Time",
173
+ 472: "Ekaterinburg Standard Time",
174
+ 480: "(UTC+05:00) Islamabad, Karachi, Tashkent",
175
+ 481: "West Asia Daylight Time",
176
+ 482: "West Asia Standard Time",
177
+ 490: "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",
178
+ 491: "India Daylight Time",
179
+ 492: "India Standard Time",
180
+ 500: "(UTC+05:45) Kathmandu",
181
+ 501: "Nepal Daylight Time",
182
+ 502: "Nepal Standard Time",
183
+ 510: "(UTC+06:00) Astana, Dhaka",
184
+ 511: "Central Asia Daylight Time",
185
+ 512: "Central Asia Standard Time",
186
+ 520: "(UTC+06:00) Almaty, Novosibirsk",
187
+ 521: "N. Central Asia Daylight Time",
188
+ 522: "N. Central Asia Standard Time",
189
+ 530: "(UTC+05:30) Sri Jayawardenepura",
190
+ 531: "Sri Lanka Daylight Time",
191
+ 532: "Sri Lanka Standard Time",
192
+ 540: "(UTC+06:30) Yangon (Rangoon)",
193
+ 541: "Myanmar Daylight Time",
194
+ 542: "Myanmar Standard Time",
195
+ 550: "(UTC+07:00) Krasnoyarsk",
196
+ 551: "North Asia Daylight Time",
197
+ 552: "North Asia Standard Time",
198
+ 560: "(UTC+07:00) Bangkok, Hanoi, Jakarta",
199
+ 561: "SE Asia Daylight Time",
200
+ 562: "SE Asia Standard Time",
201
+ 570: "(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi",
202
+ 571: "China Daylight Time",
203
+ 572: "China Standard Time",
204
+ 580: "(UTC+08:00) Irkutsk, Ulaan Bataar",
205
+ 581: "North Asia East Daylight Time",
206
+ 582: "North Asia East Standard Time",
207
+ 590: "(UTC+08:00) Kuala Lumpur, Singapore",
208
+ 591: "Malay Peninsula Daylight Time",
209
+ 592: "Malay Peninsula Standard Time",
210
+ 600: "(UTC+08:00) Taipei",
211
+ 601: "Taipei Daylight Time",
212
+ 602: "Taipei Standard Time",
213
+ 610: "(UTC+08:00) Perth",
214
+ 611: "W. Australia Daylight Time",
215
+ 612: "W. Australia Standard Time",
216
+ 620: "(UTC+09:00) Seoul",
217
+ 621: "Korea Daylight Time",
218
+ 622: "Korea Standard Time",
219
+ 630: "(UTC+09:00) Osaka, Sapporo, Tokyo",
220
+ 631: "Tokyo Daylight Time",
221
+ 632: "Tokyo Standard Time",
222
+ 640: "(UTC+09:00) Yakutsk",
223
+ 641: "Yakutsk Daylight Time",
224
+ 642: "Yakutsk Standard Time",
225
+ 650: "(UTC+09:30) Darwin",
226
+ 651: "AUS Central Daylight Time",
227
+ 652: "AUS Central Standard Time",
228
+ 660: "(UTC+09:30) Adelaide",
229
+ 661: "Cen. Australia Daylight Time",
230
+ 662: "Cen. Australia Standard Time",
231
+ 670: "(UTC+10:00) Canberra, Melbourne, Sydney",
232
+ 671: "AUS Eastern Daylight Time",
233
+ 672: "AUS Eastern Standard Time",
234
+ 680: "(UTC+10:00) Brisbane",
235
+ 681: "E. Australia Daylight Time",
236
+ 682: "E. Australia Standard Time",
237
+ 690: "(UTC+10:00) Hobart",
238
+ 691: "Tasmania Daylight Time",
239
+ 692: "Tasmania Standard Time",
240
+ 700: "(UTC+10:00) Vladivostok",
241
+ 701: "Vladivostok Daylight Time",
242
+ 702: "Vladivostok Standard Time",
243
+ 710: "(UTC+10:00) Guam, Port Moresby",
244
+ 711: "West Pacific Daylight Time",
245
+ 712: "West Pacific Standard Time",
246
+ 720: "(UTC+11:00) Magadan, Solomon Is., New Caledonia",
247
+ 721: "Central Pacific Daylight Time",
248
+ 722: "Central Pacific Standard Time",
249
+ 730: "(UTC+12:00) Fiji, Kamchatka, Marshall Is.",
250
+ 731: "Fiji Daylight Time",
251
+ 732: "Fiji Standard Time",
252
+ 740: "(UTC+12:00) Auckland, Wellington",
253
+ 741: "New Zealand Daylight Time",
254
+ 742: "New Zealand Standard Time",
255
+ 750: "(UTC+13:00) Nuku'alofa",
256
+ 751: "Tonga Daylight Time",
257
+ 752: "Tonga Standard Time",
258
+ 770: "(UTC-03:00) Montevideo",
259
+ 771: "Montevideo Daylight Time",
260
+ 772: "Montevideo Standard Time",
261
+ 790: "(UTC-04:00) La Paz",
262
+ 791: "SA Western Daylight Time",
263
+ 792: "SA Western Standard Time",
264
+ 810: "(UTC-04:30) Caracas",
265
+ 811: "Venezuela Daylight Time",
266
+ 812: "Venezuela Standard Time",
267
+ 830: "(UTC-03:00) Georgetown",
268
+ 831: "SA Eastern Daylight Time",
269
+ 832: "SA Eastern Standard Time",
270
+ 840: "(UTC-03:00) Buenos Aires",
271
+ 841: "Argentina Daylight Time",
272
+ 842: "Argentina Standard Time",
273
+ 860: "(UTC+05:00) Tashkent",
274
+ 870: "(UTC+05:00) Islamabad, Karachi",
275
+ 871: "Pakistan Daylight Time",
276
+ 872: "Pakistan Standard Time",
277
+ 880: "(UTC) Monrovia, Reykjavik",
278
+ 890: "(UTC) Casablanca",
279
+ 891: "Morocco Daylight Time",
280
+ 892: "Morocco Standard Time",
281
+ 910: "(UTC+04:00) Port Louis",
282
+ 911: "Mauritius Daylight Time",
283
+ 912: "Mauritius Standard Time",
284
+ 930: "(UTC) Coordinated Universal Time",
285
+ 931: "Coordinated Universal Time",
286
+ 932: "Coordinated Universal Time",
287
+ 940: "(UTC-03:00) Cayenne",
288
+ 950: "(UTC-04:00) Georgetown, La Paz, San Juan",
289
+ 960: "(UTC-04:00) Asuncion",
290
+ 961: "Paraguay Daylight Time",
291
+ 962: "Paraguay Standard Time",
292
+ 970: "(UTC+12:00) Fiji, Marshall Is.",
293
+ 980: "(UTC+12:00) Petropavlovsk-Kamchatsky",
294
+ 981: "Kamchatka Daylight Time",
295
+ 982: "Kamchatka Standard Time",
296
+ 990: "(UTC-05:00) Bogota, Lima, Quito",
297
+ 1010: "(UTC+06:00) Astana",
298
+ 1020: "(UTC+06:00) Dhaka",
299
+ 1021: "Bangladesh Daylight Time",
300
+ 1022: "Bangladesh Standard Time",
301
+ 1030: "(UTC+08:00) Irkutsk",
302
+ 1040: "(UTC+08:00) Ulaanbaatar",
303
+ 1041: "Ulaanbaatar Daylight Time",
304
+ 1042: "Ulaanbaatar Standard Time",
305
+ 1050: "(UTC-11:00) Samoa",
306
+ 1060: "(UTC-11:00) Midway Islands",
307
+ 1061: "North Pacific Daylight Time",
308
+ 1062: "North Pacific Standard Time",
309
+ 1070: "(UTC+04:00) Tbilisi",
310
+ 1080: "(UTC+06:00) Novosibirsk",
311
+ 1100: "(UTC-08:00) Baja California",
312
+ 1110: "(UTC-03:00) Cayenne, Fortaleza",
313
+ 1120: "(UTC-04:00) Cuiaba",
314
+ 1130: "(UTC-04:00) Georgetown, La Paz, Manaus, San Juan",
315
+ 1140: "(UTC+12:00) Fiji",
316
+ 1150: "(UTC-01:00) Coordinated Universal Time-01",
317
+ 1151: "UTC-01",
318
+ 1152: "UTC-01",
319
+ 1160: "(UTC-02:00) Coordinated Universal Time-02",
320
+ 1161: "UTC-02",
321
+ 1162: "UTC-02",
322
+ 1170: "(UTC-03:00) Coordinated Universal Time-03",
323
+ 1171: "UTC-03",
324
+ 1172: "UTC-03",
325
+ 1180: "(UTC-04:00) Coordinated Universal Time-04",
326
+ 1181: "UTC-04",
327
+ 1182: "UTC-04",
328
+ 1190: "(UTC-05:00) Coordinated Universal Time-05",
329
+ 1191: "UTC-05",
330
+ 1192: "UTC-05",
331
+ 1200: "(UTC-06:00) Coordinated Universal Time-06",
332
+ 1201: "UTC-06",
333
+ 1202: "UTC-06",
334
+ 1210: "(UTC-07:00) Coordinated Universal Time-07",
335
+ 1211: "UTC-07",
336
+ 1212: "UTC-07",
337
+ 1220: "(UTC-08:00) Coordinated Universal Time-08",
338
+ 1221: "UTC-08",
339
+ 1222: "UTC-08",
340
+ 1230: "(UTC-09:00) Coordinated Universal Time-09",
341
+ 1231: "UTC-09",
342
+ 1232: "UTC-09",
343
+ 1240: "(UTC-10:00) Coordinated Universal Time-10",
344
+ 1241: "UTC-10",
345
+ 1242: "UTC-10",
346
+ 1250: "(UTC-11:00) Coordinated Universal Time-11",
347
+ 1251: "UTC-11",
348
+ 1252: "UTC-11",
349
+ 1260: "(UTC-12:00) Coordinated Universal Time-12",
350
+ 1261: "UTC-12",
351
+ 1262: "UTC-12",
352
+ 1270: "(UTC+01:00) Coordinated Universal Time+01",
353
+ 1271: "UTC+01",
354
+ 1272: "UTC+01",
355
+ 1280: "(UTC+02:00) Coordinated Universal Time+02",
356
+ 1281: "UTC+02",
357
+ 1282: "UTC+02",
358
+ 1290: "(UTC+03:00) Coordinated Universal Time+03",
359
+ 1291: "UTC+03",
360
+ 1292: "UTC+03",
361
+ 1300: "(UTC+04:00) Coordinated Universal Time+04",
362
+ 1301: "UTC+04",
363
+ 1302: "UTC+04",
364
+ 1310: "(UTC+05:00) Coordinated Universal Time+05",
365
+ 1311: "UTC+05",
366
+ 1312: "UTC+05",
367
+ 1320: "(UTC+06:00) Coordinated Universal Time+06",
368
+ 1321: "UTC+06",
369
+ 1322: "UTC+06",
370
+ 1330: "(UTC+07:00) Coordinated Universal Time+07",
371
+ 1331: "UTC+07",
372
+ 1332: "UTC+07",
373
+ 1340: "(UTC+08:00) Coordinated Universal Time+08",
374
+ 1341: "UTC+08",
375
+ 1342: "UTC+08",
376
+ 1350: "(UTC+09:00) Coordinated Universal Time+09",
377
+ 1351: "UTC+09",
378
+ 1352: "UTC+09",
379
+ 1360: "(UTC+10:00) Coordinated Universal Time+10",
380
+ 1361: "UTC+10",
381
+ 1362: "UTC+10",
382
+ 1370: "(UTC+11:00) Coordinated Universal Time+11",
383
+ 1371: "UTC+11",
384
+ 1372: "UTC+11",
385
+ 1380: "(UTC+12:00) Coordinated Universal Time+12",
386
+ 1381: "UTC+12",
387
+ 1382: "UTC+12",
388
+ 1390: "(UTC+13:00) Coordinated Universal Time+13",
389
+ 1391: "UTC+13",
390
+ 1392: "UTC+13",
391
+ 1410: "(UTC+02:00) Damascus",
392
+ 1411: "Syria Daylight Time",
393
+ 1412: "Syria Standard Time",
394
+ 1420: "(UTC+12:00) Petropavlovsk-Kamchatsky - Old",
395
+ 1440: "(UTC+01:00) Windhoek",
396
+ 1460: "(UTC+11:00) Solomon Is., New Caledonia",
397
+ 1470: "(UTC+11:00) Magadan",
398
+ 1471: "Magadan Daylight Time",
399
+ 1472: "Magadan Standard Time",
400
+ 1490: "(UTC+02:00) Athens, Bucharest",
401
+ 1500: "(UTC+02:00) Istanbul",
402
+ 1501: "Turkey Daylight Time",
403
+ 1502: "Turkey Standard Time",
404
+ 1520: "(UTC+04:00) Moscow, St. Petersburg, Volgograd",
405
+ 1530: "(UTC+06:00) Ekaterinburg",
406
+ 1540: "(UTC+07:00) Novosibirsk",
407
+ 1550: "(UTC+08:00) Krasnoyarsk",
408
+ 1560: "(UTC+09:00) Irkutsk",
409
+ 1570: "(UTC+10:00) Yakutsk",
410
+ 1580: "(UTC+11:00) Vladivostok",
411
+ 1590: "(UTC+12:00) Magadan",
412
+ 1600: "(UTC+03:00) Kaliningrad",
413
+ 1601: "Kaliningrad Daylight Time",
414
+ 1602: "Kaliningrad Standard Time",
415
+ 1620: "(UTC+03:00) Kaliningrad, Minsk",
416
+ 1630: "(UTC+02:00) Nicosia",
417
+ 1640: "(UTC+13:00) Samoa",
418
+ 1660: "(UTC-03:00) Salvador",
419
+ 1661: "Bahia Daylight Time",
420
+ 1662: "Bahia Standard Time",
421
+ 1680: "(UTC+02:00) E. Europe",
422
+ 1700: "(UTC+03:00) Amman",
423
+ 1720: "(UTC+02:00) Tripoli",
424
+ 1721: "Libya Daylight Time",
425
+ 1722: "Libya Standard Time",
426
+ 1740: "(UTC+05:00) Ashgabat, Tashkent",
427
+ 1760: "(UTC-02:00) Mid-Atlantic - Old",
428
+ 1780: "(UTC+02:00) Tripoli",
429
+ 1800: "(UTC+14:00) Kiritimati Island",
430
+ 1801: "Line Islands Daylight Time",
431
+ 1802: "Line Islands Standard Time",
432
+ 1820: "(UTC+02:00) Kaliningrad (RTZ 1)",
433
+ 1821: "Russia TZ 1 Daylight Time",
434
+ 1822: "Russia TZ 1 Standard Time",
435
+ 1830: "(UTC+03:00) Moscow, St. Petersburg, Volgograd (RTZ 2)",
436
+ 1831: "Russia TZ 2 Daylight Time",
437
+ 1832: "Russia TZ 2 Standard Time",
438
+ 1840: "(UTC+05:00) Ekaterinburg (RTZ 4)",
439
+ 1841: "Russia TZ 4 Daylight Time",
440
+ 1842: "Russia TZ 4 Standard Time",
441
+ 1850: "(UTC+06:00) Novosibirsk (RTZ 5)",
442
+ 1851: "Russia TZ 5 Daylight Time",
443
+ 1852: "Russia TZ 5 Standard Time",
444
+ 1860: "(UTC+07:00) Krasnoyarsk (RTZ 6)",
445
+ 1861: "Russia TZ 6 Daylight Time",
446
+ 1862: "Russia TZ 6 Standard Time",
447
+ 1870: "(UTC+08:00) Irkutsk (RTZ 7)",
448
+ 1871: "Russia TZ 7 Daylight Time",
449
+ 1872: "Russia TZ 7 Standard Time",
450
+ 1880: "(UTC+09:00) Yakutsk (RTZ 8)",
451
+ 1881: "Russia TZ 8 Daylight Time",
452
+ 1882: "Russia TZ 8 Standard Time",
453
+ 1890: "(UTC+04:00) Izhevsk, Samara (RTZ 3)",
454
+ 1891: "Russia TZ 3 Daylight Time",
455
+ 1892: "Russia TZ 3 Standard Time",
456
+ 1910: "(UTC+11:00) Chokurdakh (RTZ 10)",
457
+ 1911: "Russia TZ 10 Daylight Time",
458
+ 1912: "Russia TZ 10 Standard Time",
459
+ 1930: "(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky (RTZ 11)",
460
+ 1931: "Russia TZ 11 Daylight Time",
461
+ 1932: "Russia TZ 11 Standard Time",
462
+ 1950: "(UTC+10:00) Vladivostok, Magadan (RTZ 9)",
463
+ 1951: "Russia TZ 9 Daylight Time",
464
+ 1952: "Russia TZ 9 Standard Time",
465
+ 1970: "(UTC+03:00) Minsk",
466
+ 1971: "Belarus Daylight Time",
467
+ 1972: "Belarus Standard Time",
468
+ 1980: "(UTC+10:00) Magadan",
469
+ 2000: "(UTC-01:00) Cabo Verde Is.",
470
+ 2001: "Cabo Verde Daylight Time",
471
+ 2002: "Cabo Verde Standard Time",
472
+ 2020: "(UTC-03:00) Santiago",
473
+ 2040: "(UTC-05:00) Chetumal",
474
+ 2041: "Eastern Daylight Time (Mexico)",
475
+ 2042: "Eastern Standard Time (Mexico)",
476
+ 2060: "(UTC+08:30) Pyongyang",
477
+ 2061: "North Korea Daylight Time",
478
+ 2062: "North Korea Standard Time",
479
+ 2080: "(UTC-03:00) City of Buenos Aires",
480
+ 2120: "(UTC+10:00) Vladivostok",
481
+ 2140: "(UTC+09:00) Chita",
482
+ 2141: "Transbaikal Daylight Time",
483
+ 2142: "Transbaikal Standard Time",
484
+ 2160: "(UTC+07:00) Barnaul, Gorno-Altaysk",
485
+ 2161: "Altai Daylight Time",
486
+ 2162: "Altai Standard Time",
487
+ 2180: "(UTC+04:00) Astrakhan, Ulyanovsk",
488
+ 2181: "Astrakhan Daylight Time",
489
+ 2182: "Astrakhan Standard Time",
490
+ 2190: "(UTC+05:00) Ekaterinburg",
491
+ 2200: "(UTC+02:00) Kaliningrad",
492
+ 2220: "(UTC+06:00) Novosibirsk",
493
+ 2230: "(UTC+08:00) Irkutsk",
494
+ 2240: "(UTC+07:00) Krasnoyarsk",
495
+ 2250: "(UTC+11:00) Chokurdakh",
496
+ 2260: "(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky",
497
+ 2270: "(UTC+04:00) Izhevsk, Samara",
498
+ 2280: "(UTC+03:00) Moscow, St. Petersburg, Volgograd",
499
+ 2290: "(UTC+09:00) Yakutsk",
500
+ 2310: "(UTC+11:00) Magadan, Sakhalin",
501
+ 2320: "(UTC+11:00) Sakhalin",
502
+ 2321: "Sakhalin Daylight Time",
503
+ 2322: "Sakhalin Standard Time",
504
+ 2340: "(UTC-05:00) Haiti",
505
+ 2341: "Haiti Daylight Time",
506
+ 2342: "Haiti Standard Time",
507
+ 2370: "(UTC-06:00) Easter Island",
508
+ 2371: "Easter Island Daylight Time",
509
+ 2372: "Easter Island Standard Time",
510
+ 2390: "(UTC-10:00) Aleutian Islands",
511
+ 2391: "Aleutian Daylight Time",
512
+ 2392: "Aleutian Standard Time",
513
+ 2410: "(UTC-09:30) Marquesas Islands",
514
+ 2411: "Marquesas Daylight Time",
515
+ 2412: "Marquesas Standard Time",
516
+ 2430: "(UTC-05:00) Havana",
517
+ 2431: "Cuba Daylight Time",
518
+ 2432: "Cuba Standard Time",
519
+ 2450: "(UTC-03:00) Saint Pierre and Miquelon",
520
+ 2451: "Saint Pierre Daylight Time",
521
+ 2452: "Saint Pierre Standard Time",
522
+ 2470: "(UTC+02:00) Gaza, Hebron",
523
+ 2471: "West Bank Gaza Daylight Time",
524
+ 2472: "West Bank Gaza Standard Time",
525
+ 2490: "(UTC+08:45) Eucla",
526
+ 2491: "Aus Central W. Daylight Time",
527
+ 2492: "Aus Central W. Standard Time",
528
+ 2510: "(UTC+10:30) Lord Howe Island",
529
+ 2511: "Lord Howe Daylight Time",
530
+ 2512: "Lord Howe Standard Time",
531
+ 2530: "(UTC+12:45) Chatham Islands",
532
+ 2531: "Chatham Islands Daylight Time",
533
+ 2532: "Chatham Islands Standard Time",
534
+ 2550: "(UTC+07:00) Hovd",
535
+ 2551: "W. Mongolia Daylight Time",
536
+ 2552: "W. Mongolia Standard Time",
537
+ 2570: "(UTC-04:00) Turks and Caicos",
538
+ 2571: "Turks and Caicos Daylight Time",
539
+ 2572: "Turks and Caicos Standard Time",
540
+ 2590: "(UTC-03:00) Araguaina",
541
+ 2591: "Tocantins Daylight Time",
542
+ 2592: "Tocantins Standard Time",
543
+ 2610: "(UTC+11:00) Bougainville Island",
544
+ 2611: "Bougainville Daylight Time",
545
+ 2612: "Bougainville Standard Time",
546
+ 2630: "(UTC+11:00) Norfolk Island",
547
+ 2631: "Norfolk Daylight Time",
548
+ 2632: "Norfolk Standard Time",
549
+ 2650: "(UTC+00:00) Casablanca",
550
+ 2670: "(UTC+00:00) Dublin, Edinburgh, Lisbon, London",
551
+ 2690: "(UTC+00:00) Monrovia, Reykjavik",
552
+ 2710: "(UTC+02:00) Chisinau",
553
+ 2730: "(UTC-04:00) Caracas",
554
+ 2750: "(UTC+07:00) Tomsk",
555
+ 2751: "Tomsk Daylight Time",
556
+ 2752: "Tomsk Standard Time",
557
+ 2770: "(UTC+06:00) Omsk",
558
+ 2771: "Omsk Daylight Time",
559
+ 2772: "Omsk Standard Time",
560
+ 2790: "(UTC+07:00) Novosibirsk",
561
+ 2791: "Novosibirsk Daylight Time",
562
+ 2792: "Novosibirsk Standard Time",
563
+ 2810: "(UTC+03:00) Istanbul",
564
+ 2840: "(UTC+04:00) Saratov",
565
+ 2841: "Saratov Daylight Time",
566
+ 2842: "Saratov Standard Time",
567
+ 2870: "(UTC-03:00) Punta Arenas",
568
+ 2871: "Magallanes Daylight Time",
569
+ 2872: "Magallanes Standard Time",
570
+ 2890: "(UTC+02:00) Khartoum",
571
+ 2891: "Sudan Daylight Time",
572
+ 2892: "Sudan Standard Time",
573
+ 2910: "(UTC-05:00) Turks and Caicos",
574
+ 2940: "(UTC+01:00) Sao Tome",
575
+ 2941: "Sao Tome Daylight Time",
576
+ 2942: "Sao Tome Standard Time",
577
+ 2960: "(UTC+09:00) Pyongyang",
578
+ 2980: "(UTC+03:00) Moscow, St. Petersburg",
579
+ 2990: "(UTC+04:00) Volgograd",
580
+ 2991: "Volgograd Daylight Time",
581
+ 2992: "Volgograd Standard Time",
582
+ 3010: "(UTC+01:00) Casablanca",
583
+ 3030: "(UTC+00:00) Sao Tome",
584
+ 3050: "(UTC+05:00) Qyzylorda",
585
+ 3051: "Qyzylorda Daylight Time",
586
+ 3052: "Qyzylorda Standard Time",
587
+ 3080: "(UTC-08:00) Yukon",
588
+ 3081: "Yukon Daylight Time",
589
+ 3082: "Yukon Standard Time",
590
+ 3090: "(UTC-07:00) Yukon",
591
+ 3110: "(UTC+03:00) Volgograd",
592
+ 3140: "(UTC+02:00) Juba",
593
+ 3141: "South Sudan Daylight Time",
594
+ 3142: "South Sudan Standard Time",
595
+ }
@@ -212,7 +212,7 @@ class InternetExplorerPlugin(BrowserPlugin):
212
212
  ts_end=ts_end,
213
213
  browser="iexplore",
214
214
  id=container_record.EntryId,
215
- path=down_path,
215
+ path=self.target.fs.path(down_path),
216
216
  url=down_url,
217
217
  size=None,
218
218
  state=None,
@@ -10,6 +10,7 @@ from dissect.target.exceptions import (
10
10
  RegistryValueNotFoundError,
11
11
  UnsupportedPluginError,
12
12
  )
13
+ from dissect.target.helpers.mui import MUI_TZ_MAP
13
14
  from dissect.target.helpers.regutil import RegistryKey
14
15
  from dissect.target.plugin import Plugin, internal
15
16
 
@@ -137,9 +138,9 @@ class WindowsTimezone(tzinfo):
137
138
 
138
139
  def __init__(self, name: str, key: RegistryKey):
139
140
  self.name = name
140
- self.display = key.value("Display").value
141
- self.dlt_name = key.value("Dlt").value
142
- self.std_name = key.value("Std").value
141
+ self.display = translate_tz(key, "Display")
142
+ self.dlt_name = translate_tz(key, "Dlt")
143
+ self.std_name = translate_tz(key, "Std")
143
144
  self.tzi = parse_tzi(key.value("TZI").value)
144
145
  self.dynamic_dst = parse_dynamic_dst(key)
145
146
 
@@ -250,3 +251,19 @@ class DateTimePlugin(Plugin):
250
251
  UTC datetime object.
251
252
  """
252
253
  return self.local(dt).astimezone(timezone.utc)
254
+
255
+
256
+ def translate_tz(key: RegistryKey, name: str) -> str:
257
+ """Translate a timezone resource string to English.
258
+
259
+ Non-English distributions of Windows contain a local translation in the "Display", "Dlt" and "Std" keys.
260
+ The ``MUI_*`` keys contain a reference to the English timezone name we want, e.g. "@tzres.dll,-1337".
261
+ """
262
+ try:
263
+ string_id = int(key.value("MUI_" + name).value.replace("@tzres.dll,-", ""))
264
+ if translation := MUI_TZ_MAP.get(string_id):
265
+ return translation
266
+ except (RegistryValueNotFoundError, ValueError):
267
+ pass
268
+
269
+ return key.value(name).value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.target
3
- Version: 3.16.dev6
3
+ Version: 3.16.dev8
4
4
  Summary: This module ties all other Dissect modules together, it provides a programming API and command line tools which allow easy access to various data sources inside disk images or file collections (a.k.a. targets)
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -53,6 +53,7 @@ dissect/target/helpers/lazy.py,sha256=823VtmdWsbJyVZvNWopDhQdqq2i1xtj6b8IKfveboK
53
53
  dissect/target/helpers/loaderutil.py,sha256=YHaIgTY_NhJ76TpNaTvXnEDaXU9XXs8F6UCiqq7LVTQ,2465
54
54
  dissect/target/helpers/localeutil.py,sha256=Y4Fh4jDSGfm5356xSLMriUCN8SZP_FAHg_iodkAxNq4,1504
55
55
  dissect/target/helpers/mount.py,sha256=JxhUYyEbDnHfzPpfuWy4nV9OwCJPoDSGdHHNiyvd_l0,3949
56
+ dissect/target/helpers/mui.py,sha256=i-7XoHbu4WO2fYapK9yGAMW04rFlgRispknc1KQIS5Q,22258
56
57
  dissect/target/helpers/network_managers.py,sha256=tjqkVWn7i3PpBPkYnKUU0XxhqTTJlIjOc7Y2jpzdzA4,24525
57
58
  dissect/target/helpers/polypath.py,sha256=h8p7m_OCNiQljGwoZh5Aflr9H2ot6CZr6WKq1OSw58o,2175
58
59
  dissect/target/helpers/record.py,sha256=lWl7k2Mp9Axllm0tXzPGJx2zj2zONsyY_p5g424T0Lc,4826
@@ -116,7 +117,7 @@ dissect/target/plugins/apps/browser/chrome.py,sha256=0DzhvUUA6xKZ9iTrCQmgAWWAsA8
116
117
  dissect/target/plugins/apps/browser/chromium.py,sha256=yhgHdAifVUs20uqYEDAnn1nLJfV1p62cyXq2Ilum7zU,17734
117
118
  dissect/target/plugins/apps/browser/edge.py,sha256=QuJpPcdU5RGWzeweJjJJZyJgmPVaYBCsjhLt-xYKsX0,2482
118
119
  dissect/target/plugins/apps/browser/firefox.py,sha256=G42FU1KqqnFpAERcB_WU8QT6AcaXiimLhNgFII9gFEM,11333
119
- dissect/target/plugins/apps/browser/iexplore.py,sha256=4G6qBKPhrrMO_J5NhaqlS_y1vw6CDMPJkN1QaE_T1MU,8685
120
+ dissect/target/plugins/apps/browser/iexplore.py,sha256=LUXXCjMBBFcFN2ceBpks8qM1PyOvrBPn1guA4WM4oSU,8706
120
121
  dissect/target/plugins/apps/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
122
  dissect/target/plugins/apps/container/docker.py,sha256=guFPqRLbeP4p8R6lDIZVKWnva5_S7rQUVKG21QDz-B4,6416
122
123
  dissect/target/plugins/apps/remoteaccess/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -243,7 +244,7 @@ dissect/target/plugins/os/windows/amcache.py,sha256=ZZNOs3bILTf0AGkDkhoatndl0j39
243
244
  dissect/target/plugins/os/windows/catroot.py,sha256=yphQ_98Qvi1kKifGj7RH8j20f1l70KIzV_kFVpwB5Pg,5179
244
245
  dissect/target/plugins/os/windows/cim.py,sha256=jsrpu6TZpBUh7VWI9AV2Ib5bebTwsvqOwRfa5gjJd7c,3056
245
246
  dissect/target/plugins/os/windows/clfs.py,sha256=begVsZ-CY97Ksh6S1g03LjyBgu8ERY2hfNDWYPj0GXI,4872
246
- dissect/target/plugins/os/windows/datetime.py,sha256=j2q53pIt5-fOXNZccUP3uuF-EBELpcfPl_oGabX4cVI,8803
247
+ dissect/target/plugins/os/windows/datetime.py,sha256=tuBOkewmbCW8sFXcYp5p82oM5RCsVwmtC79BDCTLz8k,9472
247
248
  dissect/target/plugins/os/windows/defender.py,sha256=sLb0v8hTKZTJCq_v8xTzKphHFe4Y97m7RurmtcfNRWo,23736
248
249
  dissect/target/plugins/os/windows/env.py,sha256=-u9F9xWy6PUbQmu5Tv_MDoVmy6YB-7CbHokIK_T3S44,13891
249
250
  dissect/target/plugins/os/windows/generic.py,sha256=BSvDPfB9faU0uquMj0guw5tnR_97Nn0XAEE4k05BFSQ,22273
@@ -322,10 +323,10 @@ dissect/target/volumes/luks.py,sha256=OmCMsw6rCUXG1_plnLVLTpsvE1n_6WtoRUGQbpmu1z
322
323
  dissect/target/volumes/lvm.py,sha256=wwQVR9I3G9YzmY6UxFsH2Y4MXGBcKL9aayWGCDTiWMU,2269
323
324
  dissect/target/volumes/md.py,sha256=j1K1iKmspl0C_OJFc7-Q1BMWN2OCC5EVANIgVlJ_fIE,1673
324
325
  dissect/target/volumes/vmfs.py,sha256=-LoUbn9WNwTtLi_4K34uV_-wDw2W5hgaqxZNj4UmqAQ,1730
325
- dissect.target-3.16.dev6.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
326
- dissect.target-3.16.dev6.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
327
- dissect.target-3.16.dev6.dist-info/METADATA,sha256=q08PikuyJZqdZGAj-ejcsrm8lzb5WHl3VA3h1zSrMJc,11112
328
- dissect.target-3.16.dev6.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
329
- dissect.target-3.16.dev6.dist-info/entry_points.txt,sha256=tvFPa-Ap-gakjaPwRc6Fl6mxHzxEZ_arAVU-IUYeo_s,447
330
- dissect.target-3.16.dev6.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
331
- dissect.target-3.16.dev6.dist-info/RECORD,,
326
+ dissect.target-3.16.dev8.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
327
+ dissect.target-3.16.dev8.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
328
+ dissect.target-3.16.dev8.dist-info/METADATA,sha256=V6Wsr8sVUanEHxksDnzkZCcq1QHYtPh2aBf8qIazXqE,11112
329
+ dissect.target-3.16.dev8.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
330
+ dissect.target-3.16.dev8.dist-info/entry_points.txt,sha256=tvFPa-Ap-gakjaPwRc6Fl6mxHzxEZ_arAVU-IUYeo_s,447
331
+ dissect.target-3.16.dev8.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
332
+ dissect.target-3.16.dev8.dist-info/RECORD,,