diff --git a/administrative.json b/administrative.json
index c248b19..7f6bf0e 100644
--- a/administrative.json
+++ b/administrative.json
@@ -11,6 +11,7 @@
         "hu": "Adminisztratív határok",
         "it": "Suddivisioni amministrative",
         "nl": "Administratieve gebieden",
+        "pt-br": "Divisão Político-Administrativa",
         "ro": "Zona administrativa",
         "ru": "Административные границы"
     },
diff --git a/agriculture.json b/agriculture.json
index ea8177c..e7f2927 100644
--- a/agriculture.json
+++ b/agriculture.json
@@ -12,6 +12,7 @@
         "it": "Agricoltura",
         "ja": "農業",
         "nl": "Landbouw",
+        "pt-br": "Agricultura",
         "ro": "Agricultura",
         "ru": "Сельское хозяйство"
     },
@@ -25,6 +26,15 @@
         ]
     },
     "feature": {
-        "description": "{{ tagTrans('landuse', tags.landuse) }}"
+        "description": "{{ tagTrans('landuse', tags.landuse) }}",
+        "priority": [
+            "{% if tags.landuse == 'farmyard' %}",
+            "0",
+            "{% elseif tags.landuse == 'allotments' %}",
+            "1",
+            "{% else %}",
+            "2",
+            "{% endif %}"
+        ]
     }
-}
+}
\ No newline at end of file
diff --git a/alternative_amenities.json b/alternative_amenities.json
index b7cbe83..969b636 100644
--- a/alternative_amenities.json
+++ b/alternative_amenities.json
@@ -8,6 +8,7 @@
         "it": "Infrastrutture",
         "ja": "生活環境",
         "nl": "Voorzieningen",
+        "pt-br": "Equipamentos",
         "ru": "Полезные места",
         "uk": "Amenities"
     }
diff --git a/alternative_routes.json b/alternative_routes.json
index 1e65963..f9ad554 100644
--- a/alternative_routes.json
+++ b/alternative_routes.json
@@ -8,6 +8,7 @@
         "it": "Itinerari segnalati",
         "ja": "ルート",
         "nl": "Alternatieve routes",
+        "pt-br": "Rotas",
         "ru": "Маршруты",
         "uk": "Маршрути"
     }
diff --git a/buildings.json b/buildings.json
index 3527bb0..17b49fa 100644
--- a/buildings.json
+++ b/buildings.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Gebäude",
         "en": "Buildings",
-        "fr": "Bâtiments"
+        "fr": "Bâtiments",
+        "pt-br": "Edificações"
     },
     "query": {
         "16": [
diff --git a/car_amenities.json b/car_amenities.json
index 88efd27..67daf23 100644
--- a/car_amenities.json
+++ b/car_amenities.json
@@ -5,10 +5,11 @@
         "cs": "Občasnká vybavenost",
         "de": "Einrichtungen",
         "en": "Amenities",
-        "fr": "Infrastructures routières",
+        "fr": "Équipements auto",
         "it": "Infrastrutture",
         "ja": "生活環境",
         "nl": "Voorzieningen",
+        "pt-br": "Equipamentos",
         "ru": "Обслуживание транспорта",
         "uk": "Amenities"
     },
@@ -18,6 +19,8 @@
             "node[amenity~\"^(car_rental|car_sharing|fuel)$\"];",
             "way[amenity~\"^(car_rental|car_sharing|fuel)$\"];",
             "relation[amenity~\"^(car_rental|car_sharing|fuel)$\"];",
+            "node[amenity~\"^(charging_station)$\"][car!=\"no\"];",
+            "node[amenity~\"^(charging_station)$\"][motorcycle!=\"no\"];",
             ")"
         ],
         "16": [
@@ -43,6 +46,7 @@
         "charging_station": "🔌 ",
         "fuel": "⛽",
         "parking": "🅿",
-        "motorcycle_parking": "🅿"
+        "motorcycle_parking": "🅿",
+        "charging_station": "🔌"
     }
 }
diff --git a/car_furniture.json b/car_furniture.json
index 77ccb57..39cb629 100644
--- a/car_furniture.json
+++ b/car_furniture.json
@@ -9,6 +9,7 @@
         "ja": "街路設置公共物",
         "nl": "Straatmeubilair",
         "pl": "Elementy drogowe",
+        "pt-br": "Mobiliário Urbano",
         "ru": "Элементы дороги",
         "uk": "Street Furniture"
     }
diff --git a/car_maxspeed.json b/car_maxspeed.json
index 9720966..4cd4929 100644
--- a/car_maxspeed.json
+++ b/car_maxspeed.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Höchstgeschwindigkeiten",
         "en": "Maxspeed",
-        "fr": "Limites de vitesse"
+        "fr": "Limites de vitesse",
+        "pt-br": "Velocidade Máxima"
     },
     "query": {
         "11": "way[highway~\"^(motorway|trunk)$\"];",
diff --git a/children.json b/children.json
index 1ac1511..52554e6 100644
--- a/children.json
+++ b/children.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Einrichtungen für Kinder",
         "en": "Children amenities",
-        "fr": "Équipements pour enfants"
+        "fr": "Équipements pour enfants",
+        "pt-br": "Equipamentos Infantis"
     },
     "query": {
         "15": [
diff --git a/communication.json b/communication.json
index 1762ae3..ca554a1 100644
--- a/communication.json
+++ b/communication.json
@@ -13,6 +13,7 @@
         "it": "Communicazioni",
         "ja": "交流",
         "nl": "Communicatie",
+        "pt-br": "Comunicação",
         "ro": "Comunicatii",
         "ru": "Услуги связи",
         "uk": "Телекомунікації"
diff --git a/construction.json b/construction.json
index 927575c..4ec3232 100644
--- a/construction.json
+++ b/construction.json
@@ -9,6 +9,7 @@
         "it": "Cantieri",
         "ja": "工事中",
         "nl": "Bouwterrein",
+        "pt-br": "Canteiros de Obras",
         "ru": "Места строительства"
     },
     "query": {
diff --git a/craft.json b/craft.json
new file mode 100644
index 0000000..dbacde2
--- /dev/null
+++ b/craft.json
@@ -0,0 +1,74 @@
+{
+    "type": "overpass",
+    "name": {
+        "de": "Handwerk",
+        "en": "Craft",
+        "fr": "Artisanat"
+    },
+    "query": {
+        "15": "(node[craft];way[craft];relation[craft];);"
+    },
+    "feature": {
+        "description": "{{ tagTransList('craft', tags.craft) }}",
+        "markerSign": "{% set craft0 = tags.craft|split(';')[0] %}{% if const.crafts[craft0] %}{% set v = const.crafts[craft0] %}{% else %}{% set v = const.default %}{% endif %}{% if v|slice(0, 3) == 'fa-' %}<i class=\"fa {{ v }}\"></i>{% else %}{{ v|raw }}{% endif %}"
+    },
+    "const": {
+        "default": "",
+        "crafts": {
+            "bakery": "fa-birthday-cake",
+            "beekeeper": "🐝",
+            "blacksmith": "🔨",
+            "boatbuilder": "⛵",
+            "bookbinder": "📕",
+            "brewery": "fa-beer",
+            "builder": "🚧",
+            "carpenter": "",
+            "carpet_layer": "",
+            "caterer": "fa-birthday-cake",
+            "chimney_sweeper": "",
+            "clockmaker": "⌚",
+            "confectionery": "",
+            "distillery": "🍷",
+            "dressmaker": "&#128090;",
+            "electrician": "🔌",
+            "floorer": "",
+            "gardener": "⚘",
+            "glaziery": "",
+            "handicraft": "",
+            "hvac": "",
+            "insulation": "",
+            "jeweller": "💍",
+            "key_cutter": "🔑",
+            "locksmith": "🔑",
+            "metal_construction": "",
+            "optician": "👓",
+            "painter": "🖌",
+            "parquet_layer": "",
+            "photographer": "📷",
+            "photographic_laboratory": "📷",
+            "piano_tuner": "",
+            "plasterer": "",
+            "plumber": "",
+            "pottery": "",
+            "rigger": "",
+            "roofer": "",
+            "saddler": "🐎",
+            "sailmaker": "⛵",
+            "sawmill": "",
+            "scaffolder": "",
+            "sculptor": "",
+            "shoemaker": "👞",
+            "stand_builder": "",
+            "stonemason": "",
+            "sun_protection": "",
+            "tailor": "&#128090;",
+            "tiler": "",
+            "tinsmith": "",
+            "turner": "",
+            "upholsterer": "",
+            "watchmaker": "⌚",
+            "window_construction": "",
+            "winery": "🍷"
+        }
+    }
+}
diff --git a/culture.json b/culture.json
index d44f689..aeb7220 100644
--- a/culture.json
+++ b/culture.json
@@ -15,6 +15,7 @@
         "ja": "文化",
         "nl": "Cultuur",
         "pl": "Kultura",
+        "pt-br": "Cultura",
         "ro": "Cultura",
         "ru": "Культура",
         "uk": "Культура "
diff --git a/culture_religion.json b/culture_religion.json
index 7b69493..9ba32a8 100644
--- a/culture_religion.json
+++ b/culture_religion.json
@@ -15,6 +15,7 @@
         "ja": "文化",
         "nl": "Cultuur",
         "pl": "Kultura",
+        "pt-br": "Cultura",
         "ro": "Cultura",
         "ru": "Культура",
         "uk": "Культура "
@@ -33,4 +34,4 @@
             "id": "tourism_attractions"
         }
     ]
