Add a new search category (OSM type with translations, synonyms, and emoji) to data/categories.txt. Use when asked to add, create, or insert a search category, search synonym, or map feature type.
Ask the user for:
shop-leather, amenity-cafe. Multiple types separated by |@group to attach (e.g. @shop, @category_eat). Grep ^@ in data/categories.txt for existing groupsU+XXXX Unicode format, placed as synonyms on the en: lineConvert OSM type dashes to dots: shop-leather → [type.shop.leather].
Check if the entry exists in data/strings/types_strings.txt.
python3 tools/python/translate.py --context "context here" "English Name"
This outputs translations in both categories.txt and strings.txt formats via DeepL+Google[type.osm.type] entry to data/strings/types_strings.txt:
[type.shop.leather]
comment = context used for translation
en = Leather Shop
ar = متجر السلع الجلدية
...sorted alphabetically by language code...
zh-Hant = 皮具店
The first synonym for each language MUST exactly match the translation in types_strings.txt. This is a hard requirement.
Append popular search synonyms after | — only terms users would actually type in the search box. Keep it minimal.
A digit 1-9 before a synonym controls the minimum characters needed for the suggestion to appear:
3Cafe → user must type 3+ charsFor ru, uk, be: short nouns (under 6 letters) need both nominative and genitive forms: