image thumbnail
from English to Turkish Dictionary by Gökhan
Add Turkish translation of English words that exist in the dictionary file

ingilizce_kelimeleri_cevirme.m
%% Bu ksmda gerekli veriler alnyor ve ileride kullanlmak iin listeleniyor
% ---------------------------------------------------------------------------------------------------------------------------------------------------------
% nce kelime listesi ve metin verileri alnarak deikenlerde kaydediliyor.
% lgili aklamar bu ksmda yer almakta
% PANO=1; %eviri sonrasndaki metnin txt dosyasna yazdrlmas isteniyorsa 1 istenmiyorsa 0, ekrana metin farkl renkte kelimelerin anlamlar farkl renkte olacak biimde yazdrlmak isteniyorsa 2 yazlmal
% KELIME_ing=0; %ingilizce_kelime listesinin gncellenmesi isteniyorsa 1 istenmiyorsa 0 yazlmal
% YEDEK=0; % Gnlk kelime listesinin gncellenmesi isteniyorsa 1 istenmiyorsa 0 yazlmal
% KELIME_ANLAMLARI_BUYUK=0; % Kelimelerin trke anlamlar eklenirken bu anlamlarn byk harf ile eklenmesi isteniyorsa 1 istenmiyorsa 0 yazlmal
% ACILACAK=0; % Kelimle listesi alp almayacana karar veriliyor 1 iin alacak 0 iin almayacak

tic
clear; clc
Gbilgi_iste=1;
% Gbilgi_iste=2;

if Gbilgi_iste==1
    Gprompt={'PANO deeri (eviri sonrasndaki metnin txt dosyasna yazdrlmas isteniyorsa 1 istenmiyorsa 0, ekrana metin farkl renkte kelimelerin anlamlar farkl renkte olacak biimde yazdrlmak isteniyorsa 2 yazlmal)',...
        'KELIME_ing deeri (ingilizce_kelime listesinin gncellenmesi isteniyorsa 1 istenmiyorsa 0 yazlmal)',...
        'YEDEK deeri (Gnlk kelime listesinin gncellenmesi isteniyorsa 1 istenmiyorsa 0 yazlmal)',...
        'KELIME_ANLAMLARI_BUYUK (Kelimelerin trke anlamlar eklenirken bu anlamlarn byk harf ile eklenmesi isteniyorsa 1 istenmiyorsa 0 yazlmal)',...
        'ACILACAK (Kelimle listesi alp almayacana karar veriliyor 1 iin alacak 0 iin almayacak)',...
        'lenecek satr says deeri (Ka satrn evirisinin yaplmas istendii belirtiliyor. Eer tek bir say girilirse ilk o say kadar satr ilenecek. Eer ''say1 say2'' biiminde iki say girilirse o satrlar arasndaki veri ilenecek',...
        'stenen Dosya Ad (Hangi dosyadan metinin alnmas istendii belirtiliyor)',...
        'PANO=1 olmas durumunda txt dosyasna yazdrlrken dosyann sonuna m eklesin yoksa dosyay silip sfrdan m yazsn(1 ise ekleyecek 0 ise silecek)'};
    Gname='Temel Verilerin Girilmesi';
    Gnumlines=1;
    Gdefaultanswer={'2','0','0','0','0','100','C:\Users\samsung\Desktop\Ana Klasor\txt belgeleri\denere.txt','1'};
    Gcevaplar=inputdlg(Gprompt,Gname,Gnumlines,Gdefaultanswer);
    PANO=str2double(Gcevaplar{1}); KELIME_ing=str2double(Gcevaplar{2}); YEDEK=str2double(Gcevaplar{3}); KELIME_ANLAMLARI_BUYUK=str2double(Gcevaplar{4}); ACILACAK=str2double(Gcevaplar{5}); GDosyaAdi=Gcevaplar{7}; PDosyanin_Sonuna_Ekle=str2double(Gcevaplar{8});
else
    PANO=2;KELIME_ing=0;YEDEK=0;KELIME_ANLAMLARI_BUYUK=0;ACILACAK=0;Gcevaplar{6}='100'; GDosyaAdi='C:\Users\samsung\Desktop\Ana Klasor\txt belgeleri\denere.txt'; PDosyanin_Sonuna_Ekle=1;
end

