DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Web design, Layout, User Interface (http://www.devprotalk.com/forumdisplay.php?f=15)
-   -   Промена имена корисника по падежима (http://www.devprotalk.com/showthread.php?t=5771)

filmil 14. 07. 2008. 10:32

Промена имена корисника по падежима
 
Поздрав свима. Ја бих ето да предложим нешто за ваш следећи „материјал за пројекат“, а ко ово и направи, добије три бамбија од мене.

Гледао сам неке домаће сајтове, на неке се и учланио, и приметих да ме сви редом у горњем десном ћошку поздрављају са: „Здраво Филип.“

Питам се, зар је могуће да се нико није досетио да направи неку табелу која ће да преслика номинатив имена (које корисник уноси) у вокатив?! Па да ме програм лепо поздрави са „Здраво Филипе“, а не да ми говори ко Мелинда Меј-Чукић укрштена са Тимотијем Бајфордом.

Јесте да је општу промену по падежима тешко направити, али је деклинација имена једноставна: ем имена има ограничено много, ем је једино вокатив потребан. Све што треба је направити једну табелицу и допунити је вокативима имена која могу да се узму из базе корисника. И тако се 80% њих зову Јелена или Иван.

Сад, пре него што помислите шта овај опет извољева, размислите колико би Вам та мала пажња донела поверење и углед у очима корисника.

ф

pcigre 14. 07. 2008. 10:56

Na jednom starom projektu je skrtipta imala kolonu sa imenima po padežima, pa je formirana listu nepromenjenih imena, pa svaki put kad se admin uloguje ima ispisano imena koja treba da promeni... to je lepo funkcionisalo i ubrzo se napravila baza koja je bila ok... videću da je iskopam od osoba koje sada vode taj projekat.

JovanT 14. 07. 2008. 12:10

Одлична идеја. Али, ово има смисла само ако су корисници пријављени својим именима и презименима. Већина њих користи различите "надимке". Зар би овде требало да пише „Добродошли, filmile“?

pcigre 14. 07. 2008. 12:17

Ovo je bio portal gde su tražena prava imena... tako da je bilo primenjivo. Nadike svakako nema smisla menjati po padežima.

zira 14. 07. 2008. 12:24

Pravio jednom davno za jedan domaci sajt... ubrzo se poceli pojavljivati problemi da neobicna imena nekih ljudi nisu bila dobro obradjena, pa izmedju varijante da to rucno radimo i da potpuno izbacimo tu minornu funkcionalnost izabrali smo ovo drugo.

Nemanja Avramović 14. 07. 2008. 13:27

Poodavno sam razmišljao o ovome i slažem se da bi servis mogao biti koristan, a mislim da nije ni težak za realizaciju. Ukoliko treba neka pomoć oko same realizacije - vičite :)

mileusna 14. 07. 2008. 14:18

Zanimljivo. Manje više za sajt, na kraju "zdravo filmile" preformulišeš u "logovani ste kao filmil". No nije loše ako šalješ welcome poruke na email ili email poruke za verifikaciju adrese, za email komunikaciju mnogo je lepše i bolje ako mail započne sa "Poštovani Filipe".

Milos Vukotic 14. 07. 2008. 14:45

Nešto sam "analizirao" (navodnici jer je analiza bazirana na tome koliko mi je 'naških' imena palo na pamet :) ):
U principu (na naškim jezicima) postoje zakonitosti za većinu imena, moglo bi se dijelom i automatski generisati.
  • Imena koja završavaju sa ...tar (Petar) prelaze u ...tre (Petre)
  • Imena koja završavaju sa ...ca (Milica) prelaze u ...ce (Milice)
  • Imena koja završavaju na a, o, e ostaju ista
  • Ostalim imenima dodati "e" na kraju
Sad, sigurno da mi neka kombinacija nije pala na pamet a sigurno je i da postoje izuzeci...
Uglavnom, na brzaka sam složio skripticu koja generiše vokativ od imena po gornjim zakonitostima i, ako nije pravilno, dozvoljava da se pravilan vokativ unese i zapamti. Sljedeći put provjerava ima li imena na spisku izuzetaka, ako ga ima - prikazuje snimljeni izuzetak...

Jeste, igrao sam se :) , ali ako svi udarimo da isprobavamo, mogli bi napraviti i algoritam i spisak izuzetaka... Makar za "naška" imena :)

Evo skripte ovdje: http://www.fizis.com/sandbox/vokativ/

PS. Ne radi na ćirilici :)

mileusna 14. 07. 2008. 15:12

^
Aleksandar -> Aleksandre
Petar -> Petre

Milos Vukotic 14. 07. 2008. 15:14

U pravu si, hvala.
A sjetih se i Ćutuk - Ćutuče :D

Ispade ovo posao, bog te...

kaizen 14. 07. 2008. 15:17

Predrag -> Predraže

Milos Vukotic 14. 07. 2008. 15:32

