Files
searxng/searx/searxng.msg
Bnyro 52284fd320 [feat] categories: add icons for remaining category tabs (#6759)
Icons are provided for the main categories known to us.

The distinction between CATEGORY_GROUPS and CATEGORY_NAMES is abandoned in favor
of the latter.

HINT: we need single-color icons; transparent background and the color must be
`currentColor` so that the icons can be used in light/dark themes.

The following SVGs from the ionicons had to be revised (use ``currentColor``).

- client/simple/src/svg/ionicons/logo-rss.svg
- client/simple/src/svg/ionicons/radio-outline.svg
- client/simple/src/svg/ionicons/color-palette-outline.svg

For the following categories, I did not find any usable icons in Ionicons; new
SVGs were created for these categories.

- onions: client/simple/src/svg/ionicons/tor-browser.svg
- lyrics: client/simple/src/svg/ionicons/song-lyric-music.svg [1]
- packages: client/simple/src/svg/ionicons/package_2.svg [1]

[1] Based on Google's Material icons: https://fonts.google.com/icons

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-09-21 14:49:04 +02:00

113 lines
2.6 KiB
Plaintext

# -*- mode: python -*-
# SPDX-License-Identifier: AGPL-3.0-or-later
"""A SearXNG message file, see :py:obj:`searx.babel`"""
import typing
from searx import webutils
from searx import engines
from searx.weather import WeatherConditionType
__all__ = [
'CONSTANT_NAMES',
'CATEGORY_NAMES',
'STYLE_NAMES',
'BRAND_CUSTOM_LINKS',
'WEATHER_TERMS',
'WEATHER_CONDITIONS',
'SOCIAL_MEDIA_TERMS',
]
CONSTANT_NAMES = {
# Constants defined in other modules
'NO_SUBGROUPING': webutils.NO_SUBGROUPING,
'DEFAULT_CATEGORY': engines.DEFAULT_CATEGORY,
}
CATEGORY_NAMES = {
"APPS": "apps",
"BLOGS": "blogs",
"DICTIONARIES": "dictionaries",
"FILES": "files",
"GENERAL": "general",
"ICONS": "icons",
"IMAGES": "images",
"IT": "it",
"LYRICS": "lyrics",
"MAP": "map",
"MOVIES": "movies",
"MUSIC": "music",
"NEWS": "news",
"ONIONS": "onions",
"PACKAGES": "packages",
"Q_A": "q&a",
"RADIO": "radio",
"REPOS": "repos",
"SCIENCE": "science",
"SCIENTIFIC PUBLICATIONS": "scientific publications",
"SOCIAL_MEDIA": "social media",
"SOFTWARE_WIKIS": "software wikis",
"STOCK_IMAGES": "stock images",
"TRANSLATE": "translate",
"TV": "tv",
"VIDEOS": "videos",
"WEATHER": "weather",
"WEB": "web",
}
STYLE_NAMES = {
'AUTO': 'auto',
'LIGHT': 'light',
'DARK': 'dark',
'BLACK': 'black',
}
BRAND_CUSTOM_LINKS = {
'UPTIME': 'Uptime',
'ABOUT': 'About',
}
WEATHER_TERMS = {
'AVERAGE TEMP.': 'Average temp.',
'CLOUD COVER': 'Cloud cover',
'CONDITION': 'Condition',
'CURRENT CONDITION': 'Current condition',
'EVENING': 'Evening',
'FEELS LIKE': 'Feels like',
'HUMIDITY': 'Humidity',
'MAX TEMP.': 'Max temp.',
'MIN TEMP.': 'Min temp.',
'MORNING': 'Morning',
'NIGHT': 'Night',
'NOON': 'Noon',
'PRESSURE': 'Pressure',
'SUNRISE': 'Sunrise',
'SUNSET': 'Sunset',
'TEMPERATURE': 'Temperature',
'UV INDEX': 'UV index',
'VISIBILITY': 'Visibility',
'WIND': 'Wind',
}
WEATHER_CONDITIONS = [
# The capitalized string goes into to i18n/l10n (en: "Clear sky" -> de: "wolkenloser Himmel")
msg.capitalize()
for msg in typing.get_args(WeatherConditionType)
]
SOCIAL_MEDIA_TERMS = {
'SUBSCRIBERS': 'subscribers',
'POSTS': 'posts',
'ACTIVE USERS': 'active users',
'COMMENTS': 'comments',
'USER': 'user',
'COMMUNITY': 'community',
'POINTS': 'points',
'TITLE': 'title',
'AUTHOR': 'author',
'THREAD OPEN': 'open',
'THREAD CLOSED': 'closed',
'THREAD ANSWERED': 'answered',
}