BoboTiG / ebook-reader-dict

Finally decent dictionaries based on Wiktionary for your beloved eBook reader.
http://www.tiger-222.fr/?d=2020/04/17/22/14/21-un-dictionnaire-alternatif-et-complet-pour-votre-liseuse
MIT License
389 stars 21 forks source link

[IT] Add word of the day support #1862

Closed BoboTiG closed 10 months ago

BoboTiG commented 10 months ago

Hint, maybe: https://it.wiktionary.org/wiki/Template:PdGRandom

lasconic commented 10 months ago

Indeed, but my understanding is that since 2014, the italian wiktionary is taking a word of this same list depending of the day (#expr: ( {{#time:z}} mod 41) + 1). The variation is very low...

|1={{Pagina principale/Sapevi/cane}}
|2={{Pagina principale/Sapevi/pesce}}
|3={{Pagina principale/Sapevi/cocomero}}
|4={{Pagina principale/Sapevi/acqua}}
|5={{Pagina principale/Sapevi/cedro}}
|6={{Pagina principale/Sapevi/cavallo}}
|7={{Pagina principale/Sapevi/libro}}
|8={{Pagina principale/Sapevi/cocco}}
|9={{Pagina principale/Sapevi/limone}}
|10={{Pagina principale/Sapevi/latte}}
|11={{Pagina principale/Sapevi/pane}}
|12={{Pagina principale/Sapevi/fico}}
|13={{Pagina principale/Sapevi/occhio}}
|14={{Pagina principale/Sapevi/clone}}
|15={{Pagina principale/Sapevi/hardware}}
|16={{Pagina principale/Sapevi/Bauhaus}}
|17={{Pagina principale/Sapevi/quaderno}}
|18={{Pagina principale/Sapevi/serpente}}
|19={{Pagina principale/Sapevi/casa}}
|20={{Pagina principale/Sapevi/gatto}}
|21={{Pagina principale/Sapevi/fiore}}
|22={{Pagina principale/Sapevi/dito}}
|23={{Pagina principale/Sapevi/frutto}}
|24={{Pagina principale/Sapevi/pecora}}
|25={{Pagina principale/Sapevi/fumetto}}
|26={{Pagina principale/Sapevi/calcio}}
|27={{Pagina principale/Sapevi/satellite}}
|28={{Pagina principale/Sapevi/anello}}
|29={{Pagina principale/Sapevi/aquilone}}
|30={{Pagina principale/Sapevi/sangue}}
|31={{Pagina principale/Sapevi/hippie}}
|32={{Pagina principale/Sapevi/Italia}}
|33={{Pagina principale/Sapevi/Algeria}}
|34={{Pagina principale/Sapevi/giraffa}}
|35={{Pagina principale/Sapevi/alluminio}}
|36={{Pagina principale/Sapevi/lingua}}
|37={{Pagina principale/Sapevi/castagna}}
|38={{Pagina principale/Sapevi/antimonio}}
|39={{Pagina principale/Sapevi/arco}}
|40={{Pagina principale/Sapevi/cariatide}}
|41={{Pagina principale/Sapevi/splenio}}
<!-- |42={{Pagina principale/Sapevi/}}
|43={{Pagina principale/Sapevi/}}
|44={{Pagina principale/Sapevi/}}
|45={{Pagina principale/Sapevi/}}
|46={{Pagina principale/Sapevi/}}
|47={{Pagina principale/Sapevi/}}
|48={{Pagina principale/Sapevi/}}
|49={{Pagina principale/Sapevi/}}
|50={{Pagina principale/Sapevi/}} 
BoboTiG commented 10 months ago

Oups, I merged without seeing your comments!

BoboTiG commented 10 months ago

My patch is incorrect then. I'll revert it right now.

lasconic commented 10 months ago

That's fine. We will just check these 50 words again and again

lasconic commented 10 months ago

An entirely random word would be better. Maybe using this API ? https://www.mediawiki.org/wiki/API:Random/fr

BoboTiG commented 10 months ago

It is terrible how my Mediawiki API skills are poor. I struggle to find any kind of information... 😅

Yes, that radom API would be great, if we have the same API for all locales, that would be perfect.

lasconic commented 10 months ago

Something like https://it.wiktionary.org/w/api.php?action=query&list=random&rnnamespace=0&rnlimit=2

Probably needs a better check for namespace ?

BoboTiG commented 10 months ago

Using that API to return one item, and we are good to go. 👍🏻

BoboTiG commented 10 months ago

We can add a new CLI argument for that: python -m wikidict LOCALE --random, WDYT?

lasconic commented 10 months ago

if it works, I would ditch the wotd code and replace it with that since it would work for all locales

BoboTiG commented 10 months ago

Sounds good. Do you want to give a try?

BoboTiG commented 10 months ago

It seems to work for all locales, that's awesome. Example with russian:

BoboTiG commented 10 months ago

It seems rnnamespace=0&rnlimit=1 are useless as they are the defaults.

lasconic commented 10 months ago

If it works with 1, and we don't get banned, we could check 10 per language :)

BoboTiG commented 10 months ago

The max is 500 IIR :) Lets check more words then!