50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python
 | |
| import sys
 | |
| from pathlib import Path
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     sys.path.insert(0, str(Path(__file__).parent.parent))
 | |
| 
 | |
| from custom_components.hon.binary_sensor import BINARY_SENSORS
 | |
| from custom_components.hon.button import BUTTONS
 | |
| from custom_components.hon.climate import CLIMATES
 | |
| from custom_components.hon.fan import FANS
 | |
| from custom_components.hon.light import LIGHTS
 | |
| from custom_components.hon.lock import LOCKS
 | |
| from custom_components.hon.number import NUMBERS
 | |
| from custom_components.hon.select import SELECTS
 | |
| from custom_components.hon.sensor import SENSORS
 | |
| from custom_components.hon.switch import SWITCHES
 | |
| 
 | |
| entities = {
 | |
|     "binary_sensor": BINARY_SENSORS,
 | |
|     "button": BUTTONS,
 | |
|     "climate": CLIMATES,
 | |
|     "fan": FANS,
 | |
|     "light": LIGHTS,
 | |
|     "lock": LOCKS,
 | |
|     "number": NUMBERS,
 | |
|     "select": SELECTS,
 | |
|     "sensor": SENSORS,
 | |
|     "switch": SWITCHES,
 | |
| }
 | |
| 
 | |
| 
 | |
| def get_missing_translation_keys():
 | |
|     result = {}
 | |
|     for entity_type, appliances in entities.items():
 | |
|         for appliance, data in appliances.items():
 | |
|             for entity in data:
 | |
|                 if entity.translation_key:
 | |
|                     continue
 | |
|                 key = f"{entity_type}.{entity.key}"
 | |
|                 result.setdefault(appliance, []).append(key)
 | |
|     return result
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     for appliance, data in sorted(get_missing_translation_keys().items()):
 | |
|         for key in data:
 | |
|             print(f"WARNING - {appliance} - Missing translation key for {key}")
 |