From 482fe16e7595af07614cf8e0b813317d633a6c8a Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Tue, 19 Dec 2023 16:19:37 +0100 Subject: [PATCH] Add `meridiem` to translations Solves #1359 --- advanced/esphome/nspanel_esphome_core.yaml | 8 +- nspanel_blueprint.yaml | 94 +++++++++++++++++++++- 2 files changed, 98 insertions(+), 4 deletions(-) diff --git a/advanced/esphome/nspanel_esphome_core.yaml b/advanced/esphome/nspanel_esphome_core.yaml index 09ab4f5..bde9c75 100644 --- a/advanced/esphome/nspanel_esphome_core.yaml +++ b/advanced/esphome/nspanel_esphome_core.yaml @@ -489,6 +489,7 @@ api: date_color: int time_format: string time_color: int + meridiem: string[] chip_font_size: int notification_icon: string notification_icon_color_normal: int[] @@ -506,6 +507,7 @@ api: // Localization ESP_LOGV(TAG, "Load localization"); id(mui_time_format) = time_format; + id(mui_meridiem) = meridiem; // Date/Time colors ESP_LOGV(TAG, "Load date/time colors"); @@ -795,6 +797,10 @@ globals: type: uint restore_value: true initial_value: '65535' + - id: mui_meridiem + type: std::vector + restore_value: false + initial_value: '{"AM", "PM"}' ##### Chips ##### - id: home_chip_font_size @@ -2218,7 +2224,7 @@ script: std::string time_format_str = id(mui_time_format); if (time_format_str.find("%p") != std::string::npos) { - std::string meridiem_text = id(time_provider).now().strftime("%p"); + std::string meridiem_text = (id(time_provider).now().hour<12) ? id(mui_meridiem)[0] : id(mui_meridiem)[1]; disp1->set_component_text_printf("home.meridiem", "%s", meridiem_text.c_str()); } else { disp1->set_component_text_printf("home.meridiem", " "); } diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 7668526..ea3ff97 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -4116,6 +4116,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM cs: # Czech weekdays: mon: Pondělí @@ -4187,6 +4190,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM da: # Danish weekdays: mon: Mandag @@ -4258,6 +4264,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM de: # German weekdays: mon: Montag @@ -4329,6 +4338,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM el: # Greek weekdays: mon: Δευτέρα @@ -4400,6 +4412,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM en: # English weekdays: mon: Monday @@ -4471,6 +4486,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM es: # Spanish weekdays: mon: Lunes @@ -4542,6 +4560,9 @@ variables: bright: Brillante dimming: Atenuación dim: Oscuro + meridiem: + am: AM + pm: PM et: # Estonian weekdays: mon: Esmaspäev @@ -4613,6 +4634,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM fi: # Finnish weekdays: mon: maanantai @@ -4684,6 +4708,9 @@ variables: bright: Kirkas dimming: Himmennys dim: Himmeä + meridiem: + am: AM + pm: PM fr: # French weekdays: mon: Lundi @@ -4755,6 +4782,9 @@ variables: bright: Clair dimming: Atténuation dim: Sombre + meridiem: + am: AM + pm: PM he: # Hebrew weekdays: mon: ינש @@ -4826,6 +4856,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM hr: # Croatian weekdays: mon: Ponedjeljak @@ -4897,6 +4930,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM hu: # Hungarian weekdays: mon: Hétfő @@ -4968,6 +5004,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM id: # Indonesian weekdays: mon: Senin @@ -5039,6 +5078,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM it: # Italian weekdays: mon: Lunedì @@ -5110,6 +5152,9 @@ variables: bright: Modalità Luminosa dimming: Regolazione dim: Reg. + meridiem: + am: AM + pm: PM lt: # Lithuanian weekdays: mon: Pirmadienis @@ -5181,6 +5226,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM lv: # Latvian weekdays: mon: Pirmdiena @@ -5252,6 +5300,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM nb: # Norwegian weekdays: mon: Mandag @@ -5323,6 +5374,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM nl: # Dutch weekdays: mon: Maandag @@ -5394,6 +5448,9 @@ variables: bright: Helder dimming: Dimmen dim: Gedimd + meridiem: + am: AM + pm: PM pl: # Polish weekdays: mon: Poniedziałek @@ -5465,6 +5522,9 @@ variables: bright: Jasny dimming: Ściemnianie dim: Ciemny + meridiem: + am: AM + pm: PM pt: # Portuguese weekdays: mon: Segunda-feira @@ -5536,6 +5596,9 @@ variables: bright: Claro dimming: Escurecer dim: Escuro + meridiem: + am: AM + pm: PM ro: # Romanian weekdays: mon: Luni @@ -5607,6 +5670,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM ru: # Russian weekdays: mon: Понедельник @@ -5678,6 +5744,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM sk: # Slovak weekdays: mon: Pondelok @@ -5749,6 +5818,9 @@ variables: bright: Zosvetlenie dimming: Stmavenie dim: Stmavenie + meridiem: + am: AM + pm: PM sl: # Slovenian weekdays: mon: Ponedeljek @@ -5820,6 +5892,9 @@ variables: bright: Svetlo dimming: Zatemnitev dim: Temno + meridiem: + am: AM + pm: PM sv: # Swedish weekdays: mon: Måndag @@ -5891,6 +5966,9 @@ variables: bright: Ljust dimming: Dimmning dim: Dimma + meridiem: + am: AM + pm: PM tr: # Turkish weekdays: mon: Pazartesi @@ -5962,6 +6040,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM uk: # Ukrainian weekdays: mon: Понеділок @@ -6033,6 +6114,9 @@ variables: bright: Bright dimming: Dimming dim: Dim + meridiem: + am: AM + pm: PM zh-tw: # T.Chinese weekdays: mon: 星期一 @@ -6104,6 +6188,9 @@ variables: bright: 亮度 dimming: 調光 dim: 調光 + meridiem: + am: AM + pm: PM ##### WEATHER #### weather_entity_tmp: !input 'weather_entity' # used only during the creation of weather in variables @@ -7130,6 +7217,7 @@ action: if is_number(display.time.color_rgb) else ((display.time.color_rgb[0] //(2**3)) *(2**11))+((display.time.color_rgb[1] //(2**2)) *(2**5))+(display.time.color_rgb[2] //(2**3)) }} + meridiem: '{{ dict.values(mui[language].meridiem) | list }}' chip_font_size: '{{ chip_font_size }}' notification_icon: > {{ @@ -7721,7 +7809,7 @@ action: continue_on_error: true ### Show value ### - variables: - repeat_item_state: '{{ states(entity.entity_id, rounded=true) | default("unavailable") }}' + repeat_item_state: '{{ states(entity.id, rounded=true) | default("unavailable") }}' ### LABEL Font Color ### - *delay-default - service: '{{ nextion.command.set_component_color }}' @@ -8522,7 +8610,7 @@ action: supported_features: '{{ entity.supported_features }}' code_format: '{{ entity.code_format if entity.code_format else "none" }}' code_arm_required: '{{ entity.code_arm_required if entity.code_arm_required else false }}' - entity: '{{ entity.entity_id }}' + entity: '{{ entity.id }}' mui_alarm: '{{ dict.values(mui[language].alarm) | list }}' continue_on_error: true @@ -8949,7 +9037,7 @@ action: frendly_name: '{{ repeat.item.name }}' - *variable_entity - variables: - repeat_item_state: '{{ states(entity.entity_id, rounded=true) if entity.state_is_number else entity.state_mui }}' + repeat_item_state: '{{ states(entity.id, rounded=true) if entity.state_is_number else entity.state_mui }}' repeat_item_icon: > {% if repeat.item.icon is string and repeat.item.icon | length > 0 %} {{