-}
\ No newline at end of file
+}
diff --git a/cycle_amenities.json b/cycle_amenities.json
index ed004c5..f1bfac9 100644
--- a/cycle_amenities.json
+++ b/cycle_amenities.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Einrichtungen",
         "en": "Amenities",
-        "fr": "Équipements vélo"
+        "fr": "Équipements vélo",
+        "pt-br": "Equipamentos"
     },
     "query": {
         "13": [
@@ -11,6 +12,7 @@
             "node[amenity~\"^(bicycle_rental)$\"];",
             "way[amenity~\"^(bicycle_rental)$\"];",
             "relation[amenity~\"^(bicycle_rental)$\"];",
+            "node[amenity~\"^(charging_station)$\"][bicycle!=\"no\"];",
             "node[shop~\"^(bicycle)$\"];",
             "way[shop~\"^(bicycle)$\"];",
             "relation[shop~\"^(bicycle)$\"];",
@@ -21,6 +23,7 @@
             "node[amenity~\"^(bicycle_.*|compressed_air)$\"];",
             "way[amenity~\"^(bicycle_.*|compressed_air)$\"];",
             "relation[amenity~\"^(bicycle_.*|compressed_air)$\"];",
+            "node[amenity~\"^(charging_station)$\"][bicycle!=\"no\"];",
             "node[shop~\"^(bicycle)$\"];",
             "way[shop~\"^(bicycle)$\"];",
             "relation[shop~\"^(bicycle)$\"];",
@@ -56,7 +59,13 @@
             "",
             "{% if tags.capacity %}({{ tags.capacity }}){% endif %}"
         ],
-        "description": "{{ tagTrans(key, value) }}",
+        "description": [
+            "{% if tags.amenity == 'vending_machine' %}",
+            "{{ tagTransList('amenity=vending_machine vending', value) }}",
+            "{% else %}",
+            "{{ tagTrans(key, value) }}",
+            "{% endif %}"
+        ],
         "body": [
             "{% if tags.capacity %}",
             "  {{ keyTrans('capacity') }}: {{ tags.capacity }}",
@@ -121,6 +130,10 @@
         "amenity=compressed_air": {
             "sign": "A",
             "priority": 2
+        },
+        "amenity=charging_station": {
+            "sign": "🔌",
+            "priority": 2
         }
     }
 }
diff --git a/cycle_routes.json b/cycle_routes.json
index 6d27c7d..14cd4fa 100644
--- a/cycle_routes.json
+++ b/cycle_routes.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Radrouten",
         "en": "Cycle Routes",
