slipx06 / sunsynk-power-flow-card

⚡A customizable Home Assistant card to emulate the Sunsynk System flow that's displayed on the Inverter screen.
MIT License
195 stars 55 forks source link

Support for translation into Ukrainian #535

Open lightzhuk opened 4 hours ago

lightzhuk commented 4 hours ago

Is there an existing issue for this?

Current Behavior

The language of the system is Ukrainian, the text of the map is in English

Expected behaviour

Automatic translation into the selected system language

Possible Solutions

No response

Mode

Both

Context / Reason

Maybe I can help with the translation? but I'm not good at code

slipx06 commented 2 hours ago

Hi. Can you assist with translating the text below. You can see examples here src/localize/languages

{
  "common": {
    "description": "A Home Assistant card to emulate the Sunsynk power flow that's shown on the Inverter screen",
    "version": "Version",
    "runtime_to": "RUNTIME TO",
    "battery_floating": "BATTERY FLOATING",
    "charge": "CHARGE",
    "to": "TO",
    "daily_load": "DAILY LOAD",
    "daily_aux": "DAILY AUX",
    "daily_grid_buy": "DAILY GRID BUY",
    "daily_grid_sell": "DAILY GRID SELL",
    "daily_solar": "DAILY SOLAR",
    "daily_solar_left": "DAILY SOLAR / LEFT TODAY",
    "total_solar_generation": "DAILY SOLAR / TOTAL SOLAR",
    "daily_charge": "DAILY CHARGE",
    "daily_discharge": "DAILY DISCHARGE",
    "ratio": "Ratio",
    "timer_off": "Timer off",
    "timer_on": "Timer on",
    "priority_batt": "Priority Batt",
    "priority_load": "Priority Load",
    "nonessential_name": "Non Essential",
    "aux_name": "Auxiliary",
    "pv1_name": "PV1",
    "pv2_name": "PV2",
    "pv3_name": "PV3",
    "pv4_name": "PV4",
    "essential": "Essential",
    "autarky": "Autarky",
    "discharging": "Discharging",
    "charging": "Charging",
    "waiting": "Waiting",
    "standby": "Standby",
    "no_battery": "No Battery",
    "selftest": "Selftest",
    "normal": "Normal",
    "alarm": "Alarm",
    "fault": "Fault",
    "days": "days",
    "hrs": "hrs",
    "min": "min",
    "flash": "Flash",
    "check": "Check",
    "idle": "Idle",
    "exporting": "Export",
    "importing": "Import",
    "ongrid": "On-Grid",
    "offgrid": "Off-Grid",
    "normalstop": " Normal Stop",
    "shutdown": "Shutdown",
    "offline": "Offline",
    "running": "Running",
    "sleepmode": "Sleep Mode",
    "grid_name": "Grid",
    "limit": "Limit",
    "off": "Off",
    "lowpower": "Low Power",
    "bulk": "Bulk",
    "absorption": "Absorption",
    "float": "Float",
    "storage": "Storage",
    "equalize": "Equalize",
    "passthru": "Passthru",
    "inverting": "Inverting",
    "powerassist": "Power Assist",
    "powersupply": "Power Supply",
    "sustain": "Sustain",
    "externalcontrol": "External Control"
  },
  "errors": {
    "battery": {
      "bat": "No battery attributes defined",
      "energy": "Please include the battery energy attribute and value in Wh e.g. 5.32 Battery energy: 5320",
      "shutdown_soc": "Please include the battery shutdown_soc attribute and value e.g shutdown_soc: 20",
      "full_capacity": "Full capacity needs to be between 80 and 100",
      "empty_capacity": "Empty capacity needs to be <= 40",
      "show_daily": "Please include the day_battery_charge_70 and day_battery_discharge_71 attributes and entity IDs"
    },
    "solar": {
      "sol": "No solar attributes defined",
      "mppts": "Please include the solar mppts attribute and value; 1,2,3 or 4 e.g. mppts: 2",
      "show_daily": "Please include the day_pv_energy_108 attribute and entity ID"
    },
    "grid": {
      "show_daily": "Please include the day_grid_import_76 and day_grid_export_77 attributes and entity IDs"
    },
    "essential_power": "The essential_power attribute is set to none. Please include the inverter_power_175 attribute and entity ID in order for the card to calculate this value.",
    "nonessential_power": "The nonessential_power attribute is set to none. Please include the grid_power_169 attribute and entity ID in order for the card to calculate this value.",
    "missing_entity": "`Please include the attribute and entity ID"
  },
  "config": {
    "title": "Title",
    "title_colour": "Title Colour",
    "title_size": "Title Size (px)",
    "card_height": "Card Height (px)",
    "card_width": "Card Width (px)",
    "decimal_places": "Decimal Places",
    "decimal_places_energy": "Decimal Places (Daily Energy)",
    "model": "Model",
    "autarky": "Autarky",
    "cardstyle": "Card Style",
    "large_font": "Large Font",
    "modern": "Modern",
    "show_solar": "Show Solar",
    "show_battery": "Show Battery",
    "show_grid": "Show Grid",
    "show_aux": "Show Aux",
    "dynamic_line_width": "Dynamic Line Width",
    "max_line_width": "Max Line Width",
    "min_line_width": "Min Line Width",
    "solar": "Solar",
    "mppts": "MPPTs",
    "show_daily": "Show Daily",
    "show_daily_aux": "Show Daily Aux",
    "animation_speed": "Anim. Speed",
    "max_power": "Max Power",
    "pv1_max_power": "PV1 Max Power",
    "pv2_max_power": "PV2 Max Power",
    "pv3_max_power": "PV3 Max Power",
    "pv4_max_power": "PV4 Max Power",
    "pv1_name": "PV1 Name",
    "pv2_name": "PV2 Name",
    "pv3_name": "PV3 Name",
    "pv4_name": "PV4 Name",
    "display_mode": "Display Mode",
    "efficiency": "Efficiency Mode",
    "battery": "Battery",
    "load1_name": "Load 1 Name",
    "load2_name": "Load 2 Name",
    "load3_name": "Load 3 Name",
    "load4_name": "Load 4 Name",
    "load1_icon": "Load 1 Icon",
    "load2_icon": "Load 2 Icon",
    "load3_icon": "Load 3 Icon",
    "load4_icon": "Load 4 Icon",
    "aux_load1_name": "Aux Load 1 Name",
    "aux_load2_name": "Aux Load 2 Name",
    "aux_load1_icon": "Aux Load 1 Icon",
    "aux_load2_icon": "Aux Load 2 Icon",
    "aux_dynamic_colour": "Aux Dynamic Colour",
    "off_threshold": "Off Threshold",
    "show_daily_buy": "Show Daily Buy",
    "show_daily_sell": "Show Daily Sell",
    "no_grid_colour": "No Grid Colour",
    "grid_off_colour": "Grid Off Colour",
    "grid_name": "Grid Name",
    "colour": "Colour",
    "charge_colour": "Charge Colour",
    "linear_gradient": "Linear Gradient",
    "animate": "Animate Linear Gradient",
    "aux_colour": "Colour",
    "aux_off_colour": "Off Colour",
    "panel_mode": "Panel Mode",
    "invert_grid": "Invert Values",
    "invert_load": "Invert Values",
    "shutdown_soc": "Shutdown SOC",
    "shutdown_soc_offgrid": "Shutdown SOC (Off Grid)",
    "soc_end_of_charge": "SOC End of Charge",
    "navigate": "Navigation Path",
    "energy": "Energy",
    "auto_scale": "Auto Scale",
    "three_phase": "Three Phase",
    "dynamic_colour": "Dynamic Colour",
    "dynamic_icon": "Dynamic Icon",
    "invert_power": "Invert Power",
    "show_absolute": "Show Absolute",
    "hide_soc": "Hide SOC",
    "invert_aux": "Invert Aux",
    "show_absolute_aux": "Show Absolute",
    "show_nonessential": "Show Non Essential",
    "aux_name": "Aux Name",
    "aux_daily_name": "Daily Aux Name",
    "aux_type": "Aux Icon",
    "aux_loads": "Aux Loads",
    "essential_name": "Essential Name",
    "additional_loads": "Additional Loads",
    "export_colour": "Export Colour",
    "nonessential_name": "Non Essential Name",
    "nonessential_icon": "Non Essential Icon",
    "energy_cost_decimals": "Energy Cost Decimals",
    "show_remaining_energy": "Show Remaining Energy",
    "path_threshold": "Path Threshold",
    "label_daily_grid_buy": "Daily Grid Buy Label",
    "label_daily_grid_sell": "Daily Grid Sell Label",
    "invert_flow": "Invert Flow",
    "label_daily_load": "Daily Load Label",
    "cat_title": {
      "title": "Title Options",
      "general": "General Options",
      "inverter": "Inverter Options",
      "solar": "Solar Options",
      "battery": "Battery Options",
      "grid": "Grid Options",
      "load": "Load Options",
      "entities": "Entities",
      "aux": "Aux Options",
      "energy": "Energy Entities",
      "bat": "Battery Entities",
      "sol": "Solar Entities",
      "inv": "Inverter Entities",
      "ld": "Load Entities",
      "gri": "Grid Entities",
      "sensor": "Optional Sensors"
    }
  }
}
lightzhuk commented 2 hours ago

I will be happy to do so in the near future