Evo sam dodao pravila za Aleksandar - Aleksandre, Predrag - Predraže, Ćutuk - Ćutuče, Xippi - Xippi :)
Sredio da radi i na ćirilici i nemam više vremena danas...

Samo upišite tamo kako je pravilno kad vidite da skript griješi, valjda ima konačan broj pravila i izuzetaka, majku mu... :)

PS. Ko kaže da je vokativ od Luka "Luko"?

PPS. Ako neko hoće da preuzme brigu o ovome, slobodno nek pita ;)

Nemanja Avramović 14. 07. 2008. 15:43

Sviđa mi se kako radi. S tim što bih ja odradio neki API, npr. kao onaj GeoIP - da može da se preuzme periodično ažurirana baza izuzetaka i PHP klasa (može i za druge jezike da se portuje).

Dragi Tata 14. 07. 2008. 15:43

Možda bi i moglo da se nešto zbudži primenom stare, dobre Bajesove formule, ali generalno su takvi poduhvati jako nezahvalni. Uložiš puno rada, a onda se prokrade par slučajeva gde softver zabrlja i odmah ti se smeje pola interneta :)

kodi 14. 07. 2008. 17:57

vazan je i pol

Peca - Milica
Peco - Milice


:D :D

jablan 14. 07. 2008. 18:13

Nije u pitanju (samo) pol: Jela - Jelo. Koliko se sećam (rečnik jezičkih nedoumica mi je kod kuće), dvosložna imena na -a sa dugouzlaznim akcentom imaju -o.

mileusna 14. 07. 2008. 18:33

Okreni obrni svede se na rečnik sa svim imenima na kraju.

Milos Vukotic 14. 07. 2008. 18:36

Pa eto, zamisao je da se taj rječnik proba napraviti kroz ispravljanje grešaka i uočavanje zakonitosti... Igramo se :)

kodi 14. 07. 2008. 20:39

idealno za neuronsku mrezu...
:D

Mladjo 15. 07. 2008. 19:24

Ovo je vrlo zanimljivo. Ako bi se ozbiljno na ovom projektu radilo onda bi trebalo da se krene od gramaticke podele imenica. Znaci po rodu i broju. Pa da se onda dalje rasclanjava. Mislim da je moguce naraviti potpuni algoritam za vokativ. E sad da li bi to mogao da odradi nastavnik srpskog jezika ili bi morao da se zove neki lingvista u pomoc ne znam.

nixa 15. 07. 2008. 19:34

Gde li je towk sada :)

sinisake 26. 07. 2008. 01:55

U odlicna ideja!

Sad sam proveravao malo kako radi:

http://www.fizis.com/sandbox/vokativ/index.php

I dobro je bilo sve do nekih zenskih imena na A:

Milka, Borka.

Kad nadjem vremena, pridruzujem se naporima da se ova ''vrlo bitna'' stvar napravi.
Ah taj divni jezik, prepun izuzetaka.

Nemanja Avramović 27. 09. 2008. 19:58

Evo radilo se malo na ovome pa smo stigli do ovoga:

http://vokativ.vokabular.org/

Baš sam malopre sredio i ovo za "Milka", "Borka", ...

BrainDamage 27. 09. 2008. 23:15

Citat:

Originalno napisao kaizen (Napišite 57401)
Predrag -> Predraže

Kao i za Miodraga (ag -> aže) :)

vuknikolic 28. 09. 2008. 12:18

Super je ideja, i sajt je lepo uradjen. Ako treba bilo kakva pomoc javite :)

Petar Marić 28. 09. 2008. 17:05

Svaka čast - odlična ideja i još bolja izvedba.

Jeste li razmišljali da napravite i javan web servis?

Nemanja Avramović 28. 09. 2008. 17:33

Na šta misliš kad kažeš "javan web servis"?

Misliš neki API tako da se vokativ direktno dovlači sa našeg sajta, ili nešto drugo?

vuknikolic 28. 09. 2008. 18:32

Bilo bi vrlo korisno da ima neki API (koji bi realno imao samo getVokativ(ime) :) )
Nisam gledao, jel postoji neki SVN za vokativ?

Samo napred!

Nenad Vasić 28. 09. 2008. 22:01

Evo mog rešenja koje koristi NuSOAP lib.

Server side:
Kôd:

<?php

require "vokativ.class.php";

//ucitavamo loader-e (samo jedna od sledece tri linije je neophodna, u zavisnosti od toga koji metod zelite da koristite)
require "loaders/ini.class.php";
//require "loaders/dat.class.php";
//require "loaders/mysql.class.php";

require_once('../nusoap/nusoap.php');

$server = new nusoap_server();

$server->configureWSDL('vokativ', 'urn:vokativ');

$server->register('getVokativ',
    array('name' => 'xsd:string'),       
    array('return' => 'xsd:string'),     
    'urn:vokativ',                   
    'urn:vokativ#getVokativ',           
    'rpc',                           
    'encoded',                           
    'Vraca vokativ zadatog imena');