-        "fr": "Itinéraires vélo"
+        "fr": "Itinéraires vélo",
+        "pt-br": "Ciclorrotas"
     },
     "query": {
         "6": "relation[type=route][route=bicycle][network~'^(icn)$']",
diff --git a/education.json b/education.json
index 82a9c6f..7b2ac9d 100644
--- a/education.json
+++ b/education.json
@@ -7,11 +7,12 @@
         "el": "Υπηρεσίες Εκπαίδευσης",
         "en": "Educational Services",
         "et": "Haridusteenused",
-        "fr": "Services éducatifs",
+        "fr": "Éducation",
         "it": "Istruzione",
         "ja": "教育サービス",
         "nl": "Onderwijs",
         "pl": "Edukacyjne",
+        "pt-br": "Educação",
         "ro": "Servicii educatie",
         "ru": "Образование",
         "uk": "Освіта"
diff --git a/emergency.json b/emergency.json
index eed4da0..0b39e12 100644
--- a/emergency.json
+++ b/emergency.json
@@ -13,6 +13,7 @@
         "it": "Servizi d'emergenza",
         "ja": "緊急サービス",
         "nl": "Hulpdiensten",
+        "pt-br": "Emergência",
         "ro": "Servicii urgenta",
         "ru": "Экстренные службы",
         "uk": "Швидка допомога"
@@ -27,13 +28,23 @@
         ],
         "13": [
             "(",
-            "node[amenity~\"^(fire_station|hospital|police|emergency_phone)$\"];",
-            "way[amenity~\"^(fire_station|hospital|police|emergency_phone)$\"];",
-            "relation[amenity~\"^(fire_station|hospital|police|emergency_phone)$\"];",
+            "node[amenity~\"^(fire_station|hospital|police)$\"];",
+            "way[amenity~\"^(fire_station|hospital|police)$\"];",
+            "relation[amenity~\"^(fire_station|hospital|police)$\"];",
+            "node[emergency~\"^(phone)$\"];",
             ")"
         ]
     },
     "feature": {
+        "pre": [
+            "{% if tags.amenity in [ 'fire_station', 'hospital', 'police' ] %}",
+            "{% set key = 'amenity' %}",
+            "{% set value = tags.amenity %}",
+            "{% elseif tags.emergency %}",
+            "{% set key = 'emergency' %}",
+            "{% set value = tags.emergency %}",
+            "{% endif %}"
+        ],
         "description": "{{ tagTrans('amenity', tags.amenity) }}",
         "markerSign": [
             "{% set data = const[tags.amenity] %}",
@@ -48,28 +59,28 @@
         "{% if data.zoom <= map.zoom %}",
         "  <tr>",
         "    <td>{{ markerCircle({})|raw }}<div class='sign'>{{ data.sign }}</div></td>",
-        "    <td>{{ tagTrans('amenity', value) }}</td>",
+        "    <td>{{ tagTrans(value|split('=')[0], value|split('=')[1]) }}</td>",
         "  </tr>",
         "{% endif %}",
         "{% endfor %}",
         "</table>"
     ],
     "const": {
-        "fire_station": {
+        "amenity=fire_station": {
             "zoom": "11",
             "sign": "🔥"
         },
-        "hospital": {
+        "amenity=hospital": {
             "zoom": "11",
             "sign": "🏥"
         },
-        "police": {
+        "amenity=police": {
             "zoom": "13",
             "sign": "👮"
         },
-        "emergency_phone": {
+        "emergency=phone": {
             "zoom": "13",
             "sign": "📞"
         }
     }
-}
+}
\ No newline at end of file
diff --git a/financial.json b/financial.json
index c8d47b4..b8dc5b5 100644
--- a/financial.json
+++ b/financial.json
@@ -11,6 +11,7 @@
         "ja": "金融",
         "nl": "Financieel",
         "pl": "Finasowe",
+        "pt-br": "Finanças",
         "ro": "Financiar",
         "ru": "Финансы",
         "uk": "Фінанси"
@@ -20,14 +21,14 @@
             "(",
             "node[amenity~\"^(bank)$\"];",
             "way[amenity~\"^(bank)$\"];",
-            "relation[amenity~\"^(bank)$\"]",
+            "relation[amenity~\"^(bank)$\"];",
             ")"
         ],
         "15": [
             "(",
             "node[amenity~\"^(bank|bureau_de_change|atm)$\"];",
             "way[amenity~\"^(bank|bureau_de_change|atm)$\"];",
-            "relation[amenity~\"^(bank|bureau_de_change|atm)$\"]",
+            "relation[amenity~\"^(bank|bureau_de_change|atm)$\"];",
             ")"
         ]
     },
diff --git a/gastro-smoking.json b/gastro-smoking.json
new file mode 100644
index 0000000..bc8c381
--- /dev/null
+++ b/gastro-smoking.json
@@ -0,0 +1,67 @@
+{
+    "type": "overpass",
+    "name": {
+        "de": "Rauchfreie Gastronomie",
+        "en": "Smokefree Gastronomy",
+        "fr": "Restauration sans tabac"
+    },
+    "query": {
+        "16": "(node[amenity~'^(bar|biergarten|cafe|fast_food|ice_cream|pub|restaurant)$'];way[amenity~'^(bar|biergarten|cafe|fast_food|ice_cream|pub|restaurant)$'];relation[amenity~'^(bar|biergarten|cafe|fast_food|ice_cream|pub|restaurant)$'];);"
+    },
+    "feature": {
+        "pre": [
+            "{% if tags.smoking == 'yes' or tags.smoking == 'dedicated' %}",
+            "  {% set smoking_color='red' %}",
+            "  {% set smoking_icon='🚬' %}",
+            "{% elseif tags.smoking == 'separated' or tags.smoking == 'isolated' %}",
+            "  {% set smoking_color='#ffdf00' %}",
+            "  {% set smoking_icon='🚬' %}",
+            "{% elseif tags.smoking == 'no' or tags.smoking == 'outside' or tags.smokefree == 'yes' %}",
+            "  {% set smoking_color='#00ff00' %}",
+            "  {% set smoking_icon='🚭' %}",
+            "{% else %}",
+            "  {% set smoking_color='white' %}",
+            "  {% set smoking_icon='' %}",
+            "{% endif %}"
+        ],
+        "description": "{{ tagTrans('amenity', tags.amenity) }}",
+        "body": [
+            "<ul>",
+            "  <li class='hasSymbol'>",
+            "   <i class=\"fa fa-cutlery\" aria-hidden=\"true\"></i>",
+            "   <span class='key'>{{ keyTrans('cuisine') }}:</span>",
+            "   <span class='value'>{{ tagTransList('cuisine', tags.cuisine)|default(trans('unknown')) }}</span>",
+            "  </li>",
+            "  <li class='hasSymbol'>",
+            "    <span class='symbol'>🚬</span>",
+            "    <span class='key'>{{ keyTrans('smoking') }}:</span>",
+            "    <span class='value'>{% if tags.smoking %}{{ tagTrans('smoking', tags.smoking) }}{% else %}{{ trans('unknown') }}{% endif %}</span>",
+            "  </li>",
+            "</ul>"
+        ],
+        "markerSign": "{% if tags.amenity=='bar' %}&#127864;{% elseif tags.amenity=='biergarten'%}&#127867;{% elseif tags.amenity=='cafe' %}&#9749;{% elseif tags.amenity=='fast_food' %}&#127828;{% elseif tags.amenity=='ice_cream' %}&#127848;{% elseif tags.amenity=='pub' %}&#127866;{% else %}&#127860;{% endif %}",
+        "markerSymbol": "{{ markerPointer({\"fillColor\": smoking_color })|raw }}",
+        "listMarkerSymbol": "{{ markerCircle({\"fillColor\": smoking_color })|raw }}"
+    },
+    "info": [
+        "{{ keyTrans('smoking') }}:",
+        "<table>",
+        "  <tr>",
+        "    <td>{{ markerCircle({ \"fillColor\": \"#00ff00\" })|raw }}</td>",
+        "    <td>{{ tagTrans('smoking', 'no') }}, {{ tagTrans('smoking', 'outside') }}</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerCircle({ \"fillColor\": \"#ffdf00\" })|raw }}</td>",
+        "    <td>{{ tagTrans('smoking', 'separated') }}, {{ tagTrans('smoking', 'isolated') }}</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerCircle({ \"fillColor\": \"red\" })|raw }}</td>",
+        "    <td>{{ tagTrans('smoking', 'yes') }}, {{ tagTrans('smoking', 'dedicated') }}</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerCircle({ \"fillColor\": \"white\" })|raw }}</td>",
+        "    <td>{{ trans('unknown') }}</td>",
+        "  </tr>",
+        "</table>"
+    ]
+}
diff --git a/gastro.json b/gastro.json
index 44504c5..c0c1298 100644
--- a/gastro.json
+++ b/gastro.json
@@ -6,12 +6,13 @@
         "de": "Gastronomie",
         "el": "Γαστρονομία",
         "en": "Gastronomy",
-        "fr": "Gastronomie",
+        "fr": "Restauration",
         "hu": "Gasztronómia",
         "it": "Gastronomia",
         "ja": "食べ物",
         "nl": "Gastronomie",
         "pl": "Gastronomia",
+        "pt-br": "Gastronomia",
         "ro": "Gastronomie",
         "ru": "Общепит",
         "uk": "Гастрономія"
diff --git a/health.json b/health.json
index 50b14b8..92c8c91 100644
--- a/health.json
+++ b/health.json
@@ -11,6 +11,7 @@
         "ja": "健康",
         "nl": "Gezondheid",
         "pl": "Zdrowie",
+        "pt-br": "Saúde e Assistência",
         "ro": "Sanatate",
         "ru": "Медицина",
         "uk": "Здоров'я"
@@ -58,31 +59,32 @@
             "{{ tagTransList('healthcare:speciality', attribute(tags, 'healthcare:speciality')) }}",
             "{% endif %}"
         ],
-        "markerSign": "{{ const[value]|raw }}"
+        "markerSign": "{{ const[concat(key, '=', value)]|raw }}"
     },
     "info": [
         "<table>",
         "{% for value, sign in const %}",
         "  <tr>",
         "    <td>{{ markerCircle({})|raw }}<div class='sign'>{{ sign|raw }}</div></td>",
-        "    <td>{{ tagTrans('amenity', value) }}</td>",
+        "    <td>{{ tagTrans(value|split('=')[0], value|split('=')[1]) }}</td>",
         "  </tr>",
         "{% endfor %}",
         "</table>"
     ],
     "const": {
-        "baby_hatch": "🚼",
-        "blood_bank": "<img src='maki:blood-bank'>",
-        "blood_donation": "<img src='maki:blood-bank'>",
-        "clinic": "🏥",
-        "defibrillator": "<img src='maki:defibrillator'>",
-        "dentist": "<img src='maki:dentist'>",
-        "doctor": "<img src='maki:doctor'>",
-        "doctors": "<img src='maki:doctor'>",
-        "hospital": "🏥",
-        "nursing_home": "",
-        "pharmacy": "<img src='maki:pharmacy'>",
-        "social_facility": "",
-        "veterinary": "<img src='maki:veterinary'>"
+        "amenity=baby_hatch": "🚼",
+        "healthcare=blood_bank": "<img src='maki:blood-bank'>",
+        "healthcare=blood_donation": "<img src='maki:blood-bank'>",
+        "healthcare=clinic": "🏥",
+        "emergency=defibrillator": "<img src='maki:defibrillator'>",
+        "healthcare=dentist": "<img src='maki:dentist'>",
+        "healthcare=doctor": "<img src='maki:doctor'>",
+        "amenity=doctors": "<img src='maki:doctor'>",
+        "amenity=hospital": "🏥",
+        "healthcare=hospital": "🏥",
+        "amenity=nursing_home": "",
+        "amenity=pharmacy": "<img src='maki:pharmacy'>",
+        "amenity=social_facility": "",
+        "amenity=veterinary": "<img src='maki:veterinary'>"
     }
