https://github.com/duukkis/conjugation
PHP Conjugation library for Finnish nouns and verbs. Suomen kielen nominien ja verbien taivutusmoottori.
https://github.com/duukkis/conjugation
conjugation finnish-nouns nouns php-conjugation-library verbs
Last synced: 3 months ago
JSON representation
PHP Conjugation library for Finnish nouns and verbs. Suomen kielen nominien ja verbien taivutusmoottori.
- Host: GitHub
- URL: https://github.com/duukkis/conjugation
- Owner: duukkis
- License: mit
- Created: 2016-04-29T07:37:24.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-02-25T14:09:08.000Z (8 months ago)
- Last Synced: 2025-04-05T19:13:19.895Z (6 months ago)
- Topics: conjugation, finnish-nouns, nouns, php-conjugation-library, verbs
- Language: PHP
- Homepage: http://www.palomaki.info/apps/conjugation/
- Size: 970 KB
- Stars: 11
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Conjugation
PHP Conjugation library for Finnish nouns and verbs.
PHP:lla tehty taivutuskirjasto suomen kielen substantiiveille ja verbeille.## Nouns, substantiivit
- Genetiivi - genitive (-n)
- Translatiivi - translative (-ksi)
- Inessiivi - inessive (-ssa)
- Elatiivi - elative (-sta)
- Adessiivi - adessive (-lla)
- Ablatiivi - ablative (-lta)
- Allatiivi - allative (-lle)
- Abessiivi - abessive (-tta)
- Partitiivi - partitive (-a, ta, tta)
- Essiivi - essive (-na)
- Illatiivi - illative (-an, -en, -han, -seen)
- Akkusatiivi - akkusative, not implemented, same as nominative/genetive, so returns nominative```php
include("vendor/autoload.php");use Conjugation\Noun;
$noun = "nalle";
$conj = new Noun();print $conj->nominative($noun)["answer"].PHP_EOL;
print $conj->genitive($noun)["answer"].PHP_EOL;
print $conj->akkusative($noun)["answer"].PHP_EOL;
print $conj->partitive($noun)["answer"].PHP_EOL;
print $conj->essive($noun)["answer"].PHP_EOL;
print $conj->translative($noun)["answer"].PHP_EOL;
print $conj->inessive($noun)["answer"].PHP_EOL;
print $conj->elative($noun)["answer"].PHP_EOL;
print $conj->illative($noun)["answer"].PHP_EOL;
print $conj->adessive($noun)["answer"].PHP_EOL;
print $conj->ablative($noun)["answer"].PHP_EOL;
print $conj->allative($noun)["answer"].PHP_EOL;
print $conj->abessive($noun)["answer"].PHP_EOL;$plural = $conj->plural($noun)["answer"];
print $plural.PHP_EOL;
print $conj->nominative($plural)["answer"].PHP_EOL;
print $conj->genitive($plural)["answer"].PHP_EOL;
print $conj->akkusative($plural)["answer"].PHP_EOL;
print $conj->partitive($plural)["answer"].PHP_EOL;
print $conj->essive($plural)["answer"].PHP_EOL;
print $conj->translative($plural)["answer"].PHP_EOL;
print $conj->inessive($plural)["answer"].PHP_EOL;
print $conj->elative($plural)["answer"].PHP_EOL;
print $conj->illative($plural)["answer"].PHP_EOL;
print $conj->adessive($plural)["answer"].PHP_EOL;
print $conj->ablative($plural)["answer"].PHP_EOL;
print $conj->allative($plural)["answer"].PHP_EOL;
print $conj->abessive($plural)["answer"].PHP_EOL;
```prints out
```
nalle
nallen
nalle
nallea
nallena
nalleksi
nallessa
nallesta
nalleen
nallella
nallelta
nallelle
nalletta
nallet
nallet
nallejen
nallet
nalleja
nalleina
nalleiksi
nalleissa
nalleista
nalleihin
nalleilla
nalleilta
nalleille
nalleitta
```## Introducing also verbs!
- Present tense, preesens
- Imperfect, imperfekti
- Perfect
- Imperative```php
// or autolaod
use Conjugation/Verb;$conjugate = new Verb();
$me = $conjugate->preesensMe("taivuttaa");
print "Minä ".$me.PHP_EOL;
print "Sinä ".$conjugate->preesensYou("taivuttaa").PHP_EOL;
print "Hän ".$conjugate->preesensSHe("taivuttaa").PHP_EOL;
print "Me ".$conjugate->preesensPluralWe("taivuttaa").PHP_EOL;
print "Te ".$conjugate->preesensPluralYou("taivuttaa").PHP_EOL;
print "He ".$conjugate->preesensPluralThey("taivuttaa").PHP_EOL;print "Minä ".$conjugate->imperfectMe("taivuttaa").PHP_EOL;
print "Sinä ".$conjugate->imperfectYou("taivuttaa").PHP_EOL;
print "Hän ".$conjugate->imperfectSHe("taivuttaa").PHP_EOL;
print "Me ".$conjugate->imperfectPluralWe("taivuttaa").PHP_EOL;
print "Te ".$conjugate->imperfectPluralYou("taivuttaa").PHP_EOL;
print "He ".$conjugate->imperfectPluralThey("taivuttaa").PHP_EOL;print "Minä olen ".$conjugate->perfectSingle("taivuttaa").PHP_EOL;
print "Te olette ".$conjugate->perfectPlural("taivuttaa").PHP_EOL;print ucfirst($conjugate->imperativeSingle("taivuttaa")) . "!".PHP_EOL;
print ucfirst($conjugate->imperativePlural("taivuttaa")) . "!".PHP_EOL;
```Prints out
```
Minä taivutan
Sinä taivutat
Hän taivuttaa
Me taivutamme
Te taivutatte
He taivuttavat
Minä taivutin
Sinä taivutit
Hän taivutti
Me taivutimme
Te taivutitte
He taivuttivat
Minä olen taivuttanut
Te olette taivuttaneet
Taivuta!
Taivuttakaa!
```## Noun demo
http://www.palomaki.info/apps/conjugation/## Tests
PHP Codesniffer rules in ruleset.xml, run with:
```
phpcs --standard=tests/ruleset.xml *.php
```
PHPUnit
```
wget -O phpunit https://phar.phpunit.de/phpunit-7.phar
chmod +x phpunit
./phpunit tests/
```## Helper material for conjugation
Wordlist from Institute for the Languages of Finland
KOTIMAISTEN KIELTEN KESKUKSEN NYKYSUOMEN SANALISTAhttp://kaino.kotus.fi/sanat/nykysuomi/