InfiniTimeOrg / InfiniTime

Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
GNU General Public License v3.0
2.64k stars 904 forks source link

initial i18n support for notification #1773

Open Boteium opened 1 year ago

Boteium commented 1 year ago

I decide to write a PoC for notification i18n support https://github.com/InfiniTimeOrg/InfiniTime/issues/1473 This requires https://github.com/InfiniTimeOrg/lvgl/pull/3

This will enable people to start working on i18n support for their own languages. The design uses external flash so that people can flash the language pack of their choice. To reduce memory footprint, only the very basic glyph should be added, which means the example provided here (latin.json) should further be split to Spanish, French, Sweden ... etc

We should also limit the file size of this font to prevent people from building a huge font that will crash and brick their watches. So, It is not possible to add support for Chinese or Japanese using this method.

InfiniSim_2023-06-18_180701

.

github-actions[bot] commented 1 year ago

Build checks have not completed. Possible reasons for this are:

  1. The checks need to be approved by a maintainer
  2. The branch has conflicts
  3. The firmware build has failed
everypizza1 commented 10 months ago

Can we also have this on the music screen? A lot of my playlists are Japanese music.

Boteium commented 10 months ago

Can we also have this on the music screen? A lot of my playlists are Japanese music.

Well, It depends,

Yes, we can make this method system wide. But no, Japanese contains too many glyphs, which won't fit in the memory.

However, limited support is possible. (e.g. only includes hiragana and katakana)

everypizza1 commented 10 months ago

Can we at least romanize it?

On Sat, Aug 12, 2023, 9:51 AM SuIông N. @.***> wrote:

Can we also have this on the music screen? A lot of my playlists are Japanese music.

Well, It depends,

Yes, we can make this method system wide. But no, Japanese contains too many glyphs, which won't fit in the memory.

However, limited support is possible. (e.g. only includes hiragana and katakana)

— Reply to this email directly, view it on GitHub https://github.com/InfiniTimeOrg/InfiniTime/pull/1773#issuecomment-1675948178, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATXE5QKICJME4NNDNARRAVTXU6KA7ANCNFSM6AAAAAAZKZKA3Y . You are receiving this because you commented.Message ID: @.***>

FintasticMan commented 10 months ago

We can't romanize it on-device, that would require a lot of logic we don't want to implement, but the companion app would be able to.

ThatOneCalculator commented 6 months ago

I think hiragana and katakana support would be better than nothing

minimaxwell commented 3 months ago

I've been testing this for a while, this looks like a good step towards proper i18n support. I've been using the latin pack, without it, notifications in french are barely readable. Thanks for that PR, hopefully this can be merge at some point :)