-}
+}
\ No newline at end of file
diff --git a/hiking_routes.json b/hiking_routes.json
index b4398cb..16bcd05 100644
--- a/hiking_routes.json
+++ b/hiking_routes.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Wanderrouten",
         "en": "Hiking routes",
-        "fr": "Itinéraires pédestres"
+        "fr": "Itinéraires pédestres",
+        "pt-br": "Rotas de Caminhada"
     },
     "query": {
         "10": "relation[type=route][route=hiking][network~\"^(iwn)$\"]",
diff --git a/historic.json b/historic.json
index 30bfa83..48e2727 100644
--- a/historic.json
+++ b/historic.json
@@ -13,6 +13,7 @@
         "ja": "記念",
         "nl": "Historisch",
         "pl": "Miejsca Historyczne",
+        "pt-br": "Histórico",
         "ro": "Istoric",
         "ru": "Историческое",
         "uk": "Історія"
@@ -73,7 +74,7 @@
             "zoom": 14
         },
         "memorial": {
-            "sign": "<img src='maki:monument?size=11'>",
+            "sign": "<span  style='position: relative; top: -2px;'><img src='maki:monument?size=11'></span>",
             "zoom": 14
         },
         "monument": {
@@ -81,4 +82,4 @@
             "zoom": 11
         }
     }
-}
+}
\ No newline at end of file
diff --git a/index.json b/index.json
index 8f861b8..1b5b475 100644
--- a/index.json
+++ b/index.json
@@ -21,7 +21,8 @@
                 "pl": "Wypoczynek, Sport i Zakupy",
                 "ro": "Timp liber, Sport si Cumparaturi",
                 "ru": "Досуг",