GVirgul=strfind(Gcevaplar{6}, ' ');
if isempty(GVirgul)
    Gsatir=str2double(Gcevaplar{6});
    fid = fopen(GDosyaAdi);
    DDates = textscan(fid, '%s', Gsatir, 'delimiter', '\n');
    METIN=DDates{:};
else
    fid = fopen(GDosyaAdi);
    GSayi1=str2double(Gcevaplar{6}(1:GVirgul-1)); GSayi2=str2double(Gcevaplar{6}(GVirgul+1:end));
    METIN=cell(0,1);
    sayac=1;
    gosterge=1;
    while gosterge
        tline = fgetl(fid);
        if sayac>=GSayi1 && sayac<=GSayi2
            METIN{end+1,1}= tline;
        elseif sayac > GSayi2
            gosterge=0;
        end
        sayac=sayac+1;
    end
    deblank(METIN);
    fclose(fid);
end

fid2 = fopen('C:\Users\samsung\Desktop\Ana Klasor\txt belgeleri\erem.txt');
DDates = textscan(fid2, '%s', 'delimiter', '\n');
KELIMELER_EREM=DDates{:};
fid3 = fopen('C:\Users\samsung\Desktop\Ana Klasor\txt belgeleri\ingilizce enson gnlk.txt');
TDates=textscan(fid3, '%s', 'delimiter', '\n');
ingilizce_kelime=TDates{:};
fclose all;
clear('-regexp', '^[^PYAKMi]');

%% Bu ksmda satr sonlarnn yerleri saptanmakta.
% ---------------------------------------------------------------------------------------------------------------------------------------------------------
METIN_DUZ=sprintf('%s  ',METIN{:}); %Satr sonlarna iaret konulmakta.
ara_deger_01=regexp(METIN_DUZ, ' '); %Satr sonlarnn yerleri nmerik olarak saptanmakta (Burada yalnz  karakterinden dolay 4 karakter her satrda fazladan hesaplanmakta)
Gecici_deger_01=(0:length(ara_deger_01)-1)*4;
METIN_DUZ=regexprep(METIN_DUZ, ' ', ''); %" " fazlalklar metinden silinmekte
Satir_Konumlari=ara_deger_01-Gecici_deger_01; % Burada satr sonlarnn gerek yerleri belirlenmekte
Satir_sayisi=length(Satir_Konumlari); % Burada says bulunmakta.
mevcut_kelimeler={'zzzz'}; % Daha nceden oluturulan szlkle bulunan kelimeler bu listede tutlmas iin liste oluturuluyor
SAF_KELIMELER_TAM_LISTE=regexprep(KELIMELER_EREM,'\s*\(.+','');
SAF_KELIMELER_TAM_LISTE=regexprep(SAF_KELIMELER_TAM_LISTE,'^(zz||x)','');
ZGZ_EREM_KELIMELERININ_LISTESI=find(~cellfun(@isempty,regexp(KELIMELER_EREM,'^z')));
XG_EREM_KELIMELERININ_LISTESI=find(~cellfun(@isempty,regexp(KELIMELER_EREM,'^x')));
GG_EREM_KELIMELERININ_LISTESI=find(~cellfun(@isempty,regexp(KELIMELER_EREM,'^')));
CIPLAK_EREM_KELIMELERININ_LISTESI=find(~cellfun(@isempty,regexp(KELIMELER_EREM,'^.[^]')));
GENEL_TUTUCU=cell(ceil(length(METIN_DUZ)/10),5);
BULUNAN_TOPLAM_KELIME_SAYISI=0;
Satir_Konumlari_Total=Satir_Konumlari;
INCELENEN_LISTE=[];
%% Daha sonra eklenecek
% ---------------------------------------------------------------------------------------------------------------------------------------------------------
for jj_1=1:4
    if jj_1==1
        INCELENEN_LISTE=[];INCELENEN_LISTE=GG_EREM_KELIMELERININ_LISTESI; bastan_silinecek_harf_sayisi=2;
    elseif jj_1==2
        INCELENEN_LISTE=[];INCELENEN_LISTE=ZGZ_EREM_KELIMELERININ_LISTESI; bastan_silinecek_harf_sayisi=3;
    elseif jj_1==3
        INCELENEN_LISTE=[];INCELENEN_LISTE=CIPLAK_EREM_KELIMELERININ_LISTESI; bastan_silinecek_harf_sayisi=0;
    else
        INCELENEN_LISTE=[];INCELENEN_LISTE=XG_EREM_KELIMELERININ_LISTESI; bastan_silinecek_harf_sayisi=2;
    end
