GithubHelp home page GithubHelp logo

gregopet / zapis-slovenskih-stevil Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 55 KB

Primeri zapisa slovenskih števil z besedami, uporabni za testiranje programskih implementacij

License: The Unlicense

i18n slovenija slovenscina slovenski-jezik test testing test-driven-development test-cases slovenia natural-language-generation

zapis-slovenskih-stevil's Issues

šesto -> šeststo

{ "število": 1803603801,
"imenovalnik": { "ž" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto ena", "m" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto en", "s" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto eno" },
"rodilnik" : { "ž" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto ene", "m" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto enega", "s" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto enega" },
"dajalnik" : { "ž" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto eni", "m" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto enemu", "s" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto enemu" },
"tožilnik" : { "ž" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto eno", "m" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto enega", "s" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto eno" },
"mestnik" : { "ž" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto eni", "m" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto enem", "s" : "milijarda osemsto trije milijoni šesto tri tisoč osemsto enem" },
"orodnik" : { "ž" : "s milijarda osemsto trije milijoni šesto tri tisoč osemsto eno", "m" : "s milijarda osemsto trije milijoni šesto tri tisoč osemsto enim", "s" : "s milijarda osemsto trije milijoni šesto tri tisoč osemsto enim" }
}

šesto -> šeststo

1803603801 orodnik

"orodnik" : { "ž" : "s milijarda osemsto trije milijoni šeststo tri tisoč osemsto eno", "m" : "s milijarda osemsto trije milijoni šeststo tri tisoč osemsto enim", "s" : "s milijarda osemsto trije milijoni šeststo tri tisoč osemsto enim" }

ž: z milijardo osemsto tremi milijoni šeststo tri tisoč osemsto eno
m: z milijardo osemsto tremi milijoni šeststo tri tisoč osemsto enim
s: z milijardo osemsto tremi milijoni šeststo tri tisoč osemsto enim

Naj imajo vsi skloni vseh števil enako strukturo

... da lahko enostavno do vseh dostopaš na enak način - brez pisanja dodatnih pogojev
(spodnja koda je JS)

for (let i in stevila){
  console.log(stevila[i].rodilnik.z)
}

namesto

for (let i in stevila){
  if(Object.keys(stevila[i].rodilnik).length>1){
    console.log(stevila[i].rodilnik.z)
  }
  else{
    console.log(stevila[i].rodilnik.vsi)
  }
}

Testni primer

let stevila =  [
    { "stevilo": 1,
      "imenovalnik": { "z": "ena", "m" : "en", "s" : "eno" },
      "rodilnik" : { "z": "ene", "m" : "enega", "s" : "enega" },
      "dajalnik" : { "z": "eni", "m" : "enemu", "s" : "enemu" },
      "tozilnik" : { "z": "eno", "m" : "enega", "s" : "eno" },
      "mestnik" : { "z": "eni", "m" : "enem", "s" : "enem" },
      "orodnik" : { "z": "z eno", "m" : "z enim", "s" : "z enim" }
    },
    { "stevilo": 2,
      "imenovalnik": { "z": "dve", "m" : "dva", "s" : "dve" },
      "rodilnik" : { "z": "dveh", "m" : "dveh", "s" : "dveh" },
      "dajalnik" : { "z": "dvema", "m" : "dvema", "s" : "dvema" },
      "tozilnik" : { "z": "dve", "m" : "dva", "s" : "dve" },
      "mestnik" : { "z": "dveh", "m" : "dveh", "s" : "dveh" },
      "orodnik" : { "z": "z dvema", "m" : "z dvema", "s" : "z dvema" }
    },
    { "stevilo": 3,
      "imenovalnik": { "z": "tri", "m" : "trije", "s" : "tri" },
      "rodilnik" : { "vsi" : "treh" },
      "dajalnik" : { "vsi": "trem" },
      "tozilnik" : { "vsi": "tri" },
      "mestnik" : { "vsi" : "treh" },
      "orodnik" : { "vsi": "s tremi" }
    },
]

Decimalna števila

Dodati bi bilo potrebno nekaj testnih primerov za decimalna števila, npr:

  • 0,0
  • 0,1
  • 0,000005
  • 1,0
  • 1,5
  • 2,05
  • 3,005
  • 11111,1111
    ...

Napačni milijoni v imenovalniku

{ "število": 303000000,
"imenovalnik": { "vsi" : "tristo tri milijone" },

Tole je tožilnik. Imenovalnik bi bil "tristo trije milijoni"

Izgubil sem (koga ali kaj?) tristo tri milijone in sedaj nekje na cesti ležijo (kdo ali kaj?) tristo trije milijoni.

https://svetovalnica.zrc-sazu.si/topic/2089/raba-števnikov

Ta isti problem se pojavlja tudi pri drugih imenovalnikih, npr:

{ "število": 3000000,
"imenovalnik": { "vsi" : "tri milijone" },

Pravilno: "trije milijoni"

{ "število": 304000000,
"imenovalnik": { "vsi" : "tristo štiri milijone" },

Pravilno: "tristo štirje milijoni"

itd...

Naredimo angleškim uporabnikom bolj prijazno

Mednarodnim uporabnikom bi mogoče koristili:

  • Prevodi ključev (dictionary) in/ali angleški ključi v JSON-ih.
  • Nekaj primerov in prevodov rabe sklonov in spolov (z vzporednicami na podobne primere v drugih jezikih, npr. Nemščina, Srbščina/Hrvaščina, itd.)

To bi pomoje bilo odlično vodilo glede slovenske lokalizacije, za nekoga ki ni lingvist. :)

Mogoče bi lahko tudi dodali l10n, localization, in grammatical case oznake (tags).

Sicer pa odlično delo, čestitke!!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.