-                "uk": "Дозвілля"
+                "uk": "Дозвілля",
+                "pt-br": "Lazer, Esportes e Compras"
             },
             "subCategories": [
                 {
@@ -30,6 +31,9 @@
                 {
                     "id": "shop"
                 },
+                {
+                    "id": "craft"
+                },
                 {
                     "id": "leisure"
                 },
@@ -61,7 +65,8 @@
                 "pl": "Usługi",
                 "ro": "Servicii",
                 "ru": "Услуги",
-                "uk": "Послуги"
+                "uk": "Послуги",
+                "pt-br": "Serviços"
             },
             "subCategories": [
                 {
@@ -108,7 +113,8 @@
                 "pl": "Transport",
                 "ro": "Transport",
                 "ru": "Транспорт",
-                "uk": "Транспорт"
+                "uk": "Транспорт",
+                "pt-br": "Transportes"
             },
             "subCategories": [
                 {
@@ -117,7 +123,8 @@
                     "name": {
                         "de": "Zu Fuß gehen",
                         "en": "Walking",
-                        "fr": "Marche à pied"
+                        "fr": "Marche à pied",
+                        "pt-br": "Pedestre"
                     },
                     "subCategories": [
                         {
@@ -134,7 +141,8 @@
                     "name": {
                         "de": "Radfahren",
                         "en": "Cycling",
-                        "fr": "Cyclisme"
+                        "fr": "Cyclisme",
+                        "pt-br": "Ciclismo"
                     },
                     "subCategories": [
                         {
@@ -163,7 +171,8 @@
                         "pl": "Transport Publiczny",
                         "ro": "Transport public",
                         "ru": "Общественный транспорт",
-                        "uk": "Громадський транспорт"
+                        "uk": "Громадський транспорт",
+                        "pt-br": "Transporte Público"
                     },
                     "subCategories": [
                         {
@@ -192,7 +201,8 @@
                         "pl": "Transport Indywidualny",
                         "ro": "Trafic individual",
                         "ru": "Частный транспорт",
-                        "uk": "Приватний транспорт"
+                        "uk": "Приватний транспорт",
+                        "pt-br": "Tráfego Individual"
                     },
                     "subCategories": [
                         {
@@ -211,7 +221,8 @@
             "name": {
                 "de": "Infrastruktur",
                 "en": "Infrastructure",
-                "fr": "Infrastructures"
+                "fr": "Infrastructures",
+                "pt-br": "Infraestrutura"
             },
             "subCategories": [
                 {
@@ -240,7 +251,8 @@
                         "it": "Ferrovie",
                         "ja": "鉄道",
                         "nl": "Spoorwegen",
-                        "ru": "Железные дороги"
+                        "ru": "Железные дороги",
+                        "pt-br": "Ferrovia"
                     },
                     "subCategories": [
                         {
@@ -273,9 +285,14 @@
             "type": "index",
             "name": {
                 "en": "Special",
-                "de": "Spezial"
+                "de": "Spezial",
+                "pt-br": "Especial",
+                "fr": "Catégories spéciales"
             },
             "subCategories": [
+                {
+                    "id": "gastro-smoking"
+                },
                 {
                     "id": "wikipedia"
                 }
diff --git a/internet.json b/internet.json
index 61cce3b..1bafbe4 100644
--- a/internet.json
+++ b/internet.json
@@ -10,6 +10,7 @@
         "hu": "Internethozzáférés",
         "ja": "インターネット接続",
         "nl": "Internettoegang",
+        "pt-br": "Acesso à Internet",
         "ro": "Acces internet"
     }
 }
diff --git a/lang/ast.json b/lang/ast.json
index ff08375..827a031 100644
--- a/lang/ast.json
+++ b/lang/ast.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Comunicaciones",
     "category:construction": "Sitios d'obres",
+    "category:craft": "",
     "category:culture": "Cultura",
     "category:culture_religion": "Cultura",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Servicios educativos",
     "category:emergency": "Servicios d'emerxencia",
     "category:financial": "Dineru",
+    "category:gastro-smoking": "",
     "category:gastro": "Gastronomía",
     "category:health": "Salú",
     "category:hiking_routes": null,
diff --git a/lang/ca.json b/lang/ca.json
index dd1e674..6a797d9 100644
--- a/lang/ca.json
+++ b/lang/ca.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Comunicacions",
     "category:construction": null,
+    "category:craft": "",
     "category:culture": "Cultura",
     "category:culture_religion": "Cultura i religió",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": null,
     "category:emergency": "Serveis d'emergència",
     "category:financial": null,
+    "category:gastro-smoking": "",
     "category:gastro": null,
     "category:health": null,
     "category:hiking_routes": null,
diff --git a/lang/cs.json b/lang/cs.json
index 9658f81..92078a4 100644
--- a/lang/cs.json
+++ b/lang/cs.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Komunikace",
     "category:construction": "Staveniště",
+    "category:craft": "",
     "category:culture": "Kultura",
     "category:culture_religion": "Kultura",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Vzdělávací služby",
     "category:emergency": "Pohotovostní služby",
     "category:financial": "Finanční služby",
+    "category:gastro-smoking": "",
     "category:gastro": "Stravování",
     "category:health": "Zdravotnictví",
     "category:hiking_routes": null,
diff --git a/lang/de.json b/lang/de.json
index 702fe3f..ba51927 100644
--- a/lang/de.json
+++ b/lang/de.json
@@ -10,6 +10,7 @@
     "category:children": "Einrichtungen für Kinder",
     "category:communication": "Kommunikation",
     "category:construction": "Baustellen",
+    "category:craft": "Handwerk",
     "category:culture": "Kultur",
     "category:culture_religion": "Kultur und Religion",
     "category:cycle_amenities": "Einrichtungen",
@@ -17,6 +18,7 @@
     "category:education": "Bildungseinrichtungen",
     "category:emergency": "Notfalldienste",
     "category:financial": "Finanzen",
+    "category:gastro-smoking": "Rauchfreie Gastronomie",
     "category:gastro": "Gastronomie",
     "category:health": "Gesundheitsdienste",
     "category:hiking_routes": "Wanderrouten",
diff --git a/lang/el.json b/lang/el.json
index fdd4ea7..a8b68ee 100644
--- a/lang/el.json
+++ b/lang/el.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Επικοινωνίες",
     "category:construction": null,
+    "category:craft": "",
     "category:culture": "Πολιτισμός",
     "category:culture_religion": "Πολιτισμός",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Υπηρεσίες Εκπαίδευσης",
     "category:emergency": "Υπηρεσίες Έκτακτης Ανάγκης",
     "category:financial": "Χρήμα",
+    "category:gastro-smoking": "",
     "category:gastro": "Γαστρονομία",
     "category:health": "Υγεία",
     "category:hiking_routes": null,
diff --git a/lang/en.json b/lang/en.json
index 73fc883..2b8fc3c 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -10,13 +10,15 @@
     "category:children": "Children amenities",
     "category:communication": "Communication",
     "category:construction": "Construction Sites",
+    "category:craft": "Craft",
     "category:culture": "Culture",
-    "category:culture_religion": "Culture",
+    "category:culture_religion": "Culture and Religion",
     "category:cycle_amenities": "Amenities",
     "category:cycle_routes": "Cycle Routes",
     "category:education": "Educational Services",
     "category:emergency": "Emergency Services",
     "category:financial": "Financial",
+    "category:gastro-smoking": "Smokefree Gastronomy",
     "category:gastro": "Gastronomy",
     "category:health": "Health",
     "category:hiking_routes": "Hiking routes",
diff --git a/lang/es.json b/lang/es.json
index 1929f96..f82052d 100644
--- a/lang/es.json
+++ b/lang/es.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": null,
     "category:construction": null,
+    "category:craft": "",
     "category:culture": "Cultura",
     "category:culture_religion": "Cultura y religión",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": null,
     "category:emergency": "Servicios de emergencia",
     "category:financial": null,
+    "category:gastro-smoking": "",
     "category:gastro": null,
     "category:health": null,
     "category:hiking_routes": null,
diff --git a/lang/et.json b/lang/et.json
index f7fb354..a325cf5 100644
--- a/lang/et.json
+++ b/lang/et.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Kommunikatsioon",
     "category:construction": null,
+    "category:craft": "",
     "category:culture": "Kultuur",
     "category:culture_religion": "Kultuur ja religioon",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Haridusteenused",
     "category:emergency": "Hädaabi teenused",
     "category:financial": null,
+    "category:gastro-smoking": "",
     "category:gastro": null,
     "category:health": null,
     "category:hiking_routes": null,
diff --git a/lang/fr.json b/lang/fr.json
index 600f13c..7a833b3 100644
--- a/lang/fr.json
+++ b/lang/fr.json
@@ -4,29 +4,28 @@
     "category:alternative_amenities": "Équipement",
     "category:alternative_routes": "Routes",
     "category:buildings": "Bâtiments",
-    "category:car_amenities": "Infrastructures routières",
+    "category:car_amenities": "Équipements auto",
     "category:car_furniture": "Fournitures automobiles",
     "category:car_maxspeed": "Limites de vitesse",
     "category:children": "Équipements pour enfants",
     "category:communication": "Communication",
     "category:construction": "Constructions",
+    "category:craft": "Artisanat",
     "category:culture": "Culture",
-    "category:culture_religion": "Religion",
+    "category:culture_religion": "Culture et Religion",
     "category:cycle_amenities": "Équipements vélo",
-    "category:cycle_infrastructure": "Infrastructure vélo",
     "category:cycle_routes": "Itinéraires vélo",
-    "category:education": "Services éducatifs",
+    "category:education": "Éducation",
     "category:emergency": "Services d'urgence",
     "category:financial": "Finance",
-    "category:gastro": "Gastronomie",
+    "category:gastro-smoking": "Restauration sans tabac",
+    "category:gastro": "Restauration",
     "category:health": "Santé",
     "category:hiking_routes": "Itinéraires pédestres",
     "category:historic": "Histoire",
     "category:index": null,
-    "category:infrastructure": "Infrastructures",
     "category:internet": "Internet",
     "category:leisure": "Loisirs",
-    "category:leisure_sport_shopping": "Loisirs",
     "category:military": "Militaire",
     "category:natural": "Éléments naturels",
     "category:other": "Autres",
@@ -40,27 +39,30 @@
     "category:pt_routes": "Lignes",
     "category:pt_stops": "Arrêts/Stops, Stations",
     "category:public": "Services Publics",
-    "category:railway": "Chemins de fer",
     "category:railway-electrification": "Puissance électrique ferroviaire",
     "category:railway-infrastructure": "Infrastructure ferroviaire",
     "category:religion": "Religion",
     "category:residential": "Zones résidentielles",
     "category:resources": "Extraction des ressources",
-    "category:services": "Services",
-    "category:shop": "Magasinage/Shopping",
-    "category:special": null,
-    "category:sport": "Autres sports",
+    "category:shop": "Magasins/Boutiques",
+    "category:sport": "Sports",
     "category:tourism_attractions": "Tourisme",
-    "category:tourism_services": "Services touristiques",
-    "category:transport": "Transports",
+    "category:tourism_services": "Tourisme",
     "category:transport_alternative": "Alternatif (Cyclisme, Randonnée, ...)",
-    "category:transport_car": "Transport automobile",
-    "category:transport_cycle": "Cyclisme",
-    "category:transport_pt": "Transports publics",
-    "category:transport_walk": "Marche à pied",
     "category:walk_amenities": "Équipements piétons",
-    "category:waste": "Rebuts",
+    "category:waste": "Déchets/Recyclage",
     "category:water": "Hydrographie",
     "category:wikipedia": "Wikipédia",
-    "category:works": "Zones industrielles"
+    "category:works": "Zones industrielles",
+    "category:cycle_infrastructure": "Infrastructures vélo",
+    "category:infrastructure": "Infrastructures",
+    "category:leisure_sport_shopping": "Loisirs",
+    "category:railway": "Chemins de fer",
+    "category:services": "Services",
+    "category:special": "Catégories spéciales",
+    "category:transport": "Transports",
+    "category:transport_car": "Transport automobile",
+    "category:transport_cycle": "Cyclisme",
+    "category:transport_pt": "Transports publics",
+    "category:transport_walk": "Marche à pied"
 }
diff --git a/lang/hu.json b/lang/hu.json
index b67026b..7cb807f 100644
--- a/lang/hu.json
+++ b/lang/hu.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Kommunikácó",
     "category:construction": null,
+    "category:craft": "",
     "category:culture": "Kultúra",
     "category:culture_religion": "Kultúra",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": null,
     "category:emergency": null,
     "category:financial": null,
+    "category:gastro-smoking": "",
     "category:gastro": "Gasztronómia",
     "category:health": null,
     "category:hiking_routes": null,
diff --git a/lang/it.json b/lang/it.json
index 6e46050..7478533 100644
--- a/lang/it.json
+++ b/lang/it.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Communicazioni",
     "category:construction": "Cantieri",
+    "category:craft": "",
     "category:culture": "Cultura",
     "category:culture_religion": "Cultura",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Istruzione",
     "category:emergency": "Servizi d'emergenza",
     "category:financial": "Finanze",
+    "category:gastro-smoking": "",
     "category:gastro": "Gastronomia",
     "category:health": "Sanità",
     "category:hiking_routes": null,
diff --git a/lang/ja.json b/lang/ja.json
index 78b3036..173f467 100644
--- a/lang/ja.json
+++ b/lang/ja.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "交流",
     "category:construction": "工事中",
+    "category:craft": "",
     "category:culture": "文化",
     "category:culture_religion": "文化",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "教育サービス",
     "category:emergency": "緊急サービス",
     "category:financial": "金融",
+    "category:gastro-smoking": "",
     "category:gastro": "食べ物",
     "category:health": "健康",
     "category:hiking_routes": null,
diff --git a/lang/nl.json b/lang/nl.json
index 06c2e8a..e542067 100644
--- a/lang/nl.json
+++ b/lang/nl.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Communicatie",
     "category:construction": "Bouwterrein",
+    "category:craft": "",
     "category:culture": "Cultuur",
     "category:culture_religion": "Cultuur",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Onderwijs",
     "category:emergency": "Hulpdiensten",
     "category:financial": "Financieel",
+    "category:gastro-smoking": "",
     "category:gastro": "Gastronomie",
     "category:health": "Gezondheid",
     "category:hiking_routes": null,
diff --git a/lang/pl.json b/lang/pl.json
index aec05c2..251dc1d 100644
--- a/lang/pl.json
+++ b/lang/pl.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": null,
     "category:construction": null,
+    "category:craft": "",
     "category:culture": "Kultura",
     "category:culture_religion": "Kultura",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Edukacyjne",
     "category:emergency": null,
     "category:financial": "Finasowe",
+    "category:gastro-smoking": "",
     "category:gastro": "Gastronomia",
     "category:health": "Zdrowie",
     "category:hiking_routes": null,
diff --git a/lang/pt-br.json b/lang/pt-br.json
new file mode 100644
index 0000000..9497502
--- /dev/null
+++ b/lang/pt-br.json
@@ -0,0 +1,68 @@
+{
+    "category:administrative": "Divisão Político-Administrativa",
+    "category:agriculture": "Agricultura",
+    "category:alternative_amenities": "Equipamentos",
+    "category:alternative_routes": "Rotas",
+    "category:buildings": "Edificações",
+    "category:car_amenities": "Equipamentos",
+    "category:car_furniture": "Mobiliário Urbano",
+    "category:car_maxspeed": "Velocidade Máxima",
+    "category:children": "Equipamentos Infantis",
+    "category:communication": "Comunicação",
+    "category:construction": "Canteiros de Obras",
+    "category:craft": "",
+    "category:culture": "Cultura",
+    "category:culture_religion": "Cultura",
+    "category:cycle_amenities": "Equipamentos",
+    "category:cycle_routes": "Ciclorrotas",
+    "category:education": "Educação",
+    "category:emergency": "Emergência",
+    "category:financial": "Finanças",
+    "category:gastro-smoking": "",
+    "category:gastro": "Gastronomia",
+    "category:health": "Saúde e Assistência",
+    "category:hiking_routes": "Rotas de Caminhada",
+    "category:historic": "Histórico",
+    "category:index": null,
+    "category:internet": "Acesso à Internet",
+    "category:leisure": "Lazer",
+    "category:military": "Militar",
+    "category:natural": "Formações Naturais",
+    "category:other": "Outros",
+    "category:phone": "Telefone",
+    "category:places": "Lugares",
+    "category:places_geo": "Lugares",
+    "category:playgrounds": "Parquinhos",
+    "category:post": "Correios",
+    "category:power": "Energia",
+    "category:pt_amenities": "Equipamentos",
+    "category:pt_routes": "Rotas",
+    "category:pt_stops": "Paradas e Estações",
+    "category:public": "Serviços Públicos",
+    "category:railway-electrification": "Eletrificação Ferroviária",
+    "category:railway-infrastructure": "Infraestrutura Ferroviária",
+    "category:religion": "Religião",
+    "category:residential": "Áreas Residenciais",
+    "category:resources": "Extração de Recursos",
+    "category:shop": "Compras",
+    "category:sport": "Esportes",
+    "category:tourism_attractions": "Turismo",
+    "category:tourism_services": "Turismo",
+    "category:transport_alternative": null,
+    "category:walk_amenities": "Equipamentos",
+    "category:waste": "Lixo",
+    "category:water": "Hidrografia",
+    "category:wikipedia": "Wikipédia",
+    "category:works": "Fábricas",
+    "category:cycle_infrastructure": "Ciclovias",
+    "category:infrastructure": "Infraestrutura",
+    "category:leisure_sport_shopping": "Lazer, Esportes e Compras",
+    "category:railway": "Ferrovia",
+    "category:services": "Serviços",
+    "category:special": "Especial",
+    "category:transport": "Transportes",
+    "category:transport_car": "Tráfego Individual",
+    "category:transport_cycle": "Ciclismo",
+    "category:transport_pt": "Transporte Público",
+    "category:transport_walk": "Pedestre"
+}
diff --git a/lang/ro.json b/lang/ro.json
index 929e130..d726a6c 100644
--- a/lang/ro.json
+++ b/lang/ro.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Comunicatii",
     "category:construction": null,
+    "category:craft": "",
     "category:culture": "Cultura",
     "category:culture_religion": "Cultura",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Servicii educatie",
     "category:emergency": "Servicii urgenta",
     "category:financial": "Financiar",
+    "category:gastro-smoking": "",
     "category:gastro": "Gastronomie",
     "category:health": "Sanatate",
     "category:hiking_routes": null,
diff --git a/lang/ru.json b/lang/ru.json
index 8dcff00..9985ae0 100644
--- a/lang/ru.json
+++ b/lang/ru.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Услуги связи",
     "category:construction": "Места строительства",
+    "category:craft": "",
     "category:culture": "Культура",
     "category:culture_religion": "Культура",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Образование",
     "category:emergency": "Экстренные службы",
     "category:financial": "Финансы",
+    "category:gastro-smoking": "",
     "category:gastro": "Общепит",
     "category:health": "Медицина",
     "category:hiking_routes": null,
diff --git a/lang/template.json b/lang/template.json
new file mode 100644
index 0000000..54044bd
--- /dev/null
+++ b/lang/template.json
@@ -0,0 +1,68 @@
+{
+    "category:administrative": "",
+    "category:agriculture": "",
+    "category:alternative_amenities": "",
+    "category:alternative_routes": "",
+    "category:buildings": "",
+    "category:car_amenities": "",
+    "category:car_furniture": "",
+    "category:car_maxspeed": "",
+    "category:children": "",
+    "category:communication": "",
+    "category:construction": "",
+    "category:craft": "",
+    "category:culture": "",
+    "category:culture_religion": "",
+    "category:cycle_amenities": "",
+    "category:cycle_routes": "",
+    "category:education": "",
+    "category:emergency": "",
+    "category:financial": "",
+    "category:gastro-smoking": "",
+    "category:gastro": "",
+    "category:health": "",
+    "category:hiking_routes": "",
+    "category:historic": "",
+    "category:index": "",
+    "category:internet": "",
+    "category:leisure": "",
+    "category:military": "",
+    "category:natural": "",
+    "category:other": "",
+    "category:phone": "",
+    "category:places": "",
+    "category:places_geo": "",
+    "category:playgrounds": "",
+    "category:post": "",
+    "category:power": "",
+    "category:pt_amenities": "",
+    "category:pt_routes": "",
+    "category:pt_stops": "",
+    "category:public": "",
+    "category:railway-electrification": "",
+    "category:railway-infrastructure": "",
+    "category:religion": "",
+    "category:residential": "",
+    "category:resources": "",
+    "category:shop": "",
+    "category:sport": "",
+    "category:tourism_attractions": "",
+    "category:tourism_services": "",
+    "category:transport_alternative": "",
+    "category:walk_amenities": "",
+    "category:waste": "",
+    "category:water": "",
+    "category:wikipedia": "",
+    "category:works": "",
+    "category:cycle_infrastructure": "",
+    "category:infrastructure": "",
+    "category:leisure_sport_shopping": "",
+    "category:railway": "",
+    "category:services": "",
+    "category:special": "",
+    "category:transport": "",
+    "category:transport_car": "",
+    "category:transport_cycle": "",
+    "category:transport_pt": "",
+    "category:transport_walk": ""
+}
diff --git a/lang/uk.json b/lang/uk.json
index bb3597f..f8e7d1d 100644
--- a/lang/uk.json
+++ b/lang/uk.json
@@ -10,6 +10,7 @@
     "category:children": null,
     "category:communication": "Телекомунікації",
     "category:construction": null,
+    "category:craft": "",
     "category:culture": "Культура ",
     "category:culture_religion": "Культура ",
     "category:cycle_amenities": null,
@@ -17,6 +18,7 @@
     "category:education": "Освіта",
     "category:emergency": "Швидка допомога",
     "category:financial": "Фінанси",
+    "category:gastro-smoking": "",
     "category:gastro": "Гастрономія",
     "category:health": "Здоров'я",
     "category:hiking_routes": null,
diff --git a/leisure.json b/leisure.json
index f719e1a..2dfbcf2 100644
--- a/leisure.json
+++ b/leisure.json
@@ -10,6 +10,7 @@
         "it": "Tempo libero",
         "ja": "レジャー",
         "nl": "Vrije tijd",
+        "pt-br": "Lazer",
         "ro": "Timp liber",
         "ru": "Досуг",
         "uk": "Дозвілля"
diff --git a/military.json b/military.json
index c1207f6..9c3e3ce 100644
--- a/military.json
+++ b/military.json
@@ -11,6 +11,7 @@
         "it": "Militare",
         "ja": "軍事",
         "nl": "Militair",
+        "pt-br": "Militar",
         "ro": "Militar",
         "ru": "Вооружённые силы"
     },
diff --git a/natural.json b/natural.json
index 71573d8..ec35b9f 100644
--- a/natural.json
+++ b/natural.json
@@ -11,6 +11,7 @@
         "it": "Natura",
         "ja": "自然地層",
         "nl": "Natuurlijke Formaties",
+        "pt-br": "Formações Naturais",
         "ru": "Природные образования",
         "uk": "Природне середовище"
     },
diff --git a/other.json b/other.json
index b02e32b..8ea0472 100644
--- a/other.json
+++ b/other.json
@@ -10,6 +10,7 @@
         "it": "Altri",
         "ja": "その他",
         "nl": "Andere",
+        "pt-br": "Outros",
         "ro": "Altele",
         "ru": "Прочее",
         "uk": "Інше"
diff --git a/phone.json b/phone.json
index 2bf6e9a..a2554e1 100644
--- a/phone.json
+++ b/phone.json
@@ -9,6 +9,7 @@
         "hu": "Telefon",
         "ja": "電話",
         "nl": "Telefonie",
+        "pt-br": "Telefone",
         "ro": "Telefon"
     }
 }
diff --git a/places.json b/places.json
index 251da74..f0fc803 100644
--- a/places.json
+++ b/places.json
@@ -13,6 +13,7 @@
         "ja": "場所",
         "nl": "Plaatsen",
         "pl": "Miejsca",
+        "pt-br": "Lugares",
         "ro": "Locuri",
         "ru": "Места",
         "uk": "Місцевість"
diff --git a/places_geo.json b/places_geo.json
index 850e54f..e83a837 100644
--- a/places_geo.json
+++ b/places_geo.json
@@ -13,6 +13,7 @@
         "ja": "場所",
         "nl": "Plaatsen",
         "pl": "Miejsca",
+        "pt-br": "Lugares",
         "ro": "Locuri",
         "ru": "Места",
         "uk": "Місцевість"
diff --git a/playgrounds.json b/playgrounds.json
index 2e8ff6a..79802ee 100644
--- a/playgrounds.json
+++ b/playgrounds.json
@@ -6,6 +6,7 @@
         "en": "Playground",
         "et": "Mänguväljak",
         "fr": "Jeux pour enfants",
+        "pt-br": "Parquinhos",
         "ro": "Loc de joaca",
         "uk": "Дитячий майданчик"
     }
diff --git a/post.json b/post.json
index 1e1b1a9..1e851be 100644
--- a/post.json
+++ b/post.json
@@ -6,6 +6,7 @@
         "en": "Post",
         "hu": "Posta",
         "ja": "郵便",
-        "nl": "Post"
+        "nl": "Post",
+        "pt-br": "Correios"
     }
 }
diff --git a/power.json b/power.json
index b272369..b833d32 100644
--- a/power.json
+++ b/power.json
@@ -11,6 +11,7 @@
         "it": "Energia",
         "ja": "電力",
         "nl": "Stroomvoorziening",
+        "pt-br": "Energia",
         "ro": "Energie",
         "ru": "Энергетика"
     },
diff --git a/pt_amenities.json b/pt_amenities.json
index 72a500b..b5b5127 100644
--- a/pt_amenities.json
+++ b/pt_amenities.json
@@ -9,6 +9,7 @@
         "it": "Infrastrutture",
         "ja": "生活環境",
         "nl": "Voorzieningen",
+        "pt-br": "Equipamentos",
         "ru": "Транспортные принадлежности",
         "uk": "Amenities"
     },
diff --git a/pt_routes.json b/pt_routes.json
index f650940..6f8f365 100644
--- a/pt_routes.json
+++ b/pt_routes.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Routen",
         "en": "Routes",
-        "fr": "Lignes"
+        "fr": "Lignes",
+        "pt-br": "Rotas"
     },
     "query": {
         "12": "relation[type=route][route~\"^(subway|monorail|ferry|train)$\"];",
diff --git a/pt_stops.json b/pt_stops.json
index bdb63ed..0905b23 100644
--- a/pt_stops.json
+++ b/pt_stops.json
@@ -13,6 +13,7 @@
         "ja": "停留所と駅",
         "nl": "Haltes en Stations",
         "pl": "Przystanki i Stacje",
+        "pt-br": "Paradas e Estações",
         "ru": "Остановки и станции",
         "uk": "Зупинки та станції"
     },
diff --git a/public.json b/public.json
index 548bccd..2678071 100644
--- a/public.json
+++ b/public.json
@@ -11,6 +11,7 @@
         "it": "Servizi pubblici",
         "ja": "公共サービス",
         "nl": "Openbare diensten",
+        "pt-br": "Serviços Públicos",
         "ro": "Servicii publice",
         "ru": "Общественные места",
         "uk": "Громадські місця"
diff --git a/railway-electrification.json b/railway-electrification.json
index 0a3bea6..72a6941 100644
--- a/railway-electrification.json
+++ b/railway-electrification.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Eisenbahn Elektrifizierung",
         "en": "Railway electrification",
-        "fr": "Puissance électrique ferroviaire"
+        "fr": "Puissance électrique ferroviaire",
+        "pt-br": "Eletrificação Ferroviária"
     },
     "query": {
         "11": "way[railway=rail][railway!~'^(platform|abandoned|disused|station|proposed|subway_entrance)$'][usage~'^(main|branch)$'];",
diff --git a/railway-infrastructure.json b/railway-infrastructure.json
index 095e954..a33e91e 100644
--- a/railway-infrastructure.json
+++ b/railway-infrastructure.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Eisenbahn Infrastruktur",
         "en": "Railway infrastructure",
-        "fr": "Infrastructure ferroviaire"
+        "fr": "Infrastructure ferroviaire",
+        "pt-br": "Infraestrutura Ferroviária"
     },
     "query": {
         "11": "(way[railway=rail][usage~'^(main|branch)$'];node[railway~'^(station)$'];)",
diff --git a/religion.json b/religion.json
index dd27a2f..9da14ab 100644
--- a/religion.json
+++ b/religion.json
@@ -12,6 +12,7 @@
         "it": "Religione",
         "ja": "宗教",
         "nl": "Religie",
+        "pt-br": "Religião",
         "ro": "Religie",
         "ru": "Религия",
         "uk": "Релігія"
@@ -37,15 +38,29 @@
             "{% set value = tags.amenity %}",
             "{% endif %}"
         ],
