Далі всі зчитані слова з БД програма заносить в невидиме Memo3 для того щоб порівнювати завантажені слова з Memo2 та слова з БД, які тепер будуть знаходитися в Memo3:
{
try
{
Variant V,V1,FS,Text1;
int swit,zakladka = 1;
AnsiString Text,Slovo;
//открываем Excel
V = Variant::CreateObject("Excel.Application");
V1 = V.OlePropertyGet("Workbooks");
V1.Exec(Procedure("Open")<<Form1->FilePatch);
FS = V.OlePropertyGet("Sheets",zakladka) ;
V.OlePropertySet("Visible",false);
//=================================================
int i = 2;
Memo3->Lines->Clear();
{
while (FS.OlePropertyGet("Cells").OlePropertyGet("Item",i,2).OlePropertyGet("Value").IsNull() == false)
{
В мінливу Text передаємо значення з комірки Excel:
Text = FS.OlePropertyGet("Cells").OlePropertyGet("Item",i,2).OlePropertyGet("Value");
if (Text == "конец базы" || Text.Length() == 0)
break;
Slovo = FS.OlePropertyGet("Cells").OlePropertyGet("Item",i,4).OlePropertyGet("Value");
Частина коду, яка розбиває завантажений текст на слова:
TStringList *SL = new TStringList;
SL->Delimiter=';';//Признак разделителей ";"
SL->DelimitedText= Slovo;
Замінюємо в словах заголовні букви на прописні та добавляємо їх в Memo3:
Form1->Memo3->Lines->Add(SL->Text.LowerCase());
i++;
}
}
Наступний шматок коду порівнює слова з тексту зі словами з БД та виводить результат в Memo2:
{
AnsiString Slovo,all_text = Text_Poiska.LowerCase();
Import_Slov();
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=Memo2->Lines->Clear();
for (int i = 0; i < Memo3->Lines->Count ; i++)
{
if(Memo3->Lines->Strings[i].Length() >0)
{
if(all_text.AnsiPos(Memo3->Lines->Strings[i]) > 0)
Import_From_Excel(Memo3->Lines->Strings[i]);
}
}
Form1->Memo2->Visible = true; }
Для зв’язку програми з БД була створена ще одна форма доступ до я кої знаходиться у вкладці Файл -> Параметри. За допомогою цієї функції користувач вводить в програму шлях за яким зберігається БД. В програмному коді ця функція представлена наступним чином:
{
char buf[256];
long ren= GetCurrentDirectory(256,buf);
AnsiString myPath(buf);
TStringList *LogTemp = new TStringList;
LogTemp->LoadFromFile(myPath+"\\param.ini");
FilePatch = LogTemp->Strings[0];
delete LogTemp;
}
Таким чином, продемонстровано опис програмного продукту для вирішення поставленої задачі.
Раніше було досить детально розглянуто предметну область даної роботи, а саме розказано про те, що представляють собою лексичні паралелі, надана їх повна класифікація. Було розглянуто значення контексту для автоматизованого перекладу лексичних параллелей. Також було детально розписано алгоритм програми та принцип її дії.
Коли користувач відкриває дану програму, спочатку з’являється вікно, на якому знаходяться головні клавіши.
Рис. 3.3.1 Стартове вікно програми
Для того щоб відкрити текст потрібно натиснути клавішу “Відкрити текстовий файл”. Далі користувач обирає потрібен йому текст, після чого програма автоматично опрацьовує текст та в друге діалогове вікно розміщуються знайденні лексичні паралелі. Програма надає повне тлумачення слова в українській мові та переклад його на німецьку мову з повним тлумаченням на німецькій мові також. До кожної лексичної статті надаються приклади. Також програма опрацьовує текст, щодо стилю. Якщо текст, вузько спеціалізований, програма визначає та виводить стиль тексту. Після того як визначений стиль тексту програма перекладає багатозначні лексичні паралелі виходячи з контексту, тобто обирає ті значення перекладу, які можуть зустрічатися саме в цій сфері.
Рис. 3.3.2 Робочий стан програми
Як вже було зазначено програма визначає стилістику тексту, якщо це вузько - спеціалізований текст та виводить результат в верху результуючого ділового вікна. Також програма підраховує та виводить на екран кількість знайдених лексичних паралелей та окремо кількість знайдених хибних лексичних паралелей.
Рис. 3.3.3 Верхня частина програми
В лівій частині інтерфейсу програми користувач може переглянути знайдені лексичні паралелі. Хибні лексичні паралелі обведені червоною стрічкою, що змушую звернути на них увагу, а звичайні паралелі обведені зеленою стрічкою.
Рис. 3.3.4 Діалогове вікно з знайденими лексичними паралелями
Таким чином користувач отримує очікуваний результат. А саме, він може переглянути, які лексичні паралелі є в потрібному йому тексті та отримати їх переклад виходячи з контексту. Ця програма допомагає перекладачам та лінгвістам завчасно визначати “хибних друзів перекладача ” та попереджує їх про можливу небезпеку.
У ході виконання даної роботи в середовищі C# був розроблений програмний продукт для автоматизованого перекладу лексичних паралелей виходячи з контексту. До програми була підключена база даних, розроблена у середовищі Microsoft Excel. Програма має зручний інтерфейс та проста у користуванні. Потенційний користувач має можливість не тільки знаходити лексичні паралелі в тексті та отримувати їх повне тлумачення,але й отримувати їх переклад на німецьку мову з тлумаченням виходячи з контексту.
Розроблена програма з розширеною базою даних може бути практично застосована при перекладі текстів з української мови на німецьку, особливо вона може знадобитися при вивчені іноземної мови. Дана програма запобігає помилкам при перекладі або вивчанні мови, тому що переглянувши будь-який текст вона повідомляє користувача, про те, які лексичні паралелі знаходяться в тексті та про їх тлумачення, для повного розуміння окремої паралелі Також при певній стилістиці тексту програма перекладає лексичні паралелі на основі контексту.
1 Дубічинський В.В. Лексичні паралелі - Харків, 1992.
2 Дубічинський В.В., Ройтер Т. Російсько-німецький словник лексичних паралелей - М., 2011.
3 Roget М. Roget's thesaurus of English words and phrases - В.: Webster, 1852 – 550 p.
4 Зубов А.В., Зубова І.І. Інформаційні технології в лінгвістиці - М., 2004.
5 Баранов А.Н. Введення в прикладну лінгвістику - М., 2001.
6 Зубов А.В., Зубова І.І. Інформаційні технології в лінгвістиці - М., 2004.
7 Ахманова , О. С. , Гюббенет , І. В. Вертикальний контекст як філологічна проблема / / Питання мовознавства , № 3 , 1977 . - C. 47-54
8 Ахманова , О. С. , Задорнова , В. Я. Теорія і практика перекладу в світлі вчення про функціональні стилях мови . / / Лінгвістичні проблеми перекладу. - М., 1981 . - С. 3-12
9 Болдирєва , Л. В. Соціально-історичний вертикальний контекст і проблема розуміння
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.