geopic-tag-reader 1.8.0__py3-none-any.whl → 1.8.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- geopic_tag_reader/__init__.py +1 -1
- geopic_tag_reader/camera.py +7 -1
- geopic_tag_reader/cameras.csv +12 -0
- geopic_tag_reader/reader.py +42 -7
- geopic_tag_reader/sequence.py +1 -1
- geopic_tag_reader/translations/be/LC_MESSAGES/geopic_tag_reader.mo +0 -0
- geopic_tag_reader/translations/be/LC_MESSAGES/geopic_tag_reader.po +216 -0
- geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.mo +0 -0
- geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.po +31 -30
- geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.mo +0 -0
- geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.po +34 -24
- geopic_tag_reader/translations/geopic_tag_reader.pot +31 -21
- geopic_tag_reader/translations/nl/LC_MESSAGES/geopic_tag_reader.mo +0 -0
- geopic_tag_reader/translations/nl/LC_MESSAGES/geopic_tag_reader.po +3 -3
- geopic_tag_reader/translations/pt/LC_MESSAGES/geopic_tag_reader.mo +0 -0
- geopic_tag_reader/translations/pt/LC_MESSAGES/geopic_tag_reader.po +222 -0
- geopic_tag_reader/translations/pt_BR/LC_MESSAGES/geopic_tag_reader.mo +0 -0
- geopic_tag_reader/translations/pt_BR/LC_MESSAGES/geopic_tag_reader.po +223 -0
- geopic_tag_reader/translations/tr/LC_MESSAGES/geopic_tag_reader.mo +0 -0
- geopic_tag_reader/translations/tr/LC_MESSAGES/geopic_tag_reader.po +216 -0
- geopic_tag_reader/translations/uk/LC_MESSAGES/geopic_tag_reader.mo +0 -0
- geopic_tag_reader/translations/uk/LC_MESSAGES/geopic_tag_reader.po +220 -0
- {geopic_tag_reader-1.8.0.dist-info → geopic_tag_reader-1.8.2.dist-info}/METADATA +2 -2
- {geopic_tag_reader-1.8.0.dist-info → geopic_tag_reader-1.8.2.dist-info}/RECORD +27 -17
- {geopic_tag_reader-1.8.0.dist-info → geopic_tag_reader-1.8.2.dist-info}/WHEEL +0 -0
- {geopic_tag_reader-1.8.0.dist-info → geopic_tag_reader-1.8.2.dist-info}/entry_points.txt +0 -0
- {geopic_tag_reader-1.8.0.dist-info → geopic_tag_reader-1.8.2.dist-info}/licenses/LICENSE +0 -0
geopic_tag_reader/__init__.py
CHANGED
geopic_tag_reader/camera.py
CHANGED
|
@@ -20,7 +20,9 @@ GPS_ACCURACY_MAKE = {
|
|
|
20
20
|
"tectectec": 4,
|
|
21
21
|
"arashi vision": 4,
|
|
22
22
|
"qoocam": 4,
|
|
23
|
+
"dji": 4,
|
|
23
24
|
# Smartphone GPS
|
|
25
|
+
"akaso": 5,
|
|
24
26
|
"samsung": 5,
|
|
25
27
|
"xiaomi": 5,
|
|
26
28
|
"huawei": 5,
|
|
@@ -140,9 +142,13 @@ def is_360(make: Optional[str] = None, model: Optional[str] = None, width: Optio
|
|
|
140
142
|
# Check make and model are defined
|
|
141
143
|
camera = find_camera(make, model)
|
|
142
144
|
if not camera:
|
|
145
|
+
# If unknown model, we can guess based on dimensions
|
|
146
|
+
if width is not None and height is not None and width == 2 * height:
|
|
147
|
+
return True
|
|
148
|
+
|
|
143
149
|
return False
|
|
144
150
|
|
|
145
|
-
# Check width and height are equirectangular
|
|
151
|
+
# Check width and height are equirectangular (to distinguish cameras doing both 360° or classic)
|
|
146
152
|
if not ((width is None or height is None) or width == 2 * height):
|
|
147
153
|
return False
|
|
148
154
|
|
geopic_tag_reader/cameras.csv
CHANGED
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"AgfaPhoto";"sensor 505-X";"5.75";;
|
|
71
71
|
"AgfaPhoto";"sensor 530s";"5.75";;
|
|
72
72
|
"AgfaPhoto";"sensor 830s";"5.75";;
|
|
73
|
+
"AKASO";"360";;"1";
|
|
73
74
|
"Apple";"iPad 3";"4.54";;
|
|
74
75
|
"Apple";"iPhone 3,1";"4.74";;
|
|
75
76
|
"Apple";"iPhone 4";"4.74";;
|
|
@@ -1094,7 +1095,14 @@
|
|
|
1094
1095
|
"Fujifilm";"X-M1";"23.6";;
|
|
1095
1096
|
"Fujifilm";"X-Pro1";"23.6";;
|
|
1096
1097
|
"Fujifilm";"X-S1";"8.8";;
|
|
1098
|
+
"Fujifilm";"X-S10";"23.5";;
|
|
1099
|
+
"Fujifilm";"X-S20";"23.5";;
|
|
1097
1100
|
"Fujifilm";"X-T1";"23.6";;
|
|
1101
|
+
"Fujifilm";"X-T2";"23.5";;
|
|
1102
|
+
"Fujifilm";"X-T3";"23.5";;
|
|
1103
|
+
"Fujifilm";"X-T30";"23.5";;
|
|
1104
|
+
"Fujifilm";"X-T4";"23.5";;
|
|
1105
|
+
"Fujifilm";"X-T5";"23.5";;
|
|
1098
1106
|
"Fujifilm";"X10";"8.8";;
|
|
1099
1107
|
"Fujifilm";"X100S";"23.6";;
|
|
1100
1108
|
"Fujifilm";"X100T";"23.6";;
|
|
@@ -2298,6 +2306,7 @@
|
|
|
2298
2306
|
"oneplu";"A000";"4.8";;
|
|
2299
2307
|
"OnePlus";"A3003";"6.4";;
|
|
2300
2308
|
"OnePlus";"A5000";"5.22";;
|
|
2309
|
+
"OnePlus";"EB2103";"6.51";;
|
|
2301
2310
|
"Panasonic";"Lumix DMC-LZ20";"6.08";;
|
|
2302
2311
|
"Panasonic";"D-snap SV-AS10";"4.5";;
|
|
2303
2312
|
"Panasonic";"D-snap SV-AS3";"4.5";;
|
|
@@ -3708,6 +3717,9 @@
|
|
|
3708
3717
|
"Toshiba";"PDR T10";"5.33";;
|
|
3709
3718
|
"Toshiba";"PDR T20";"5.33";;
|
|
3710
3719
|
"Toshiba";"PDR T30";"5.33";;
|
|
3720
|
+
"Trimble";"mx50";;"1";
|
|
3721
|
+
"Trimble";"mx60";;"1";
|
|
3722
|
+
"Trimble";"mx90";;"1";
|
|
3711
3723
|
"Viofo";"A119 Mini 2";"5.2";;
|
|
3712
3724
|
"Vivitar";"V8025";"7.11";;
|
|
3713
3725
|
"Vivitar";"ViviCam 5105s";"5.75";;
|
geopic_tag_reader/reader.py
CHANGED
|
@@ -11,6 +11,7 @@ import timezonefinder # type: ignore
|
|
|
11
11
|
import pytz
|
|
12
12
|
from geopic_tag_reader.i18n import init as i18n_init
|
|
13
13
|
import math
|
|
14
|
+
import logging
|
|
14
15
|
|
|
15
16
|
# This is a fix for invalid MakerNotes leading to picture not read at all
|
|
16
17
|
# https://github.com/LeoHsiao1/pyexiv2/issues/58
|
|
@@ -18,6 +19,8 @@ pyexiv2.set_log_level(4)
|
|
|
18
19
|
|
|
19
20
|
tz_finder = timezonefinder.TimezoneFinder()
|
|
20
21
|
|
|
22
|
+
METADATA_ENCODINGS = ["UTF-8", "ISO-8859-1"]
|
|
23
|
+
|
|
21
24
|
|
|
22
25
|
@dataclass
|
|
23
26
|
class CropValues:
|
|
@@ -179,17 +182,33 @@ def readPictureMetadata(picture: bytes, lang_code: str = "en") -> GeoPicTags:
|
|
|
179
182
|
GeoPicTags: Extracted metadata from picture
|
|
180
183
|
"""
|
|
181
184
|
|
|
185
|
+
_ = i18n_init(lang_code)
|
|
182
186
|
data = {}
|
|
187
|
+
warnings = []
|
|
188
|
+
|
|
183
189
|
with pyexiv2.ImageData(picture) as img:
|
|
184
|
-
data.update(img.read_exif())
|
|
185
|
-
data.update(img.read_iptc())
|
|
186
|
-
data.update(img.read_xmp())
|
|
187
190
|
width = img.get_pixel_width()
|
|
188
191
|
height = img.get_pixel_height()
|
|
189
192
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
+
# Read raw tags, with fallback encoding if necessary
|
|
194
|
+
for read_fct in [img.read_exif, img.read_iptc, img.read_xmp]:
|
|
195
|
+
for encoding in METADATA_ENCODINGS:
|
|
196
|
+
try:
|
|
197
|
+
data.update(read_fct(encoding))
|
|
198
|
+
break
|
|
199
|
+
except Exception as e:
|
|
200
|
+
logging.debug(e)
|
|
201
|
+
warnings.append(_("Can't run {f} using {e} encoding").format(f=read_fct.__name__, e=encoding))
|
|
202
|
+
|
|
203
|
+
# Specific case for read_comment
|
|
204
|
+
for encoding in METADATA_ENCODINGS:
|
|
205
|
+
try:
|
|
206
|
+
imgComment = img.read_comment(encoding=encoding)
|
|
207
|
+
if imgComment is not None and len(imgComment.strip()) > 0:
|
|
208
|
+
data["Exif.Photo.UserComment"] = imgComment
|
|
209
|
+
except Exception as e:
|
|
210
|
+
logging.debug(e)
|
|
211
|
+
warnings.append(_("Can't read comment tag using {e} encoding").format(e=encoding))
|
|
193
212
|
|
|
194
213
|
# Read Mapillary tags
|
|
195
214
|
if "Exif.Image.ImageDescription" in data:
|
|
@@ -201,7 +220,12 @@ def readPictureMetadata(picture: bytes, lang_code: str = "en") -> GeoPicTags:
|
|
|
201
220
|
except:
|
|
202
221
|
pass
|
|
203
222
|
|
|
204
|
-
|
|
223
|
+
picmeta = getPictureMetadata(data, width, height, lang_code)
|
|
224
|
+
|
|
225
|
+
if len(warnings) > 0:
|
|
226
|
+
picmeta.tagreader_warnings.extend(warnings)
|
|
227
|
+
|
|
228
|
+
return picmeta
|
|
205
229
|
|
|
206
230
|
|
|
207
231
|
def getPictureMetadata(data: dict, width: int, height: int, lang_code: str = "en") -> GeoPicTags:
|
|
@@ -385,6 +409,17 @@ def getPictureMetadata(data: dict, width: int, height: int, lang_code: str = "en
|
|
|
385
409
|
if fw > w or fh > h:
|
|
386
410
|
crop = CropValues(fw, fh, w, h, l, t)
|
|
387
411
|
|
|
412
|
+
# Skip images where crop width/height equals full width/length
|
|
413
|
+
elif (
|
|
414
|
+
isExifTagUsable(data, "Xmp.GPano.CroppedAreaImageWidthPixels", int)
|
|
415
|
+
and isExifTagUsable(data, "Xmp.GPano.CroppedAreaImageHeightPixels", int)
|
|
416
|
+
and isExifTagUsable(data, "Xmp.GPano.FullPanoWidthPixels", int)
|
|
417
|
+
and isExifTagUsable(data, "Xmp.GPano.FullPanoHeightPixels", int)
|
|
418
|
+
and int(data["Xmp.GPano.FullPanoHeightPixels"]) == int(data["Xmp.GPano.CroppedAreaImageHeightPixels"])
|
|
419
|
+
and int(data["Xmp.GPano.FullPanoWidthPixels"]) == int(data["Xmp.GPano.CroppedAreaImageWidthPixels"])
|
|
420
|
+
):
|
|
421
|
+
pass
|
|
422
|
+
|
|
388
423
|
elif (
|
|
389
424
|
isExifTagUsable(data, "Xmp.GPano.CroppedAreaImageWidthPixels", int)
|
|
390
425
|
or isExifTagUsable(data, "Xmp.GPano.CroppedAreaImageHeightPixels", int)
|
geopic_tag_reader/sequence.py
CHANGED
|
@@ -260,7 +260,7 @@ def find_duplicates(pictures: List[Picture], params: Optional[MergeParams] = Non
|
|
|
260
260
|
|
|
261
261
|
if params is None or not params.is_merge_needed() or not pictures:
|
|
262
262
|
return (pictures, [])
|
|
263
|
-
assert params.maxDistance
|
|
263
|
+
assert params.maxDistance is not None
|
|
264
264
|
|
|
265
265
|
nonDups: List[Picture] = []
|
|
266
266
|
duplicates = []
|
|
Binary file
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
|
+
# This file is distributed under the same license as the PACKAGE package.
|
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
5
|
+
#
|
|
6
|
+
msgid ""
|
|
7
|
+
msgstr ""
|
|
8
|
+
"Project-Id-Version: PACKAGE VERSION\n"
|
|
9
|
+
"Report-Msgid-Bugs-To: \n"
|
|
10
|
+
"POT-Creation-Date: 2025-08-25 15:35+0200\n"
|
|
11
|
+
"PO-Revision-Date: 2025-11-04 18:45+0000\n"
|
|
12
|
+
"Last-Translator: Jordjio Minchane <bigopenmac@gmail.com>\n"
|
|
13
|
+
"Language-Team: Belarusian <http://weblate.panoramax.xyz/projects/panoramax/"
|
|
14
|
+
"tag-reader/be/>\n"
|
|
15
|
+
"Language: be\n"
|
|
16
|
+
"MIME-Version: 1.0\n"
|
|
17
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
19
|
+
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
20
|
+
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
|
21
|
+
"X-Generator: Weblate 5.4.3\n"
|
|
22
|
+
|
|
23
|
+
#: geopic_tag_reader/main.py:26
|
|
24
|
+
msgid "Latitude:"
|
|
25
|
+
msgstr "Шырата:"
|
|
26
|
+
|
|
27
|
+
#: geopic_tag_reader/main.py:27
|
|
28
|
+
msgid "Longitude:"
|
|
29
|
+
msgstr "Даўгата:"
|
|
30
|
+
|
|
31
|
+
#: geopic_tag_reader/main.py:28
|
|
32
|
+
msgid "GPS accuracy:"
|
|
33
|
+
msgstr "Дакладнасць GPS:"
|
|
34
|
+
|
|
35
|
+
#: geopic_tag_reader/main.py:28 geopic_tag_reader/main.py:31
|
|
36
|
+
#: geopic_tag_reader/main.py:32
|
|
37
|
+
msgid "not set"
|
|
38
|
+
msgstr "не зададзена"
|
|
39
|
+
|
|
40
|
+
#: geopic_tag_reader/main.py:29
|
|
41
|
+
msgid "Timestamp:"
|
|
42
|
+
msgstr "Метка часу:"
|
|
43
|
+
|
|
44
|
+
#: geopic_tag_reader/main.py:31
|
|
45
|
+
msgid "(GPS)"
|
|
46
|
+
msgstr "(GPS)"
|
|
47
|
+
|
|
48
|
+
#: geopic_tag_reader/main.py:32
|
|
49
|
+
msgid "(Camera)"
|
|
50
|
+
msgstr "(Фотакамера)"
|
|
51
|
+
|
|
52
|
+
#: geopic_tag_reader/main.py:33
|
|
53
|
+
msgid "Heading:"
|
|
54
|
+
msgstr "Напрамак:"
|
|
55
|
+
|
|
56
|
+
#: geopic_tag_reader/main.py:34
|
|
57
|
+
msgid "Type:"
|
|
58
|
+
msgstr "Тып:"
|
|
59
|
+
|
|
60
|
+
#: geopic_tag_reader/main.py:35
|
|
61
|
+
msgid "Make:"
|
|
62
|
+
msgstr "Вытворца:"
|
|
63
|
+
|
|
64
|
+
#: geopic_tag_reader/main.py:36
|
|
65
|
+
msgid "Model:"
|
|
66
|
+
msgstr "Мадэль:"
|
|
67
|
+
|
|
68
|
+
#: geopic_tag_reader/main.py:37
|
|
69
|
+
msgid "Focal length:"
|
|
70
|
+
msgstr "Факусная адлегласць:"
|
|
71
|
+
|
|
72
|
+
#: geopic_tag_reader/main.py:38
|
|
73
|
+
msgid "Field of view:"
|
|
74
|
+
msgstr "Поле зроку:"
|
|
75
|
+
|
|
76
|
+
#: geopic_tag_reader/main.py:39
|
|
77
|
+
msgid "Sensor width:"
|
|
78
|
+
msgstr "Шырыня сэнсара:"
|
|
79
|
+
|
|
80
|
+
#: geopic_tag_reader/main.py:40
|
|
81
|
+
msgid "Crop parameters:"
|
|
82
|
+
msgstr "Параметры абрэзкі:"
|
|
83
|
+
|
|
84
|
+
#: geopic_tag_reader/main.py:41
|
|
85
|
+
msgid "Pitch:"
|
|
86
|
+
msgstr "Нахіл:"
|
|
87
|
+
|
|
88
|
+
#: geopic_tag_reader/main.py:42
|
|
89
|
+
msgid "Roll:"
|
|
90
|
+
msgstr "Крэн:"
|
|
91
|
+
|
|
92
|
+
#: geopic_tag_reader/main.py:43
|
|
93
|
+
msgid "Yaw:"
|
|
94
|
+
msgstr "Адхіленне:"
|
|
95
|
+
|
|
96
|
+
#: geopic_tag_reader/main.py:46
|
|
97
|
+
msgid "Warnings raised by reader:"
|
|
98
|
+
msgstr "Папярэджанні чытальніка:"
|
|
99
|
+
|
|
100
|
+
#: geopic_tag_reader/reader.py:246
|
|
101
|
+
msgid "Read latitude is out of WGS84 bounds (should be in [-90, 90])"
|
|
102
|
+
msgstr "Шырата па-за межамі WGS84 (павінна быць у дыяпазоне [-90, 90])"
|
|
103
|
+
|
|
104
|
+
#: geopic_tag_reader/reader.py:248
|
|
105
|
+
msgid "Read longitude is out of WGS84 bounds (should be in [-180, 180])"
|
|
106
|
+
msgstr "Даўгата па-за межамі WGS84 (павінна быць у дыяпазоне [-180, 180])"
|
|
107
|
+
|
|
108
|
+
#: geopic_tag_reader/reader.py:276
|
|
109
|
+
#, python-brace-format
|
|
110
|
+
msgid "Skipping Mapillary date/time as it was not recognized: {v}"
|
|
111
|
+
msgstr "Прапускаем дату/час Mapillary, бо яны не распазнаны: {v}"
|
|
112
|
+
|
|
113
|
+
#: geopic_tag_reader/reader.py:306
|
|
114
|
+
msgid "No heading value was found, this reduces usability of picture"
|
|
115
|
+
msgstr "Значэнне напрамку не знойдзена, гэта пагаршае выкарыстальнасць выявы"
|
|
116
|
+
|
|
117
|
+
#: geopic_tag_reader/reader.py:349
|
|
118
|
+
msgid ""
|
|
119
|
+
"No make and model value found, no assumption on focal length or GPS "
|
|
120
|
+
"precision can be made"
|
|
121
|
+
msgstr ""
|
|
122
|
+
"Не знойдзены вытворца і мадэль, немагчыма зрабіць здагадкі пра факусную "
|
|
123
|
+
"адлегласць або дакладнасць GPS"
|
|
124
|
+
|
|
125
|
+
#: geopic_tag_reader/reader.py:418
|
|
126
|
+
msgid ""
|
|
127
|
+
"No focal length value was found, this prevents calculating field of view"
|
|
128
|
+
msgstr ""
|
|
129
|
+
"Значэнне факуснай адлегласці не знойдзена, гэта перашкаджае разліку поля "
|
|
130
|
+
"зроку"
|
|
131
|
+
|
|
132
|
+
#: geopic_tag_reader/reader.py:470
|
|
133
|
+
msgid "No GPS accuracy value found, this prevents computing a quality score"
|
|
134
|
+
msgstr ""
|
|
135
|
+
"Значэнне дакладнасці GPS не знойдзена, гэта перашкаджае разліку адзнакі "
|
|
136
|
+
"якасці"
|
|
137
|
+
|
|
138
|
+
#: geopic_tag_reader/reader.py:472
|
|
139
|
+
msgid ""
|
|
140
|
+
"No GPS horizontal positioning error value found, GPS accuracy can only be "
|
|
141
|
+
"estimated"
|
|
142
|
+
msgstr ""
|
|
143
|
+
"Значэнне памылкі гарызантальнага пазіцыянавання GPS не знойдзена, "
|
|
144
|
+
"дакладнасць GPS можна толькі ацаніць"
|
|
145
|
+
|
|
146
|
+
#: geopic_tag_reader/reader.py:479
|
|
147
|
+
msgid "No GPS coordinates or broken coordinates in picture EXIF tags"
|
|
148
|
+
msgstr "Адсутнічаюць GPS-каардынаты або яны пашкоджаныя ў EXIF тэгах выявы"
|
|
149
|
+
|
|
150
|
+
#: geopic_tag_reader/reader.py:485
|
|
151
|
+
msgid "No valid date in picture EXIF tags"
|
|
152
|
+
msgstr "У EXIF тэгах выявы адсутнічае сапраўдная дата"
|
|
153
|
+
|
|
154
|
+
#: geopic_tag_reader/reader.py:490
|
|
155
|
+
msgid "The picture is missing mandatory metadata:"
|
|
156
|
+
msgstr "Выяве не хапае абавязковых метаданых:"
|
|
157
|
+
|
|
158
|
+
#: geopic_tag_reader/reader.py:604 geopic_tag_reader/reader.py:633
|
|
159
|
+
msgid "GPSLatitudeRef not found, assuming GPSLatitudeRef is North"
|
|
160
|
+
msgstr "GPSLatitudeRef не знойдзены, мяркуем што GPSLatitudeRef - Поўнач"
|
|
161
|
+
|
|
162
|
+
#: geopic_tag_reader/reader.py:612
|
|
163
|
+
msgid "Broken GPS coordinates in picture EXIF tags"
|
|
164
|
+
msgstr "Пашкоджаныя GPS каардынаты ў EXIF тэгах выявы"
|
|
165
|
+
|
|
166
|
+
#: geopic_tag_reader/reader.py:615 geopic_tag_reader/reader.py:639
|
|
167
|
+
msgid "GPSLongitudeRef not found, assuming GPSLongitudeRef is East"
|
|
168
|
+
msgstr "GPSLongitudeRef не знойдзены, мяркуем што GPSLongitudeRef - Усход"
|
|
169
|
+
|
|
170
|
+
#: geopic_tag_reader/reader.py:700
|
|
171
|
+
msgid "Precise timezone information not found, fallback to UTC"
|
|
172
|
+
msgstr "Дакладная інфармацыя пра часавы пояс не знойдзена, пераходзім на UTC"
|
|
173
|
+
|
|
174
|
+
#: geopic_tag_reader/reader.py:705
|
|
175
|
+
msgid ""
|
|
176
|
+
"Precise timezone information not found (and no GPS coordinates to help), "
|
|
177
|
+
"fallback to UTC"
|
|
178
|
+
msgstr ""
|
|
179
|
+
"Дакладная інфармацыя пра часавы пояс не знойдзена (і няма GPS-каардынат для "
|
|
180
|
+
"дапамогі), пераходзім на UTC"
|
|
181
|
+
|
|
182
|
+
#: geopic_tag_reader/reader.py:709
|
|
183
|
+
#, python-brace-format
|
|
184
|
+
msgid ""
|
|
185
|
+
"Skipping original date/time (from {datefield}) as it was not recognized: {v}"
|
|
186
|
+
msgstr ""
|
|
187
|
+
"Прапускаем арыгінальную дату/час (з {datefield}), бо яны не распазнаны: {v}"
|
|
188
|
+
|
|
189
|
+
#: geopic_tag_reader/reader.py:741
|
|
190
|
+
#, python-brace-format
|
|
191
|
+
msgid ""
|
|
192
|
+
"GPSTimeStamp and GPSDateTime don't contain supported time format (in {group} "
|
|
193
|
+
"group)"
|
|
194
|
+
msgstr ""
|
|
195
|
+
"GPSTimeStamp і GPSDateTime не ўтрымліваюць падтрыманы фармат часу (у групе "
|
|
196
|
+
"{group})"
|
|
197
|
+
|
|
198
|
+
#: geopic_tag_reader/reader.py:772
|
|
199
|
+
#, python-brace-format
|
|
200
|
+
msgid "Skipping GPS date/time ({group} group) as it was not recognized: {v}"
|
|
201
|
+
msgstr "Прапускаем GPS дату/час (група {group}), бо яны не распазнаны: {v}"
|
|
202
|
+
|
|
203
|
+
#: geopic_tag_reader/reader.py:798
|
|
204
|
+
#, python-brace-format
|
|
205
|
+
msgid ""
|
|
206
|
+
"Microseconds read from decimal seconds value ({microsecondsFromSeconds}) is "
|
|
207
|
+
"not matching value from EXIF field ({microseconds}). Max value will be kept."
|
|
208
|
+
msgstr ""
|
|
209
|
+
"Мікрасекунды, прачытаныя з дзесятковага значэння секунд "
|
|
210
|
+
"({microsecondsFromSeconds}), не супадаюць са значэннем з поля EXIF "
|
|
211
|
+
"({microseconds}). Будзе захавана максімальнае значэнне."
|
|
212
|
+
|
|
213
|
+
#: geopic_tag_reader/writer.py:132
|
|
214
|
+
#, python-brace-format
|
|
215
|
+
msgid "Unsupported key in additional tags ({k})"
|
|
216
|
+
msgstr "Непадтрыманы ключ у дадатковых тэгах ({k})"
|
|
Binary file
|
|
@@ -8,9 +8,9 @@ msgstr ""
|
|
|
8
8
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
|
10
10
|
"POT-Creation-Date: 2024-07-10 13:05+0200\n"
|
|
11
|
-
"PO-Revision-Date: 2025-
|
|
12
|
-
"Last-Translator:
|
|
13
|
-
"
|
|
11
|
+
"PO-Revision-Date: 2025-10-17 17:31+0000\n"
|
|
12
|
+
"Last-Translator: \"F. Bausch\" <fbausch@users.noreply.weblate.panoramax.xyz>"
|
|
13
|
+
"\n"
|
|
14
14
|
"Language-Team: German <http://weblate.panoramax.xyz/projects/panoramax/"
|
|
15
15
|
"tag-reader/de/>\n"
|
|
16
16
|
"Language: de\n"
|
|
@@ -30,7 +30,7 @@ msgstr "Längengrad:"
|
|
|
30
30
|
|
|
31
31
|
#: geopic_tag_reader/main.py:28
|
|
32
32
|
msgid "Timestamp:"
|
|
33
|
-
msgstr "
|
|
33
|
+
msgstr "Zeitstempel:"
|
|
34
34
|
|
|
35
35
|
#: geopic_tag_reader/main.py:29
|
|
36
36
|
msgid "Heading:"
|
|
@@ -66,25 +66,25 @@ msgstr "Rollwinkel:"
|
|
|
66
66
|
|
|
67
67
|
#: geopic_tag_reader/main.py:39
|
|
68
68
|
msgid "Warnings raised by reader:"
|
|
69
|
-
msgstr "
|
|
69
|
+
msgstr "Vom Leser gemeldete Warnungen:"
|
|
70
70
|
|
|
71
71
|
#: geopic_tag_reader/reader.py:183
|
|
72
72
|
msgid "Read latitude is out of WGS84 bounds (should be in [-90, 90])"
|
|
73
73
|
msgstr ""
|
|
74
|
-
"Ausgelesener Breitengrad liegt außerhalb der WGS84-Grenzen (
|
|
75
|
-
"
|
|
74
|
+
"Ausgelesener Breitengrad liegt außerhalb der WGS84-Grenzen (muss in [-90,90] "
|
|
75
|
+
"liegen)"
|
|
76
76
|
|
|
77
77
|
#: geopic_tag_reader/reader.py:185
|
|
78
78
|
msgid "Read longitude is out of WGS84 bounds (should be in [-180, 180])"
|
|
79
79
|
msgstr ""
|
|
80
|
-
"Ausgelesener Längengrad liegt außerhalb der WGS84-Grenzen (
|
|
81
|
-
"
|
|
80
|
+
"Ausgelesener Längengrad liegt außerhalb der WGS84-Grenzen (muss in [-180,180]"
|
|
81
|
+
" liegen)"
|
|
82
82
|
|
|
83
83
|
#: geopic_tag_reader/reader.py:227
|
|
84
84
|
#, python-brace-format
|
|
85
85
|
msgid "Skipping Mapillary date/time as it was not recognized: {v}"
|
|
86
86
|
msgstr ""
|
|
87
|
-
"
|
|
87
|
+
"Überspringe Datum/Uhrzeit von Mapillary, weil sie nicht erkannt wurden: {v}"
|
|
88
88
|
|
|
89
89
|
#: geopic_tag_reader/reader.py:240
|
|
90
90
|
msgid "Contradicting heading values found, GPSImgDirection value is used"
|
|
@@ -93,23 +93,23 @@ msgstr ""
|
|
|
93
93
|
|
|
94
94
|
#: geopic_tag_reader/reader.py:351
|
|
95
95
|
msgid "No GPS coordinates or broken coordinates in picture EXIF tags"
|
|
96
|
-
msgstr "Keine oder
|
|
96
|
+
msgstr "Keine oder ungültige GPS-Koordinaten in den EXIF-Daten des Fotos"
|
|
97
97
|
|
|
98
98
|
#: geopic_tag_reader/reader.py:357
|
|
99
99
|
msgid "No valid date in picture EXIF tags"
|
|
100
|
-
msgstr "Kein
|
|
100
|
+
msgstr "Kein gültiges Datum in den EXIF-Daten des Fotos"
|
|
101
101
|
|
|
102
102
|
#: geopic_tag_reader/reader.py:362
|
|
103
103
|
msgid "The picture is missing mandatory metadata:"
|
|
104
|
-
msgstr "Dem Foto fehlen
|
|
104
|
+
msgstr "Dem Foto fehlen erforderliche Metadaten:"
|
|
105
105
|
|
|
106
106
|
#: geopic_tag_reader/reader.py:449 geopic_tag_reader/reader.py:478
|
|
107
107
|
msgid "GPSLatitudeRef not found, assuming GPSLatitudeRef is North"
|
|
108
|
-
msgstr "GPSLatitudeRef nicht gefunden
|
|
108
|
+
msgstr "GPSLatitudeRef nicht gefunden. Nutze Norden als GPSLatitudeRef"
|
|
109
109
|
|
|
110
110
|
#: geopic_tag_reader/reader.py:457
|
|
111
111
|
msgid "Broken GPS coordinates in picture EXIF tags"
|
|
112
|
-
msgstr "
|
|
112
|
+
msgstr "Ungültige GPS-Koordinaten in den EXIF-Daten des Fotos"
|
|
113
113
|
|
|
114
114
|
#: geopic_tag_reader/reader.py:460 geopic_tag_reader/reader.py:484
|
|
115
115
|
msgid "GPSLongitudeRef not found, assuming GPSLongitudeRef is East"
|
|
@@ -117,22 +117,22 @@ msgstr "GPSLongitudeRef nicht gefunden, nutze Osten als GPSLongitudeRef"
|
|
|
117
117
|
|
|
118
118
|
#: geopic_tag_reader/reader.py:537
|
|
119
119
|
msgid "Precise timezone information not found, fallback to UTC"
|
|
120
|
-
msgstr "Genaue Zeitzonen-Information nicht gefunden,
|
|
120
|
+
msgstr "Genaue Zeitzonen-Information nicht gefunden, Rückgriff auf UTC"
|
|
121
121
|
|
|
122
122
|
#: geopic_tag_reader/reader.py:542
|
|
123
123
|
msgid ""
|
|
124
124
|
"Precise timezone information not found (and no GPS coordinates to help), "
|
|
125
125
|
"fallback to UTC"
|
|
126
126
|
msgstr ""
|
|
127
|
-
"Genaue Zeitzonen-Information nicht gefunden (und keine GPS-Koordinaten
|
|
128
|
-
"
|
|
127
|
+
"Genaue Zeitzonen-Information nicht gefunden (und keine GPS-Koordinaten zum "
|
|
128
|
+
"Erkennen einer möglichen Zeitzone vorhanden). Rückgriff auf UTC"
|
|
129
129
|
|
|
130
130
|
#: geopic_tag_reader/reader.py:546
|
|
131
131
|
#, python-brace-format
|
|
132
132
|
msgid ""
|
|
133
133
|
"Skipping original date/time (from {datefield}) as it was not recognized: {v}"
|
|
134
134
|
msgstr ""
|
|
135
|
-
"Überspringe originales Datum/Zeit (aus {datefield}) weil es nicht erkannt "
|
|
135
|
+
"Überspringe originales Datum/Zeit (aus {datefield}), weil es nicht erkannt "
|
|
136
136
|
"wurde: {v}"
|
|
137
137
|
|
|
138
138
|
#: geopic_tag_reader/reader.py:580
|
|
@@ -142,13 +142,13 @@ msgid ""
|
|
|
142
142
|
"group)"
|
|
143
143
|
msgstr ""
|
|
144
144
|
"GPSTimeStamp und GPSDateTime enthalten kein unterstütztes Zeitformat (in "
|
|
145
|
-
"{group}
|
|
145
|
+
"Gruppe {group})"
|
|
146
146
|
|
|
147
147
|
#: geopic_tag_reader/reader.py:611
|
|
148
148
|
#, python-brace-format
|
|
149
149
|
msgid "Skipping GPS date/time ({group} group) as it was not recognized: {v}"
|
|
150
150
|
msgstr ""
|
|
151
|
-
"Überspringe GPS Datum/Zeit ({group}
|
|
151
|
+
"Überspringe GPS Datum/Zeit (Gruppe {group}), da es nicht erkannt wurde: {v}"
|
|
152
152
|
|
|
153
153
|
#: geopic_tag_reader/reader.py:637
|
|
154
154
|
#, python-brace-format
|
|
@@ -156,8 +156,8 @@ msgid ""
|
|
|
156
156
|
"Microseconds read from decimal seconds value ({microsecondsFromSeconds}) is "
|
|
157
157
|
"not matching value from EXIF field ({microseconds}). Max value will be kept."
|
|
158
158
|
msgstr ""
|
|
159
|
-
"Die Mikrosekunden die aus den Dezimalwerten der Sekunden gelesen wurden "
|
|
160
|
-
"({microsecondsFromSeconds}) stimmen nicht mit den Werten aus den EXIF-Daten "
|
|
159
|
+
"Die Mikrosekunden, die aus den Dezimalwerten der Sekunden gelesen wurden "
|
|
160
|
+
"({microsecondsFromSeconds}), stimmen nicht mit den Werten aus den EXIF-Daten "
|
|
161
161
|
"({microseconds}) überein. Maximaler Wert wird beibehalten."
|
|
162
162
|
|
|
163
163
|
#: geopic_tag_reader/writer.py:132
|
|
@@ -184,24 +184,25 @@ msgstr "nicht gesetzt"
|
|
|
184
184
|
#: geopic_tag_reader/reader.py:330
|
|
185
185
|
msgid ""
|
|
186
186
|
"No focal length value was found, this prevents calculating field of view"
|
|
187
|
-
msgstr "
|
|
187
|
+
msgstr ""
|
|
188
|
+
"Keine Brennweite gefunden. Dies verhindert die Berechnung des Blickwinkels"
|
|
188
189
|
|
|
189
190
|
#: geopic_tag_reader/reader.py:388
|
|
190
191
|
msgid ""
|
|
191
192
|
"No GPS horizontal positioning error value found, GPS accuracy can only be "
|
|
192
193
|
"estimated"
|
|
193
194
|
msgstr ""
|
|
194
|
-
"
|
|
195
|
-
"kann nur geschätzt werden"
|
|
195
|
+
"Keinen Fehlerwert für horizontale GPS-Positionierung gefunden. Die GPS-"
|
|
196
|
+
"Genauigkeit kann nur geschätzt werden"
|
|
196
197
|
|
|
197
198
|
#: geopic_tag_reader/reader.py:278
|
|
198
199
|
msgid "No heading value was found, this reduces usability of picture"
|
|
199
|
-
msgstr "
|
|
200
|
+
msgstr "Keinen Kompasskurs gefunden. Dies reduziert die Nutzbarkeit des Fotos"
|
|
200
201
|
|
|
201
202
|
#: geopic_tag_reader/reader.py:386
|
|
202
203
|
msgid "No GPS accuracy value found, this prevents computing a quality score"
|
|
203
204
|
msgstr ""
|
|
204
|
-
"Keine GPS-Genauigkeit gefunden
|
|
205
|
+
"Keine GPS-Genauigkeit gefunden. Dies verhindert das Berechnen eines "
|
|
205
206
|
"Qualitätswerts"
|
|
206
207
|
|
|
207
208
|
#: geopic_tag_reader/reader.py:321
|
|
@@ -209,8 +210,8 @@ msgid ""
|
|
|
209
210
|
"No make and model value found, no assumption on focal length or GPS "
|
|
210
211
|
"precision can be made"
|
|
211
212
|
msgstr ""
|
|
212
|
-
"
|
|
213
|
-
"Genauigkeit können
|
|
213
|
+
"Keinen Hersteller und Modell gefunden. Annahmen zu Brennweite oder GPS-"
|
|
214
|
+
"Genauigkeit können nicht getroffen werden"
|
|
214
215
|
|
|
215
216
|
#: geopic_tag_reader/main.py:28
|
|
216
217
|
msgid "GPS accuracy:"
|
|
Binary file
|