-        "description": "{{ tagTrans(key, value) }}{% if tags.religion %}: {{ tagTransList('religion', tags.religion) }}{% endif %}",
+        "description": [
+            "{% if tags.building and tags.religion %}",
+            "  {% if isTranslated('tag:building=' ~ tags.building ~ ' religion=' ~ tags.religion) %}",
+            "    {{ trans('tag:building=' ~ tags.building ~ ' religion=' ~ tags.religion) }}",
+            "  {% elseif tags.building != 'yes' %}",
+            "    {{ trans('tag:building=' ~ tags.building) }}{% if tags.religion %}: {{ tagTransList('religion', tags.religion) }}{% endif %}",
+            "  {% else %}",
+            "    {{ tagTrans(key, value) }}: {{ tagTransList('religion', tags.religion) }}",
+            "  {% endif %}",
+            "{% else %}",
+            "  {{ tagTrans(key, value) }}{% if tags.religion %}: {{ tagTransList('religion', tags.religion) }}{% endif %}",
+            "{% endif %}"
+        ],
         "popupDescription": "{{ tagTrans(key, value) }}",
         "body": [
+            "{% if tags.building %}",
+            "  {{ keyTrans('building') }}: {{ tagTrans('building', tags.building) }}<br/>",
+            "{% endif %}",
             "{% if tags.religion %}",
-            "  {{ keyTrans('religion') }}: {{ tagTransList('religion', tags.religion) }}",
+            "  {{ keyTrans('religion') }}: {{ tagTransList('religion', tags.religion) }}<br/>",
             "{% endif %}",
             "{% if tags.denomination %}",
-            "  <br/>",
-            "  {{ keyTrans('denomination') }}: {{ tagTransList('denomination', tags.denomination) }}",
+            "  {{ keyTrans('denomination') }}: {{ tagTransList('denomination', tags.denomination) }}<br/>",
             "{% endif %}"
         ],
         "markerSign": [
diff --git a/residential.json b/residential.json
index 6cd2fcc..23278be 100644
--- a/residential.json
+++ b/residential.json
@@ -12,6 +12,7 @@
         "it": "Aree residenziali",
         "ja": "住居エリア",
         "nl": "Woongebieden",
+        "pt-br": "Áreas Residenciais",
         "ro": "Zona rezidentiala",
         "ru": "Жилые районы",
         "uk": "Житлова зона"
diff --git a/resources.json b/resources.json
index 2c2a243..cf2f4e4 100644
--- a/resources.json
+++ b/resources.json
@@ -8,6 +8,7 @@
         "fr": "Extraction des ressources",
         "it": "Areee estrattive",
         "nl": "Grondstoffenwinning",
+        "pt-br": "Extração de Recursos",
         "ru": "Добыча ресурсов"
     },
     "query": {
diff --git a/shop.json b/shop.json
index e4a0048..b99c127 100644
--- a/shop.json
+++ b/shop.json
@@ -7,12 +7,13 @@
         "el": "Αγορές",
         "en": "Shopping",
         "et": "Ostmine",
-        "fr": "Magasinage/Shopping",
+        "fr": "Magasins/Boutiques",
         "hu": "Vásárlás",
         "it": "Acquisti",
         "ja": "ショッピング",
         "nl": "Winkelen",
         "pl": "Zakupy",
+        "pt-br": "Compras",
         "ro": "Cumpărături",
         "ru": "Покупки",
         "uk": "Торгівля"
diff --git a/sport.json b/sport.json
index 4a94d8c..50ee5b0 100644
--- a/sport.json
+++ b/sport.json
@@ -6,16 +6,17 @@
         "de": "Sport",
         "el": "Άθληση",
         "en": "Sport",
-        "fr": "Autres sports",
+        "fr": "Sports",
         "hu": "Sport",
         "it": "Sport",
         "ja": "スポーツ",
         "nl": "Sport",
+        "pt-br": "Esportes",
         "ru": "Спорт",
         "uk": "Спорт. Інше."
     },
     "query": {
-        "14": "(node[sport];way[sport];relation[sport])"
+        "14": "(node[sport];way[sport];relation[sport];)"
     },
     "feature": {
         "title": "{{ localizedTag(tags, 'name') |default(localizedTag(tags, 'operator')) |default(tagTransList('sport', tags.sport)) }}",
diff --git a/tourism_attractions.json b/tourism_attractions.json
index e262f80..0df04af 100644
--- a/tourism_attractions.json
+++ b/tourism_attractions.json
@@ -13,6 +13,7 @@
         "ja": "観光",
         "nl": "Toerisme",
         "pl": "Turystyka",
+        "pt-br": "Turismo",
         "ro": "Turism",
         "ru": "Туризм",
         "uk": "Туризм"
@@ -22,7 +23,7 @@
             "(",
             "node[tourism][tourism!~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"];",
             "way[tourism][tourism!~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"];",