% Eer incelenecek olan kelime grubunun eleman bulunmuyorsa hata olumamas iin bir sonraki iterasyona geiliyor    
    if isempty(INCELENEN_LISTE)
        continue
    end
% Bu ksmda szlkte olan kelimelerin hangileri olduklar ve yerleri belirlenmekte.    
    for i_gg=1:length(INCELENEN_LISTE)
        incelenen_erem_kelimesi_tam=KELIMELER_EREM{INCELENEN_LISTE(i_gg),1};
        saf_kelime=SAF_KELIMELER_TAM_LISTE{INCELENEN_LISTE(i_gg),1};
        incelenen_erem_kelimesi_tam(1:bastan_silinecek_harf_sayisi)=[];
        koseli_parantez_konumu=strfind(incelenen_erem_kelimesi_tam, '{');
        if isempty(koseli_parantez_konumu) && jj_1==1
            aranan=['(\<' saf_kelime '\>)'];
            ara_deger_11=regexpi(METIN_DUZ, aranan);
            if ~isempty(ara_deger_11)
                ara_deger_13=zeros(1,Satir_sayisi);
                mevcut_kelimeler{end+1,1}=saf_kelime;
                ara_deger_12=length(incelenen_erem_kelimesi_tam)-length(saf_kelime);
                for i=1:length(ara_deger_11)
                    BULUNAN_TOPLAM_KELIME_SAYISI=BULUNAN_TOPLAM_KELIME_SAYISI+1;
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,1}=saf_kelime;
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,2}=incelenen_erem_kelimesi_tam(end-ara_deger_12+1:end);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,3}=ara_deger_11(i);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,4}=length(saf_kelime);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,5}=ara_deger_12;
                    ara_deger_13(1,length(find(Satir_Konumlari<=ara_deger_11(i)))+1:Satir_sayisi)=i*ara_deger_12;
                end
                Satir_Konumlari_Total=Satir_Konumlari_Total+ara_deger_13;
            end
        elseif ~(isempty(koseli_parantez_konumu)) && jj_1==1
            olabilir_ekler=incelenen_erem_kelimesi_tam(koseli_parantez_konumu(1)+1:end-1);
            incelenen_erem_kelimesi_tam(koseli_parantez_konumu(1):end)=[];
            aranan=['\<(' saf_kelime olabilir_ekler '\>'];
            [ara_deger_21, Elde_edilen_kelimeler_gg]=regexpi(METIN_DUZ, aranan, 'start' , 'match');
            if ~isempty(ara_deger_21)
                ara_deger_23=zeros(1,Satir_sayisi);
                mevcut_kelimeler{end+1,1}=saf_kelime;
                ara_deger_22=length(incelenen_erem_kelimesi_tam)-length(saf_kelime);
                for i=1:length(ara_deger_21)
                    BULUNAN_TOPLAM_KELIME_SAYISI=BULUNAN_TOPLAM_KELIME_SAYISI+1;
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,1}=Elde_edilen_kelimeler_gg{i};
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,2}=incelenen_erem_kelimesi_tam(end-ara_deger_22+1:end);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,3}=ara_deger_21(i);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,4}=length(Elde_edilen_kelimeler_gg{i});
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,5}=ara_deger_22;
                    ara_deger_23(1,length(find(Satir_Konumlari<=ara_deger_21(i)))+1:Satir_sayisi)=i*ara_deger_22;
                end
                Satir_Konumlari_Total=Satir_Konumlari_Total+ara_deger_23;
            end
        elseif jj_1==2
            if length(koseli_parantez_konumu)>1
                aranan=['\<(' saf_kelime incelenen_erem_kelimesi_tam(koseli_parantez_konumu(1)+1:koseli_parantez_konumu(end)-2) '\>'];
                olabilir_ekler=incelenen_erem_kelimesi_tam(koseli_parantez_konumu(end)+1:end-1);
            else
                aranan=['\<(' saf_kelime ')\>'];
                olabilir_ekler=incelenen_erem_kelimesi_tam(koseli_parantez_konumu(end)+1:end-1);
            end
            [ara_deger_31, Elde_edilen_kelimeler_zgz]=regexpi(METIN_DUZ, aranan, 'start' , 'match');
            ara_deger_41=regexpi(METIN_DUZ, olabilir_ekler);
            if ~isempty(ara_deger_41)
                [~,ia,~] = intersect(ara_deger_31,ara_deger_41);
                ara_deger_31(ia)=[];
                Elde_edilen_kelimeler_zgz(ia)=[];
            end
            if ~isempty(ara_deger_31)
                ara_deger_33=zeros(1,Satir_sayisi);
                mevcut_kelimeler{end+1,1}=saf_kelime;
                incelenen_erem_kelimesi_tam(koseli_parantez_konumu(1):end)=[];
                ara_deger_32=length(incelenen_erem_kelimesi_tam)-length(saf_kelime);
                for i=1:length(ara_deger_31)
                    BULUNAN_TOPLAM_KELIME_SAYISI=BULUNAN_TOPLAM_KELIME_SAYISI+1;
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,1}=Elde_edilen_kelimeler_zgz{i};
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,2}=incelenen_erem_kelimesi_tam(end-ara_deger_32+1:end);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,3}=ara_deger_31(i);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,4}=length(Elde_edilen_kelimeler_zgz{i});
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,5}=ara_deger_32;
                    ara_deger_33(1,length(find(Satir_Konumlari<=ara_deger_31(i)))+1:Satir_sayisi)=i*ara_deger_32;
                end
                Satir_Konumlari_Total=Satir_Konumlari_Total+ara_deger_33;
            end
        elseif jj_1==3
            [ara_deger_41, Elde_edilen_kelimeler_duz]=regexpi(METIN_DUZ, saf_kelime, 'start' , 'match');
            if ~isempty(ara_deger_41)
                mevcut_kelimeler{end+1,1}=saf_kelime;
                ara_deger_43=zeros(1,Satir_sayisi);
                ara_deger_42=length(incelenen_erem_kelimesi_tam)-length(saf_kelime);
                for i=1:length(ara_deger_41)
                    BULUNAN_TOPLAM_KELIME_SAYISI=BULUNAN_TOPLAM_KELIME_SAYISI+1;
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,1}=Elde_edilen_kelimeler_duz{i};
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,2}=incelenen_erem_kelimesi_tam(end-ara_deger_42+1:end);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,3}=ara_deger_41(i);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,4}=length(Elde_edilen_kelimeler_duz{i});
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,5}=ara_deger_42;
                    ara_deger_43(1,length(find(Satir_Konumlari<=ara_deger_41(i)))+1:Satir_sayisi)=i*ara_deger_42;
                end
                Satir_Konumlari_Total=Satir_Konumlari_Total+ara_deger_43;
            end
        else
            if length(koseli_parantez_konumu)>1
                aranan=['\<(' saf_kelime incelenen_erem_kelimesi_tam(koseli_parantez_konumu(1)+1:koseli_parantez_konumu(end)-2) '\>'];
                [ana_kelimenin_konumu, ana_kelimenin_uzunlugu]=regexp(incelenen_erem_kelimesi_tam(koseli_parantez_konumu(end):end), '(?<=\))\(*[a-zA-Z ]+.*(?=\(\?)', 'start', 'match', 'once');
                olabilir_ekler1=incelenen_erem_kelimesi_tam(koseli_parantez_konumu(end)+1:koseli_parantez_konumu(end)+ana_kelimenin_konumu+length(ana_kelimenin_uzunlugu)-2);
                olabilir_ekler2=incelenen_erem_kelimesi_tam(koseli_parantez_konumu(end)+ana_kelimenin_konumu-1:end-1);
            else
                aranan=['\<(' saf_kelime ')\>'];
                [ana_kelimenin_konumu, ana_kelimenin_uzunlugu]=regexp(incelenen_erem_kelimesi_tam(koseli_parantez_konumu(1):end), '\)[a-zA-Z ]+\(', 'start', 'match', 'once');
                olabilir_ekler1=incelenen_erem_kelimesi_tam(koseli_parantez_konumu(end)+1:koseli_parantez_konumu(end)+ana_kelimenin_konumu+ana_kelimenin_uzunlugu);
                olabilir_ekler2=incelenen_erem_kelimesi_tam(ana_kelimenin_konumu+ana_kelimenin_uzunlugu+1:end-1);
            end 
            [ara_deger_51, Elde_edilen_kelimeler_xg]=regexpi(METIN_DUZ, aranan, 'start' , 'match');
            ara_deger_55=regexpi(METIN_DUZ, olabilir_ekler1);
            ara_deger_56=regexpi(METIN_DUZ, olabilir_ekler2);
            ara_deger_57=union(ara_deger_55,ara_deger_56);
            if ~isempty(ara_deger_57)
                [~,ia,~] = intersect(ara_deger_51,ara_deger_57);
                ara_deger_51(ia)=[];
                Elde_edilen_kelimeler_xg(ia)=[];
            end
            if ~isempty(ara_deger_51)
                ara_deger_53=zeros(1,Satir_sayisi);
                mevcut_kelimeler{end+1,1}=saf_kelime;
                incelenen_erem_kelimesi_tam(koseli_parantez_konumu(1):end)=[];
                ara_deger_52=length(incelenen_erem_kelimesi_tam)-length(saf_kelime);
                for i=1:length(ara_deger_51)
                    BULUNAN_TOPLAM_KELIME_SAYISI=BULUNAN_TOPLAM_KELIME_SAYISI+1;
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,1}=Elde_edilen_kelimeler_xg{i};
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,2}=incelenen_erem_kelimesi_tam(end-ara_deger_52+1:end);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,3}=ara_deger_51(i);
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,4}=length(Elde_edilen_kelimeler_xg{i});
                    GENEL_TUTUCU{BULUNAN_TOPLAM_KELIME_SAYISI,5}=ara_deger_52;
                    ara_deger_53(1,length(find(Satir_Konumlari<=ara_deger_51(i)))+1:Satir_sayisi)=i*ara_deger_52;
                end
                Satir_Konumlari_Total=Satir_Konumlari_Total+ara_deger_53;
            end            
        end
    end
