Witajcie
Wyobraźcie sobie ... encyklopedię ... nie jest ważne, że służy do generowania skryptów dla pewnej gry RPG i nie jest (w tej chwili) ważny czynnik jakim jest przepisanie całości z bazy plikowej (własny format - podobny do XML) na MySQL oraz to, że przepisuję apke obsługującą (dwie apki) z Embarcadero na Lazarusa.
Ogólnie baza ma 37 tabel encyklopedycznych (~11k wpisów) i kilka tabel użytkowników (autorzy, uprawnienia i takie tam)
Pojawił się problem odmiany nazw oraz ich "ogarniania" we wpisach. Dotychczas główne słowo encyklopedii oraz jego (ewentualna nazwa) była zapisana w formacie "dziwnym" i dopiero "parser" (część apki) tego formatu tworzył tablice (w pamięci podręcznej) z tekstu, np: "Przełęcz Baszynów;/Przełęcz Baszynowska;/Przełęczy Baszynowskiej;/Przełęcz Baszynowską"
Jak sami widzicie, był to głupi pomysł bo wymagał od autorów "trzymania" się kolejności odmian. Teraz chcę zrobić z tego osobną tablicę, także ze względu, że konstruuję (a przynajmniej chcę ;) ) by, jeżeli pojawią się słowa ze słownika w opisie "czegoś" to automatycznie ma się pojawić odnośnik do danych encyklopedycznych - dotychczas trzeba to było robić ręcznie). Chwilowo rozważam "crona" który co jakiś czas "przelatuje" opisy i uzupełnia je od odpowiednie odnośniki.
Czyli jeżeli ktoś napiszę w jakimkolwiek tekście (wpis encyklopedyczny, notatki, listo do innego autora - apka ma taką możliwość) np "Przechodząc przez Przełęcz Baszynowską dotrzemy do Gór sowich to (o ile takie słowa wystąpią w bazie) słowa "Przełęcz Baszynowską" czy "Gór sowich" będą odnośnikami do właściwych im wpisów w encyklopedii.
Jak to rozsądnie zrobić?
- odmiany wyrazów encyklopedycznych
- parser opisów i definicji generujący linki do wyrażeń niezależnie od ich odmiany
nie chodzi tu o program a ogólne założenia - z uwzględnieniem, że rozpoczynają się przymiarki do tłumaczenia na angielski.
Poradźcie
Pozdrawiam