-            "relation[tourism][tourism!~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"]",
+            "relation[tourism][tourism!~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"];",
             ")"
         ]
     },
diff --git a/tourism_services.json b/tourism_services.json
index 05366e6..910dbb8 100644
--- a/tourism_services.json
+++ b/tourism_services.json
@@ -7,12 +7,13 @@
         "el": "Τουρισμός",
         "en": "Tourism",
         "et": "Turism",
-        "fr": "Services touristiques",
+        "fr": "Tourisme",
         "hu": "Túrizmus",
         "it": "Turismo",
         "ja": "観光",
         "nl": "Toerisme",
         "pl": "Turystyka",
+        "pt-br": "Turismo",
         "ro": "Turism",
         "ru": "Туризм",
         "uk": "Туризм"
@@ -22,14 +23,14 @@
             "(",
             "node[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|motel|wilderness_hut)$\"];",
             "way[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|motel|wilderness_hut)$\"];",
-            "relation[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|motel|wilderness_hut)$\"]",
+            "relation[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|motel|wilderness_hut)$\"];",
             ")"
         ],
         "16": [
             "(",
             "node[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"];",
             "way[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"];",
-            "relation[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"]",
+            "relation[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"];",
             ")"
         ]
     },
@@ -95,4 +96,4 @@
             "zoom": 16
         }
     }