end
mevcut_kelimeler(1,:)=[];
GENEL_TUTUCU(find(cellfun(@isempty,GENEL_TUTUCU(:,1))),:)=[];

%% Yazdrma ilemleri bu ksmda yaplyor
% Kelime anlamlar istenmesi durumunda byk harfle yazdrlyor
if KELIME_ANLAMLARI_BUYUK==1
    GENEL_TUTUCU=[GENEL_TUTUCU(:,1) cellfun(@upper, GENEL_TUTUCU(:,2),'UniformOutput', false) GENEL_TUTUCU(:,3:5)];
end
% Bu ksmda kelimelerin yerlerinin belirlenmesi tamamlanyor
[~,IX] = sort(cell2mat(GENEL_TUTUCU(:,3))+.001*cell2mat(GENEL_TUTUCU(:,4)));
GENEL_TUTUCU = GENEL_TUTUCU(IX,:);
xx=cumsum(cell2mat(GENEL_TUTUCU(:,5)));
GENEL_TUTUCU(:,6)=num2cell(xx);
xx2=[GENEL_TUTUCU{1,3};cell2mat(GENEL_TUTUCU(1:end-1,6))+cell2mat(GENEL_TUTUCU(2:end,3))];
GENEL_TUTUCU(:,6)=num2cell(xx2);
% Bu ksmda metin dz ierisine anlamalar ekleniyor
for i=1:size(GENEL_TUTUCU,1)
    if ~(i==1) && GENEL_TUTUCU{i,3}==GENEL_TUTUCU{i-1,3}
        METIN_DUZ=[METIN_DUZ(1:GENEL_TUTUCU{i,6}+GENEL_TUTUCU{i-1,4}-1) [GENEL_TUTUCU{i,1}(GENEL_TUTUCU{i-1,4}+1:end) GENEL_TUTUCU{i,2}] METIN_DUZ((GENEL_TUTUCU{i,6}+GENEL_TUTUCU{i,4}):end)];
    else
        METIN_DUZ=[METIN_DUZ(1:GENEL_TUTUCU{i,6}-1) [GENEL_TUTUCU{i,1} GENEL_TUTUCU{i,2}] METIN_DUZ((GENEL_TUTUCU{i,6}+GENEL_TUTUCU{i,4}):end)];
    end
