"858 tavut" tai "34,190 Kit", miten korjattava?
- 
Moi, avasin taannoin Wiresharkille keikan, kun mittayksiköt näkyy statistiikoissa hassusti, esim. 858 tavua näkyy muodossa "858 tavut" ja reilut 34 kilotavua näkyy muodossa "34,190 Kit", ja sanoivat sieltä, että nuo tulee Qt:stä. Onko tiedossa jotain tapaa, jolla Qt-käyttäjä pystyy tuohon vaikuttamaan, että tulostus olisi suomen kielen mukaista? Koodi: https://gitlab.com/wireshark/wireshark/-/blob/master/ui/qt/models/atap_data_model.cpp#L35 static QString formatString(qlonglong value) { return QLocale::system().formattedDataSize(value, QLocale::DataSizeSIFormat); }Henkilökohtaisesti mittayksikkö "Kit" (kilotavua) ei ole kyllä tullut yli 30 vuoden aikana vastaan yhtään missään aiemmin... Markku 
- 
Moi, avasin taannoin Wiresharkille keikan, kun mittayksiköt näkyy statistiikoissa hassusti, esim. 858 tavua näkyy muodossa "858 tavut" ja reilut 34 kilotavua näkyy muodossa "34,190 Kit", ja sanoivat sieltä, että nuo tulee Qt:stä. Onko tiedossa jotain tapaa, jolla Qt-käyttäjä pystyy tuohon vaikuttamaan, että tulostus olisi suomen kielen mukaista? Koodi: https://gitlab.com/wireshark/wireshark/-/blob/master/ui/qt/models/atap_data_model.cpp#L35 static QString formatString(qlonglong value) { return QLocale::system().formattedDataSize(value, QLocale::DataSizeSIFormat); }Henkilökohtaisesti mittayksikkö "Kit" (kilotavua) ei ole kyllä tullut yli 30 vuoden aikana vastaan yhtään missään aiemmin... Markku Dokumentaatiokaan ei nyt täsmää: https://doc.qt.io/qt-6/qlocale.html#formattedDataSize DataSizeIecFormat uses the new IEC standard quantifiers Ki, Mi and so on, whereas DataSizeSIFormat uses the older SI quantifiers k, M, etc. mutta tuossa esimerkissä on QLocale::DataSizeSIFormatja silti tulee "Ki" eikä "k"Update: Jahas, tuolla koodissa on käytetty parametrejä väärin: kakkosparametrin pitäisi olla precisioneikäformat(mutta tämä ei vaikuta alkuperäiseen kysymykseen "858 tavut" osalta)Markku 
- 
CLDR (Unicode Common Locale Data Repository), jota Qt nähtävästi käyttää, sanoo ( common/main/fi.xml):<unit type="digital-byte"> <displayName>tavut</displayName> <unitPattern count="one">{0} tavu</unitPattern> <unitPattern count="one" case="elative">{0} tavusta</unitPattern> <unitPattern count="one" case="genitive">{0} tavun</unitPattern> <unitPattern count="one" case="illative">{0} tavuun</unitPattern> <unitPattern count="one" case="partitive">{0} tavua</unitPattern> <unitPattern count="other">{0} tavua</unitPattern> <unitPattern count="other" case="elative">{0} tavusta</unitPattern> <unitPattern count="other" case="genitive">{0} tavun</unitPattern> <unitPattern count="other" case="illative">{0} tavuun</unitPattern> <unitPattern count="other" case="partitive">{0} tavua</unitPattern> </unit>eli Qt:llä on dataa, mutta sitä ei osata käyttää. qtbase/util/locale_database/ldml.pyyrittää ilmeisesti tehdä hakuja, mutta tekee puutteellisesti, koskaunits/unitLength[long]/unit[digital-byte]/unitPattern[count=other]ei koskaan haeta (vainshortjanarrowhaetaan, eilong).Markku 