-}
+}
\ No newline at end of file
diff --git a/walk_amenities.json b/walk_amenities.json
index e1c8f94..6aeba52 100644
--- a/walk_amenities.json
+++ b/walk_amenities.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Einrichtungen",
         "en": "Amenities",
-        "fr": "Équipements piétons"
+        "fr": "Équipements piétons",
+        "pt-br": "Equipamentos"
     },
     "query": {
         "13": [
diff --git a/waste.json b/waste.json
index e7dc3ca..00fd5d7 100644
--- a/waste.json
+++ b/waste.json
@@ -5,10 +5,11 @@
         "cs": "Nakládání s odpady",
         "de": "Entsorgung",
         "en": "Disposal",
-        "fr": "Rebuts",
+        "fr": "Déchets/Recyclage",
         "it": "Smaltimento",
         "ja": "処理場",
         "nl": "Afvalverwijdering",
+        "pt-br": "Lixo",
         "ru": "Переработка отходов"
     },
     "query": {
diff --git a/water.json b/water.json
index 4f84476..a601e01 100644
--- a/water.json
+++ b/water.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Gewässer",
         "en": "Waterbodies",
-        "fr": "Hydrographie"
+        "fr": "Hydrographie",
+        "pt-br": "Hidrografia"
     },
     "query": {
         "10": [
diff --git a/wikipedia.json b/wikipedia.json
index 2c937d6..a3babd5 100644
--- a/wikipedia.json
+++ b/wikipedia.json
@@ -3,7 +3,8 @@
     "name": {
         "de": "Wikipedia",
         "en": "Wikipedia",
-        "fr": "Wikipédia"
+        "fr": "Wikipédia",
+        "pt-br": "Wikipédia"
     },
     "query": {
         "14": [
diff --git a/works.json b/works.json
index 4c4b78f..9906f29 100644
--- a/works.json
+++ b/works.json
@@ -9,6 +9,7 @@
         "it": "Fabbriche",
         "ja": "工場",
         "nl": "Fabrieken",
+        "pt-br": "Fábricas",
         "ru": "Промышленность"
     },
     "query": {