end
% Eer pano 1 deerindeyse bitmi hal txt dosyasna yazdrlyor
if PANO==1
    if PDosyanin_Sonuna_Ekle==1
        fid=fopen('C:\Users\samsung\Desktop\Ana Klasor\txt belgeleri\pano olarak kullan.txt', 'a+');
    else
        fid=fopen('C:\Users\samsung\Desktop\Ana Klasor\txt belgeleri\pano olarak kullan.txt', 'w+');
    end
    for i=1:length(Satir_Konumlari_Total)
        if i==1
            satir=METIN_DUZ(1:Satir_Konumlari_Total(1)-1);
        else
            satir=METIN_DUZ(Satir_Konumlari_Total(i-1):Satir_Konumlari_Total(i)-1);
        end
        fprintf(fid, '%s\n', satir);
    end
    fclose all;
end
% Eer pano 2 deerindeyse bitmi hal ilgili renkler kullanlrarak command windowa yazdrlyor
if PANO==2    %cprintf komtu kullanlarak kelimelerin eklendii metin ekrana renkli olarak yazdrlyor
    duzz_metin2='black';%[0.83 0.79 0.96] %Burada dz metinin ekrana ne renk yazdrlacana karar veriliyor
    duz_style='*';
    duzz_metin=[duz_style num2str(duzz_metin2)];
    kelime_anliami2=[0.53 0.59 0.96];%[0.83 0.79 0.96];%[0.4,0.5,0.5];%'key';   %Burada kelime anlamlarnn ekrana ne renkte yazdrlcana karar veriliyor.
    kelime_style=''; %Burada bold iin *, alt izgi iin -, standart grnm iin bo braklmal
    kelime_anliami=[kelime_style num2str(kelime_anliami2)];
    D=cell(Satir_sayisi,6);
    D(:,6)=num2cell(Satir_Konumlari_Total'-.1);
    GENEL_TUTUCU2=[GENEL_TUTUCU;D];
    [~,IX2] = sort(cell2mat(GENEL_TUTUCU2(:,6)));
    GENEL_TUTUCU2 = GENEL_TUTUCU2(IX2,:);
    renk_secimi=1;
    for i=1:size(GENEL_TUTUCU2,1)-1
        sona_bakma_1=GENEL_TUTUCU2{i,6};
        sona_bakma_2=GENEL_TUTUCU2{i+1,6};
        if i==1
            if ~(mod(sona_bakma_1,1)==0)
                alinti=METIN_DUZ(1:floor(sona_bakma_1));
                cprintf(duzz_metin, '%s\n', alinti);
            else
                alinti=METIN_DUZ(1:sona_bakma_1+GENEL_TUTUCU2{i,4}-1);
                cprintf(duzz_metin, '%s', alinti);
            end
        end
        if ~(mod(sona_bakma_1,1)==0)
            if ~(mod(sona_bakma_2,1)==0)
                alinti=METIN_DUZ(ceil(sona_bakma_1):floor(sona_bakma_2));
                cprintf(duzz_metin, '%s\n', alinti);
            else
                alinti=METIN_DUZ(ceil(sona_bakma_1):sona_bakma_2+GENEL_TUTUCU2{i+1,4}-1);
                cprintf(duzz_metin, '%s', alinti);
            end
        else
            if ~(mod(sona_bakma_2,1)==0)
                alinti=METIN_DUZ(sona_bakma_1+GENEL_TUTUCU2{i,4}:sona_bakma_1+GENEL_TUTUCU2{i,4}+GENEL_TUTUCU2{i,5});
                cprintf(kelime_anliami, '%s', alinti);
                alinti=METIN_DUZ(sona_bakma_1+GENEL_TUTUCU2{i,4}+GENEL_TUTUCU2{i,5}+1:floor(sona_bakma_2));
                cprintf(duzz_metin, '%s\n', alinti);
            else
                alinti=METIN_DUZ(sona_bakma_1+GENEL_TUTUCU2{i,4}:sona_bakma_1+GENEL_TUTUCU2{i,4}+GENEL_TUTUCU2{i,5});
                cprintf(kelime_anliami, '%s', alinti);
                alinti=METIN_DUZ(sona_bakma_1+GENEL_TUTUCU2{i,4}+GENEL_TUTUCU2{i,5}+1:sona_bakma_2+GENEL_TUTUCU2{i+1,4}-1);
                cprintf(duzz_metin, '%s', alinti);
            end
        end
    end
end

%% ngilizce kelimeler listemi dzenleyen program

% 1. ngilizce gnlk ierisindeki bilgi alnyor ve arama iin dzenleniyor
% ingilizce_kelime=lower(ingilizce_kelime);
ingilizce_kelimeler_siralanmis=sortnat(ingilizce_kelime);

% 2. Yeni kelimeler alnyor ve dzenleniyor. Ayrca yeni kelimeler listeye ekleniyor bunun yannda eski kelimelerin de dzenlenmesi yaplmakta
mevcut_kelimeler=sortnat(mevcut_kelimeler);
eklenecek_kelimeler={'zzzz'};
ingilizce_kelimeler_siralanmis_saf=ingilizce_kelimeler_siralanmis;
metinde_yer_alan_sozluk_kelimeleri=cell(0);
% Bu ksma gerek yok bence
sayac_2=1;
for ii=1:length(mevcut_kelimeler)-1
    if strcmpi(mevcut_kelimeler{sayac_2,1},mevcut_kelimeler{sayac_2+1,1})
        mevcut_kelimeler(sayac_2+1,:)=[];
    else
        sayac_2=sayac_2+1;
    end
end

ingilizce_kelimeler_siralanmis_saf=regexprep(ingilizce_kelimeler_siralanmis,'\s*\(.+','');
%cell2mat(GENEL_TUTUCU(:,3)))
for i=1:length(mevcut_kelimeler)
    degisken17 = regexpi(ingilizce_kelimeler_siralanmis_saf,['^' mevcut_kelimeler{i} '$']);
    degisken17=find(~cellfun((@isempty),degisken17));
    if ~isempty(degisken17)
        degisken18=strfind(ingilizce_kelimeler_siralanmis{degisken17,1}, '(');
        if isempty(degisken18)
            ingilizce_kelimeler_siralanmis{degisken17,1}=[ingilizce_kelimeler_siralanmis{degisken17,1} '(2)'];
            metinde_yer_alan_sozluk_kelimeleri{end+1,1}=ingilizce_kelimeler_siralanmis{degisken17,1};
        else
            ingilizce_kelimeler_siralanmis{degisken17,1}=regexprep(ingilizce_kelimeler_siralanmis{degisken17,1},'\((\d{1,})\)','\(${num2str(str2num($1)+1)}\)');
            metinde_yer_alan_sozluk_kelimeleri{end+1,1}=ingilizce_kelimeler_siralanmis{degisken17,1};
        end
    else
        eklenecek_kelimeler{end+1,1}=mevcut_kelimeler{i};
        metinde_yer_alan_sozluk_kelimeleri{end+1,1}=mevcut_kelimeler{i};
    end
