Replies: 5 comments
-
@MichaelDvP what do you think? |
Beta Was this translation helpful? Give feedback.
-
As far as i understand this means to provide customization files to upload ,where the custom name is the translated entitiy. |
Beta Was this translation helpful? Give feedback.
-
I am using now since some days the different partioning by Michael. I just believed that it is better to invest the limited memory (and your work as well) in additional functions, rather then in more and more languages. Best solution would be if the actual language could be loaded once defined in the settings and the language files could be prepared by everybody himself and/or downloaded from Github. In ram you should have only one language. |
Beta Was this translation helpful? Give feedback.
-
that's exactly the challenge. I'm not sure it's possible to write to Flash memory dynamically from the running code. I was hoping there was a work-around but if not there's no point as it'll blow up the RAM. |
Beta Was this translation helpful? Give feedback.
-
You can read/write to partitons https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/partition.html or direct to flash https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/spi_flash/index.html
In both cases adding a new string have to be done at end of list, not thematical sorted, difficult to handle. Otherwise updating software and using an old language file ends in chaos. If you prepare the index external you can keep the list sorted and only keep the index compatible with new entries at the end. |
Beta Was this translation helpful? Give feedback.
-
up to 3.6.0 all the device entity names for the ~8 languages are hardcoded into Flash. And we're running short on available Flash on a 4MB ESP32 board (like a BBQKees gateway S32 or E32).
What @tp1de suggested is to have all the language packs as separate files and you can choose which one to load via the Customizations page. The file would be persisted in the filesystem and added to DROM when the entity is registered (if possible!). This would save 70K in Flash and enables us to switch to the latest espressif 6.1.0/IDF 5.x and add more web features.
Beta Was this translation helpful? Give feedback.
All reactions