Merge origin/main: Panoramax, bikeshare Norway/Detroit, cloud filter strength, Overpass cache

Conflicts:
- KartaView viewer moved into the shared photoViewer.js on main; its
  labels now take the provider name ("{name} street-level photo") and
  are translated there.
- Weather: main's cloud filter strength slider, with its labels in t().
- Street Level caption: translated creator line plus main's licence.

Panoramax status and error texts are marked like KartaView's, and
"Panoramax answered HTTP {status}" gets a template in the panel and the
layer row. Catalogs: es/ru 2553 messages each, complete.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
German KhokhlovandClaude Opus 5.5 committed 2026-10-16 00:06:45 +04:00
commit 7fd1dd867f
77 files changed
+9201 -919

No files matched your search

+23 -5
View File
@@ -949,8 +949,6 @@
"many": "{n} calles a la vista · haz clic en una línea para su foto más cercana",
"other": "{n} calles a la vista · haz clic en una línea para su foto más cercana"
},
"KartaView photo. ← and → step along the sequence. On a 360° photo, drag or use Shift+← →, ↑ ↓ to look around, and + − to zoom": "Foto de KartaView. ← y → avanzan por la secuencia. En una foto de 360°, arrastra o usa Mayús+← →, ↑ ↓ para mirar alrededor, y + − para hacer zoom",
"KartaView street-level photo": "Foto a pie de calle de KartaView",
"Camera follows view: move the globe camera wherever the street-level view looks": "La cámara sigue la vista: mueve la cámara del globo hacia donde mira la vista a pie de calle",
"Camera follow needs the Google 3D map: choose Google 3D under MAP SOURCE": "Seguir con la cámara requiere el mapa Google 3D: elige Google 3D en FUENTE DEL MAPA",
"Switch a provider on to draw its coverage.": "Activa un proveedor para dibujar su cobertura.",
@@ -1293,9 +1291,7 @@
"Hourly global mosaic; usually 2–3 hours delayed": "Mosaico global horario; normalmente con 2–3 horas de retraso",
"GOES regional clouds; approximately 5-minute updates": "Nubes regionales de GOES; actualizaciones cada 5 minutos aproximadamente",
"Clouds only": "Solo nubes",
"Dim everything but the bright, cold cloud tops; a brightness filter, not a cloud mask": "Atenúa todo excepto las cimas de nubes brillantes y frías; un filtro de brillo, no una máscara de nubes",
"Full": "Completa",
"The complete infrared image at the chosen opacity": "La imagen infrarroja completa con la opacidad elegida",
"Soft": "Suave",
"Vivid": "Intensa",
"Image opacity; does not alter the observed values": "Opacidad de la imagen; no altera los valores observados",
@@ -2761,5 +2757,27 @@
"Analyst query": "Consulta analítica",
"Next ISS pass": "Próximo paso de la EEI",
"Next satellite pass": "Próximo paso del satélite",
"Action": "Acción"
"Action": "Acción",
"The photo could not be loaded": "No se pudo cargar la foto",
"{name} photo. ← and → step along the sequence. On a 360° photo, drag or use Shift+← →, ↑ ↓ to look around, and + − to zoom": "Foto de {name}. ← y → avanzan por la secuencia. En una foto de 360°, arrastra o usa Mayús+← →, ↑ ↓ para mirar alrededor, y + − para hacer zoom",
"{name} street-level photo": "Foto a pie de calle de {name}",
"Previous photo in this sequence (←)": "Foto anterior de la secuencia (←)",
"Next photo in this sequence (→)": "Foto siguiente de la secuencia (→)",
"The Panoramax photo could not be loaded": "No se pudo cargar la foto de Panoramax",
"Panoramax is busy — coverage resumes on its own": "Panoramax está saturado — la cobertura se reanuda sola",
"no Panoramax photos in view": "no hay fotos de Panoramax a la vista",
"no Panoramax photos here match the filters": "aquí no hay fotos de Panoramax que cumplan los filtros",
"Panoramax sent a map tile that could not be read": "Panoramax envió una tesela del mapa que no se pudo leer",
"This Panoramax photo is no longer available": "Esta foto de Panoramax ya no está disponible",
"zoom in to see Panoramax coverage": "acércate para ver la cobertura de Panoramax",
"Panoramax did not answer in time — try again": "Panoramax no respondió a tiempo — inténtalo de nuevo",
"Panoramax could not be reached — check the connection": "No se pudo conectar con Panoramax — comprueba la conexión",
"Panoramax sent too much data": "Panoramax envió demasiados datos",
"Panoramax is busy": "Panoramax está saturado",
"Panoramax sent an unreadable answer": "Panoramax envió una respuesta que no se pudo leer",
"Apply the full cloud brightness key; 100% filter strength": "Aplica el filtro de brillo de nubes completo; intensidad del filtro 100%",
"Show the complete infrared image; 0% filter strength": "Muestra la imagen infrarroja completa; intensidad del filtro 0%",
"FILTER": "FILTRO",
"Cloud filter strength": "Intensidad del filtro de nubes",
"Panoramax answered HTTP {status}": "Panoramax respondió HTTP {status}"
}
+23 -5
View File
@@ -959,8 +959,6 @@
"many": "{n} улиц в кадре · щёлкните линию, чтобы открыть ближайшую фотографию",
"other": "{n} улицы в кадре · щёлкните линию, чтобы открыть ближайшую фотографию"
},
"KartaView photo. ← and → step along the sequence. On a 360° photo, drag or use Shift+← →, ↑ ↓ to look around, and + − to zoom": "Фотография KartaView. ← и → листают съёмку. На 360°-фотографии перетаскивайте или используйте Shift+← →, ↑ ↓ для обзора, + − для масштаба",
"KartaView street-level photo": "Уличная фотография KartaView",
"Camera follows view: move the globe camera wherever the street-level view looks": "Камера следует за видом: камера глобуса поворачивается туда, куда смотрит уличный снимок",
"Camera follow needs the Google 3D map: choose Google 3D under MAP SOURCE": "Слежению камеры нужна карта Google 3D: выберите Google 3D в разделе «ИСТОЧНИК КАРТЫ»",
"Switch a provider on to draw its coverage.": "Включите источник, чтобы показать его покрытие.",
@@ -1310,9 +1308,7 @@
"Hourly global mosaic; usually 2–3 hours delayed": "Ежечасная глобальная мозаика; обычно с задержкой 2–3 ч",
"GOES regional clouds; approximately 5-minute updates": "Региональная облачность GOES; обновление примерно каждые 5 мин",
"Clouds only": "Только облака",
"Dim everything but the bright, cold cloud tops; a brightness filter, not a cloud mask": "Затемнить всё, кроме ярких холодных вершин облаков; фильтр яркости, а не маска облачности",
"Full": "Полный",
"The complete infrared image at the chosen opacity": "Полное ИК-изображение с выбранной непрозрачностью",
"Soft": "Мягко",
"Vivid": "Ярко",
"Image opacity; does not alter the observed values": "Непрозрачность изображения; не меняет наблюдаемые значения",
@@ -2818,5 +2814,27 @@
"Analyst query": "Аналитический запрос",
"Next ISS pass": "Следующий пролёт МКС",
"Next satellite pass": "Следующий пролёт спутника",
"Action": "Действие"
"Action": "Действие",
"The photo could not be loaded": "Не удалось загрузить фотографию",
"{name} photo. ← and → step along the sequence. On a 360° photo, drag or use Shift+← →, ↑ ↓ to look around, and + − to zoom": "Фотография {name}. ← и → листают съёмку. На 360°-фотографии перетаскивайте или используйте Shift+← →, ↑ ↓ для обзора, + − для масштаба",
"{name} street-level photo": "Уличная фотография {name}",
"Previous photo in this sequence (←)": "Предыдущая фотография съёмки (←)",
"Next photo in this sequence (→)": "Следующая фотография съёмки (→)",
"The Panoramax photo could not be loaded": "Не удалось загрузить фотографию Panoramax",
"Panoramax is busy — coverage resumes on its own": "Panoramax перегружен — покрытие загрузится само",
"no Panoramax photos in view": "фотографий Panoramax в зоне видимости нет",
"no Panoramax photos here match the filters": "здесь нет фотографий Panoramax, подходящих под фильтры",
"Panoramax sent a map tile that could not be read": "Panoramax прислал тайл карты, который не удалось прочитать",
"This Panoramax photo is no longer available": "Эта фотография Panoramax больше недоступна",
"zoom in to see Panoramax coverage": "приблизьтесь, чтобы увидеть покрытие Panoramax",
"Panoramax did not answer in time — try again": "Panoramax не ответил вовремя — попробуйте снова",
"Panoramax could not be reached — check the connection": "Не удалось связаться с Panoramax — проверьте подключение",
"Panoramax sent too much data": "Panoramax прислал слишком много данных",
"Panoramax is busy": "Panoramax перегружен",
"Panoramax sent an unreadable answer": "Panoramax прислал ответ, который не удалось прочитать",
"Apply the full cloud brightness key; 100% filter strength": "Применить полный фильтр яркости облаков; сила фильтра 100%",
"Show the complete infrared image; 0% filter strength": "Показать полное ИК-изображение; сила фильтра 0%",
"FILTER": "ФИЛЬТР",
"Cloud filter strength": "Сила фильтра облаков",
"Panoramax answered HTTP {status}": "Panoramax ответил: HTTP {status}"
}