end

eklenecek_kelimeler(1,:)=[];
ingilizce_kelimeler_son=[ingilizce_kelimeler_siralanmis; eklenecek_kelimeler];
ingilizce_kelimeler_son=sortnat(ingilizce_kelimeler_son);

% Kelimle listesi alp almayacana karar veriliyot
if ACILACAK==1;
    open ingilizce_kelimeler_siralanmis
    open eklenecek_kelimeler
    open ingilizce_kelimeler_son
    open METIN
    open metinde_yer_alan_sozluk_kelimeleri
end

% Kelimle listesi kelime dosyasna yazdrlyor.
if KELIME_ing==1;
    fid=fopen('C:\Users\samsung\Desktop\Ana Klasor\txt belgeleri\ingilizce enson gnlk.txt', 'w+');
    for i=1:length(ingilizce_kelimeler_son)
        satir=ingilizce_kelimeler_son{i,:};
        fprintf(fid, '%s\n', satir);
    end
    fclose all;
end

% Bulunan mevcut kelimeler yedek kelime dosyasna yazdrlyor.
if YEDEK==1
    fid=fopen('C:\Users\samsung\Desktop\Ana Klasor\txt belgeleri\yedek ingilizce enson gnlk.txt', 'a+');
    for i=1:length(metinde_yer_alan_sozluk_kelimeleri)
        if i==1
            fprintf(fid, '\n\n');
            fprintf(fid, '%s  Toplam %d adet ve %d      %s\n', 'YENI BULUNAN KELIMELERIN LISTESI', length(metinde_yer_alan_sozluk_kelimeleri), length(ingilizce_kelimeler_son), date);
            fprintf(fid, '%s\n', '---------------------------------');
            fprintf(fid, '%s\n', '---------------------------------');
        end
        satir=metinde_yer_alan_sozluk_kelimeleri{i,:};
        fprintf(fid, '%s\n', satir);
    end
    fclose all;
end
gecen_sure= toc

Contact us