function getVokativ($ime) {
    $vokativ = new Vokativ(new Vokativ_INI());
    $vokativ->cirilica = $vokativ->da_li_je_cirilica($ime);
    return $vokativ->napravi_vokativ($ime);
}

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);

?>

Client side:
Kôd:

<?php

require_once('../nusoap/nusoap.php');

$client = new nusoap_client('http://lab.irondev.net/vokativ/api.php?wsdl', true);

$error = $client->getError();
if ($error) {
    echo "Greska: ". $error ;
    // ....
    die();
   
}

$proxy = $client->getProxy();
$result = $proxy->getVokativ('Nenad');

echo $result;

?>


Nemanja Avramović 28. 09. 2008. 23:31

SVN-a nažalost nema, a što se APIja tiče, evo nešto sam se igrao, pa možete pogledati ovo:
http://www.vokabular.org/forum/index.php?topic=2487.0

primer:
http://vokativ.vokabular.org/primer/...&cirilica=true

Nemanja Avramović 23. 10. 2008. 22:34

Projekat “Vokativ“ za manje od mesec dana postojanja dobio je nagradu za inovativnost na polju srpskog interneta od strane beogradskog festivala novih komunikacija B-LINK 2008.


Nagradna B-LINK skulptura

Mislim da je nagrada stigla malo prerano, mada možda i nije (za dobre stvari se brzo čuje ;-)) i jako mi je drago što se ovako brzo pročulo za projekat, odnosno što je isti ovako brzo primećen. Naravno, ništa ne bi bilo od ovog projekta da nije bilo Filipa Miletića, koji je pokrenuo celu ovu stvar, kao i Miloša Vukotića, koji je napisao inicijalnu verziju skripte.

Takođe, ovo je bilo moje prvo obraćanje (ne tako velikoj) gomili ljudi (preko mikrofona) i pošto me je lepo oblio hladan znoj uspeo sam drhtavim glasom da se zahvalim svima na nagradi i da se izrazim svoje čuđenje ovoj nagradi, pošto zaista nisam mislio da je bilo ko čuo za “Vokativ.” Očekujem slike sa večerašnje dodele nagrada, a dotle se strpite.

P.S. Opet fotka načinjena telefonom jer moj foto-aparat i dalje ne radi :-(

Milos Vukotic 24. 10. 2008. 09:49

Bravo! :1043:

misk0 24. 10. 2008. 10:25

Eto, svaki trud se isplati - cestitam.

Ivan 24. 10. 2008. 13:15

Extra ! Cestitam :)

jablan 24. 10. 2008. 13:19

Čestitke... BTW, jesi uspeo da dekodiraš binarnu poruku sa te kocke? ;)

Nemanja Avramović 24. 10. 2008. 17:02

To beše onaj QR kod? Nisam ni pokušavao :D

vuknikolic 24. 10. 2008. 17:30

E svaka cast :)

kalkulus 27. 10. 2008. 10:48

cestitke za nagradu :)

btw ako je uopshte kod(kriva je slika da testiram, a mrzi me da je sad ispravljam) mislim da je u pitanju Datamatrix kod, QR kodovi su drugaciji i imaju pozicione markere

Nemanja Avramović 23. 10. 2009. 13:23

Jako dugo nisam radio na Vokativu, a juče se setih da smo pominjali na forumu interfejs za predlaganje oblika vokativa, tako da sam sinoć uhvatio malo vremena i napravio baš to. Primer je dostupan online, a princip rada je jednostavan – sajtu projekta se proslede nominativ i vokativ (i opciono URL do CSS fajla za izmenu interfejsa) i onda se koristeći našu, uvek poslednju verziju baze, napravi vokativ. Zatim se naš i vaš vokativ uporede i zatim se dešava sledeće:

1. Ukoliko su različiti, a pritom naš vokativ dolazi iz rečnika – ispisuje se poruka da morate ažurirati vaš rečnik (bazu)
2. Ukoliko dolaze iz algoritma – nudi se opcija za unos predloga, koji posle prolazi moderaciju
3. Ukoliko dolaze iz rečnika – ispisuje se poruka da je to vokativ iz rečnika i da nam možete javiti na forumu projekta da smo (eventualno) pogrešili



U isto vreme sam razvijao i Vokativ dodatak za Wordpress, koji je već implementiran kod mene na blogu kao i na sajtu Vokativa.



Ime pokušava da pokupi “Dispay Name” trenutno ulogovanog korisnika. Ako to ne nađe (trenutni korisnik nije ulogovan), onda pokušava da pronađe ime u WP kukiju. Ako ga ni tamo ne nađe, funkcija će vratiti false

(sa mog bloga)

madamov 28. 10. 2009. 14:53

Citat:

Originalno napisao Nemanja Avramović (Napišite 61168)
Na šta misliš kad kažeš "javan web servis"?

Misliš neki API tako da se vokativ direktno dovlači sa našeg sajta, ili nešto drugo?

Misli na SOAP, iliti ono što Microsoft zove "Web servisi". Što uopšte nije loša ideja. B)


Vreme je GMT +2. Trenutno vreme je 08:20.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.