InfiniTimeOrg / InfiniTime

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

Umlauts (UTF-8) in notifications #212

Open stephanlachnit opened 3 years ago

stephanlachnit commented 3 years ago

Currently Umlauts (ä, ö, ü) don't seem to work the notifications. I guess this is true for not just Umlauts, but other letters as well (ß, å, etc). Would be good especially for European users.

JF002 commented 3 years ago

For now, only the character a-z, A-Z and 1-9 are included in the font. Other characters like é, è, ê, ä, ö, ü,... are not included, but can be included easily, which will make notification easier to read :)

moriel5 commented 3 years ago

As I had pointed out in issue #461, in my country we use an RTL language, and unfortunately, we use a completely different script, with many not understanding English, so transliteration is not a real option in my country.

This would mean that we will need lightweight fonts, in addition to possible solutions (like loading from external storage).

tootbrute commented 2 years ago

We need more language support. I just tried using Pinetime in Taiwan. It has no support for Chinese characters.

If the message is English the message comes through. If the message is all Chinese with no English the notification is sent, but it is 100% empty.

Wife loves the Pinetime, but this one major issue is a major issue for non-English speakers.

mackay508 commented 2 years ago

IMG_20220304_165006_1

Would be very useful to have more character support, quite often have to ignore notifications as the á è etc style accents aren't displayed.

Avamander commented 2 years ago

I will rephrase here the reply I wrote under a PR that intended on extending the symbol range.

Including more and more characters using the current method is not sustainable. There are many languages that should be included but building them into the firmware consumes space much better spent elsewhere. PRs extending the symbol range without using the external filesystem not be merged in the current state.

I think it's very clear that this feature is in high demand and there's not much need for further advocacy, so leave a thumbs up instead. If someone does start implementing it and wants to discuss that, then that's of course fine.

ptman commented 2 years ago

Support for larger loadable fonts would be great. But in the meantime, where could we apply translations? ä => ae, ö = >oe, å => aa, ü => ue, ...

Avamander commented 2 years ago

@ptman if you're using Gadgetbridge, there's an option for transliteration in the settings.

PhilDevProg commented 2 years ago

@ptman if you're using Gadgetbridge, there's an option for transliteration in the settings.

Yeah but German doesn't work correct. "ä" ist going to be "a" instead of "ae". The same with other umlauts. This is a known bug of Gadgetbridge.

ThatOneCalculator commented 2 years ago

This happens with emojis, but in somewhat of a strange way. One emoji (🎶) gets rendered as :notes: which is fine, but 🤩😘 gets shown as ;-*. For context, this notification is for SMS.

IMG_20220414_123823__01.jpg

Screenshot_20220414-123834.jpg

aha999 commented 2 years ago

I also have this issue when reading messages. It would be nice if Transliteration was enabled by default or if the app detects your location and turns it on accordingly. In Slovenia, we don't get letters in pinetime notifications like Š, Č, Ž, so UTF-8 support would be great. Also, emojis get displayed like weird letters.

moriel5 commented 2 years ago

Hmm... Now that we have support for resources on the external flash, could that be used for adding additional languages without flashing forks of the main firmware?

Boteium commented 1 year ago

@tootbrute I've just created a traditional Chinese fork. If you're still interested in PineTime, please visit https://github.com/Boteium/InfiniTime

tootbrute commented 1 year ago

@tootbrute I've just created a traditional Chinese fork. If you're still interested in PineTime, please visit https://github.com/Boteium/InfiniTime

omg yes. my wife can stop bothering me then. I assume that fonts will come to the main fork....eventually. I assume that European languages will be prioritized though.

I'll check out your fork. Thank you!

jmlich commented 1 year ago

I can see that the international characters support is limited by amount of device memory. What about adding conditional compiling and build special image for language group. For example -DENABLE_UKRAINIAN=1 -DENABLE_POLISH=1 -DENABLE_CHINESE ?

tootbrute commented 10 months ago

@tootbrute I've just created a traditional Chinese fork. If you're still interested in PineTime, please visit https://github.com/Boteium/InfiniTime

@Boteium can you update to the latest version of infinitime? i would be willing to pay you directly or donate to an open-source project like this one, Infintime? it doesn't look like languages are coming very quickly to infintime.

Boteium commented 10 months ago

@tootbrute I'll find time to do it after the new year eve.

I do have a latest personal build so it shouldn't be difficult. The reason I didn't release it was that I've since make several breaking changes primarily to make more room, including removing even more apps and bma423 driver since my pinetime has bma425, and codepoint hack which would display nothing in Chinese unless a special version of gadget bridge is installed. So, I do not think this version is appropriate for release but I'll make one for you in about two weeks. Btw, your unit also has bma425 i presume ?

Boteium commented 10 months ago

Because this thread is still getting new activities, I would like to promote my pull requests. I believe theses two are sufficient for supporting most languages. https://github.com/InfiniTimeOrg/lvgl/pull/3 https://github.com/InfiniTimeOrg/InfiniTime/pull/1773 Please give it a thumb up or leave a comment if you're interested.

tootbrute commented 10 months ago

@tootbrute I'll find time to do it after the new year eve. your unit also has bma425 i presume ?

not sure. how to check?

i see they changed in 2021? https://www.ncartron.org/infinitime-blue-purple-elderberry---stability-amp-metronome-app.html

i think my pinetime is only about 1.5 years old, so should be the new one.

FintasticMan commented 10 months ago

On the About page, in the Accel. field, it says what accelerometer you have.

tootbrute commented 10 months ago

On the About page, in the Accel. field, it says what accelerometer you have.

Thank you. Sadly mine just tells me ???. Maybe that's why my step count doesn't work anymore. Hmm...seems i need to investigate this.

image

FintasticMan commented 10 months ago

Unfortunately, that's likely to be caused by a hardware issue like the accelerometer being broken :-(... You can try running the battery down completely, sometimes that can help.

ThatOneCalculator commented 10 months ago

Unfortunately, that's likely to be caused by a hardware issue like the accelerometer being broken :-(... You can try running the battery down completely, sometimes that can help.

I have the same issue (happened after an update several months ago), and tried that, but it never ended up working again.