ქართული კლავიატურის სკრიპტი – GeoKBD

ქართული კლავიატურის სკრიპტი – GeoKBD წარმოადგენს
JavaScript – ზე დაწერილ სკრიპტს, რომლის დანიშნულებაც არის HTML
ფორმებთან მარტივი ინტეგრაცია და ფორმის სასურველ ველების ქართულად წერის
შესაძლებლობით აღჭურვა. ასევე მისი ინტეგრირება შესაძლებელია ნებისმიერი
ტიპის WYSIWYG (Rich) რედაქტორთან.

სკრიპტი მუშაობს და გატესტილია შემდეგ ბრაუზერებში:

  • InternetExprlorer 6
  • InternetExplorer 7
  • Mozilla FireFox
  • Safari Windows (wysiwyg რედაქტორების მხარდაჭერა ჯერ არ მუშაობს)
  • Safari Mac OS X
  • Opera
  • Camino
  • Mozilla SeaMonkey

სკრიპტი ვრცელდება MIT
ლიცენზიით
, და მისი გამოყენება შესაძლებელია ნებისმიერი ტიპის
პროექტისათვის, ცხადია საავტორო უფლებების დაცვით.

სკრიპტის გამოყენება მაქსიმალურად მარტივია და ფორმის ელემენტების
ქართული ბეჭდვის შესაძლებლობის რეალიზაციისათვის საკმარისია გამოვიყენოთ
ქვემოთ მოყვანილი მარტივი რომელიმ JavaScript კონსტრუქცია.

ერთი ფორმის, მრავალი ველის კლავიატურასთან მიბმა
შესაძლებელია დინამიური მასივისა და შედმეგი ტიპის კონსტრუქციის
გამოყენებით:

GeoKBD.map('my-form', ['my-field-one', 'my-field-two']);

იმ შემთხვევაში თუ საჭიროა ფორმის ყველა ელემენტის
კლავიატურაზე მიბმა საკმარისია შემდეგი კონსტრუქცია:

GeoKBD.map('my-form');

იმ შემთხვევაში თუ გვსურს დოკუმენტში არსებული ყველა ფორმის
ყველა ელემენტის კლავიატურაზე მიბმა საკმარისია შემდეგი
კონსტრუქცია:

GeoKBD.map();

ხოლო ერთი ველის ქართულ კლავიატურასთან მისაბმელად
შესაძლებელია გამოვიყენოთ ქვემოთ ნაჩვენები კონსტრუქციებიდან
ერთერთი:

GeoKBD.map('my-form', ['my-field-one']);
//ან ასე
GeoKBD.map('my-form', 'my-field-one');

სკრიპტის აღსანიშნავი დეტალია ის რომ, ამ მომენტისათვის იგი
ერთადერთია რომლის მეშვეობითაც შესაძლებელია ე.წ. WYSIWYG
რედაქტორების მიბმა ქართულ კლავიატურასთან. ამ ეტაპისათვის წარმატებით
არის გატესტილი TinyMCE, FckEditor , vBulletin
და IPB ფორუმების რედაქტორებთან ინტეგრაცია.

wysiwyg ედიტორთან ინტეგრაციისათვის საჭიროა შემდეგი ტიპის
კონსტრუქციის გამოყენება:

GeoKBD.mapIFrame('myEditorId');
//სადაც 'myEditorId თქვენი კომპონენტის იდენტიფიკატორია!

ზემოთ ჩამოთვლილი WYSIWYG რედაქტორებიდან TinyMCE – სთვის არსებობს
შესაბამისი პლაგინი რომელიც იყენებს GeoKBD ბიბლიოთეკას. მისი გადმოწერა
შესაძლებელია ამ
მისამართიდან
. ხოლო ინსტალაციის ინსტრუქცია შეგიძლიათ იხილოთ
ამ
მისამართზე
.

ეს შესაძლებლობა ჯერ არ მუშაობს IE – ში. ეს შესაძლებლობა
უკვე მუშაობს IE – ში.


ასევე სკრიპტში რეალიზებულია “~” კლავიშით ქართული კლავიატურის ჩართვისა
და გამორთვის მხარდაჭერა. თუმცა ამისათვის “checkbox” ელემენტი არ არის
საჭირო(მიუხედავად იმისა რომ მისი მხარდაჭერაც აქვს
სკრიპტს)

გარდა ზემოთ ჩამოთვლილი შესაძლებლობებისა სკრიპტს გააჩნია სხვა
სასარგებლო დეტალები რომლის შესახებაც შეგიძლია წაკითხოთ შესაბამის
“GeoKBD” განყოფილებაში

სკრიპტის უახლესი ვერსიის გადმოწერა შესაძლებელია Google
- ს SVN რეპოზიტორიდან

ხოლო მისი მუშა მაგალითი შეგიძლიათ იხილოთ ამ მისამართზე.

85 Responses to “ქართული კლავიატურის სკრიპტი – GeoKBD”

  1. ნინო says:

    ხომ ვერ მეტყვიით სჰეიდზლება თუ არ ა მტელი წინადადება რომ გადავტარგმნოო და თუ კი როოგოორ ვერ მეტყვიით?

  2. ნინო says:

    ჰმ.. აუუ ძალიან მჭირდება აიი მართლა მართლა და მიშველეთ :D

  3. dixtosa says:

    ნინო, რა მთელი წინადა დება გაათარმნო?

  4. ლუკა says:

    დიდი მადლობა ძალიან კარგი რამეა.
    unmap ფუნქცია რო დაამატო ძალიან გამოსადეგი იქნება. მე ალტერნატივას ვნახავ მარა შეიძლება ვინმე სხვასაც დაჭირდეს :)

    და მთელ საიტს უკეთებს map-ს არადა მარტო ფორმა მაქ მითითებული და ფორმასაც სწორად ქვია სახელი. Any suggestions? :)

  5. ნინო says:

    ხოოო ოგონდ ქარტული რომ იყოს რუსული არ მინდა და არიიიის? აუ მჭირდება მარტლა :( თან ძალიან :)

  6. dixtosa says:

    გოგოები რას აქტიურობენ:D

  7. ლუკა says:

    ვინმე კითხულობს ამ ბლოგს?
    ავტორი თუ არ ადევნებს თვალს წაშალოს ან დახუროს რა თემა
    მარა თუ არ ადევნებს რას ნახავს ამ მესიჯს

    იტოგში არასწორად მუშაობს სკრიპტი ფორმას რო უთითებ მაინც მთელ body-ს map-ავს და იქნებ ან გაასწოროთ ან მითხრათ რო არ გაასწორებთ :/

  8. @ლუკა
    - ვინმე კითხულობს ამ ბლოგს?
    - ბლომად ხალხი

    - ავტორი თუ არ ადევნებს თვალს წაშალოს ან დახუროს რა თემა
    მარა თუ არ ადევნებს რას ნახავს ამ მესიჯს
    - ეს თემა ვფიქრობ არ არის დახურვის ღირსი, კაცმა ამდენი იწვალა

    - იტოგში არასწორად მუშაობს სკრიპტი ფორმას რო უთითებ მაინც მთელ body-ს map-ავს და იქნებ ან გაასწოროთ ან მითხრათ რო არ გაასწორებთ :/
    - ბექა ალბათ არასწორად წერ იქნებ დადო მაგალითი და კონკრეტული პრობლემა, 10000-სგან გამომიყენებია ეს სკრიპტი და არსად პრობლემა არ ააქვს.

  9. ლუკა says:

    ალეკო მადლობ გამოხმაურებისთვის

    ბლოგის კითხვაში სკრიპტის გადაწერას არ ვგულისხმობ :)
    თუ ვინმეს წარმოდგენა აქვს რაში შეიძლება იყოს საქმე, მადლობელი დავრჩები თუ დამეხმარება :)

    მოკლედ ერთ დივში მაქ და ამისთვის ვიყენებ სკრიპტს, მაგრამ მერე captcha მაქვს სულ სხვა დივში და ფორმაში და რატომღაც ისიც ქართულდება. ფორმებს სხვადასხვა სახელები აქვს, და გარკვევით მაქვს მითითებული Geokbd.map(’search-form’); ფორმაშიც ვცადე და ფორმის გარეთაც მაგრამ შედეგი იგივეა,
    ვინმეს ხომ არ გქონიათ მსგავსი პრობლემა?

  10. @ლუკა
    ეხლა დაახლოებით გავიგე რა პრობლემაც გაქვს :)
    2 ფორმასთან ააქვს პრობლემა და გაასწორებს ავტორი ვფიქრობ :) მაგრამ მანამდე შემიძლია ალტერნატივა შემოგთავაზო კონკრეტულ ელემენტებზე მიმართვით class-ით, id-ით ან name-ით, ვინაიდან მე სულ კლასით ვიყენებ არასოდეს მქონია ეს პრობლემა. მოკლედ ესე (.-ით)-

    1
    GeoKBD.map({fields: ['.geo']});

    ესე ქართული კლავიატურა ებმება ყველა ელემენტს რომელსაც ააქვს geo კლასი მაგალითად

    1
     

    იგივე წესი მუშაობს id-ებზეც ესე (#-ით) -

    1
    GeoKBD.map({fields: ['#textField1','#textField2']});

    და ზუსტად იგივე წესი მუშაობს name-თიც -

    1
    GeoKBD.map({fields: ['textField1','textField2']});

    ეს ბოლო 2 კარგია, მაგრამ როცა ბევრი(!) ელემენტის ჩამოთვლა გიწევს, მაშინ ალბათ ჯობია კლასით გააკეთო ეს ყველაფერი და არ დაიწყო ელემენტების ჩამოთვლა.
    ბოლოს შედეგები დაწერე :)

  11. ალეკო says:

    ეუფ :( პოსტი გამიფუჭა ტეგებმა მაშინ პირდაპირ დავწერ – და იოსებ მერე ამოშალე რა ჩემი წინა კომენტარი –
    ——————————————————————————
    @ლუკა
    ეხლა დაახლოებით გავიგე რა პრობლემაც გაქვს :)
    2 ფორმასთან ააქვს პრობლემა და გაასწორებს ავტორი ვფიქრობ :) მაგრამ მანამდე შემიძლია ალტერნატივა შემოგთავაზო კონკრეტულ ელემენტებზე მიმართვით class-ით, id-ით ან name-ით, ვინაიდან მე სულ კლასით ვიყენებ არასოდეს მქონია ეს პრობლემა. მოკლედ ესე (.-ით)-

    1
    GeoKBD.map({fields: ['.geo']});

    ესე ქართული კლავიატურა ებმება ყველა ელემენტს რომელსაც ააქვს geo კლასი მაგალითად

    იგივე წესი მუშაობს id-ებზეც ესე (#-ით) –

    GeoKBD.map({fields: ['#textField1','#textField2']});
    

    და ზუსტად იგივე წესი მუშაობს name-თიც –

    GeoKBD.map({fields: ['textField1','textField2']});
    

    ეს ბოლო 2 კარგია, მაგრამ როცა ბევრი(!) ელემენტის ჩამოთვლა გიწევს, მაშინ ალბათ ჯობია კლასით გააკეთო ეს ყველაფერი და არ დაიწყო ელემენტების ჩამოთვლა.
    ბოლოს შედეგები დაწერე :)

  12. ალეკო says:

    ეეეეეეუუუუუუფ ვინმემ მიშველეთ :D :( პოსტი კიდევ გამიფუჭა ტეგებმა მაშინ პირდაპირ დავწერ < -ების გარეშე – და იოსებ მერე ამოშალე რა ჩემი წინა კომენტარები –
    ——————————————————————————
    @ლუკა
    ეხლა დაახლოებით გავიგე რა პრობლემაც გაქვს :)
    2 ფორმასთან ააქვს პრობლემა და გაასწორებს ავტორი ვფიქრობ :) მაგრამ მანამდე შემიძლია ალტერნატივა შემოგთავაზო კონკრეტულ ელემენტებზე მიმართვით class-ით, id-ით ან name-ით, ვინაიდან მე სულ კლასით ვიყენებ არასოდეს მქონია ეს პრობლემა. მოკლედ ესე (.-ით)-

    GeoKBD.map({fields: ['.geo']});

    ესე ქართული კლავიატურა ებმება ყველა ელემენტს რომელსაც ააქვს geo კლასი მაგალითად

    input type="text" class="geo" name="textField"
    textarea class="geo"
    

    იგივე წესი მუშაობს id-ებზეც ესე (#-ით) –

    GeoKBD.map({fields: ['#textField1','#textField2']});
    input type="text" class="geo" id="textField1"
    input type="text" class="geo" id="textField2"
    

    და ზუსტად იგივე წესი მუშაობს name-თიც –

    GeoKBD.map({fields: ['textField1','textField2']});
    input type="text" class="geo" name="textField1"
    input type="text" class="geo" name="textField2"
    

    ეს ბოლო 2 კარგია, მაგრამ როცა ბევრი(!) ელემენტის ჩამოთვლა გიწევს, მაშინ ალბათ ჯობია კლასით გააკეთო ეს ყველაფერი და არ დაიწყო ელემენტების ჩამოთვლა.
    ბოლოს შედეგები დაწერე :)

  13. ლუკა says:

    ალეკო ძალიან დიდი მადლობა, გამოვიდა ყველაფერი. :)
    მაგაზე აღარ დავფიქრებულვარ რომ სახელს რო გადავცემდი DOM-ში ცვლიდა იმ სახელის ობიექტს. მარტივი და გენიალურია :)

  14. გურგენა says:

    ვერაპერი ვერ გავიგე ტოოო

  15. გურგენა says:

    გამაკეტებინეტ ვინმემ

  16. გოჩა says:

    მასტერ იოსებ, იქნებ გარკვევით მომცე ერთი მშვენიერი მაგალითი თუ როგორ მივაბა ბულლეტინის ფორუმზე ეს ისე, როგორც ამ ველში ვწერ და თან შემიძლია გადართვა. მოკლედ Mტელი ოფლის ღვრით მივაგენი ისევ ამ ბლოგზე და მივაბი ისიც მხოლოდ სწრაფ პასუხში, თუმცა ასეთი რამ ვერ მოვიხერხე:
    “ქართული კლავიატურა, ჩართვა/გამორთვა კლავიშით “~” ”

    აბა შენ ღა დარჩი, იმედია თვალ ყურს ადევნებ აქაურობას და აქედან მაინც მოგაწვდენ ხმას

  17. გოჩა says:

    მოკლედ სხვა გამოსავალი ვიპოვე, სუხიაშვილის სკრიპტი დავაყენე და ეგრევე მოვიხსენი ეს პრობლემა… მაინც მადლობ იოსებ. ცოდნის დონეს რო ავიწევ ეგებ მერე ამ სკრიპტსაც ცოდნის გამო ჩავსვამ .

  18. ვერაფრით ვერ მოვახერხე CHECKBOX ელემენტის ინტეგრირება:( იქნებ დამეხმაროთ :( IPB 3.0

  19. @გიორგი
    სიმართლე გითხრა არც ჩექბოქს ააქვს პრობლემა და 3.0-ზეც კარგად მოვარგე რამდენიმე დღის წინ. ვგულისხმობ უშუალობ ფორუმს, ეხლა ვმუშაობ ერთერთ პლაგინზე – შუტბოქსისთვის მორგებაზე.
    და კიდევ იმასაც ვფიქრობ რომ მოარგე თუ ვერა, საერთოდ მგონი აღარ არის საჭირო ჩექბოქსი? იმიტომ რომ ძებნის ველი ცალკეა, პოსტის ცალკე, რავი კიდევ რა ველები და ყველას ხო არ გაუკეთებ ჩექბოქსებს? იქნება საერთოდ აღარ არის საჭირო ეს ჩექბოქსი და მორჩა? ყველამ ვიცით ~ კლავიში ისევე როგორც ALT+SHIFT და მორჩა?…

  20. ??????????????? says:

    WYSIWYG რედაქტორთან როგორ დავაყენო, ამის ტუტორიალის ლინკი გაასწორეთ გთხოვთ, ან ამიხსენით ვინმემ, ჯუმლაზე მინდა და იმუშავებს? თუ ტყუილად ვწვალობ? მადლობა წინასწარ კეთილ ხალხს

  21. avto says:

    სად უნდა მივაბა მოცემული კკოდები?

  22. zur4ik says:

    GeoKBD.map({fields: ['.geo']});

    აუ ეს მეთოდი არ შველის ((
    რამე შეიცვალა ნეტა სკრიპტში ალეკოს პოსტის დაწერის მერე?

  23. zur4ik says:

    რატომ არ იმუშავა ჩემთან არ ვიცი. ისე სხვათაშორის, ამ კომენტ-ტექსტარეაშიც არ მუშაობს ქართული კლავიატურა.

    გუშინ რომ ბევრი ჩალიჩის მერე არა და არ იმუშავა სკრიპტმა კონკრეტული კლასის გაქართულინპუტებაზე ასეთი ფუნქცია მივამატე და ჩემდაგასაოცრად, გამომივიდა:

    .

    //კონკრეტული კლასის მქონე ობიექტის მიღება
    function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();

    if ( node == null )
    node = document;
    if ( tag == null )
    tag = ‘*’;
    var elements = node.getElementsByTagName(tag);
    var elemLength = elements.length;
    var pattern = new RegExp(‘(^|\\\\s)’+searchClass+’(\\\\s|$)’);
    for (var i = 0, j = 0; i < elemLength; i++) {
    if ( pattern.test(elements[i].className) ) {
    classElements[j] = elements[i];
    j++;
    }
    }
    return classElements;
    }

    //მივიღე ყველა ობიექტი რომლის კლასიც არის 'geo'
    var geoInputs = getElementsByClass('geo');
    var inputsCount = geoInputs.length – 1;
    var inputNames = [];

    for (i=0;i<=inputsCount;i++) {

    //გამოვიყვანე ობიექტების სახელები
    inputNames.push(geoInputs[i].name);

    }

    //და ასე ამუშავდა ყველა იმ ველისთვის რომლის კლასიც არის 'geo'
    GeoKBD.map('myform', inputNames, 'geochk');

    });

    ჩემთან მუშაობს გადასარევად. თქვენთან სინჯეთ აბა…

  24. მათე says:

    ვინმემ დაწერეთ როგორ დავაყენო ეს სკრიპტი

  25. სოკო says:

    მწურდება ფონტების სესქმნელი პროგრამა რომელს მირჩევთ

  26. სუხო says:

    გამარჯობათ!

    ძალიან გთხოვთ მითხრათ ზემოთ მოცემული სკრიპტები რომელ ფაილში ჩავწერო? CSS? მინდა რომ ამ საიტის მზგავსად კომენტარებში ხალხს ქართულად წერა შეეძლოს. მადლობთ წინასწარ

  27. სტუმარი says:

    რატომღაც ზემოთ დასახელებული ბმულები არ მუშაობენ. ეს ადგილები შეამოწმეთ:

    შესაძლებელია ამ
    მისამართიდან. ხოლო ინსტალაციის ინსტრუქცია შეგიძლიათ იხილოთ
    ამ
    მისამართზე.

    და სხვა ბმულებიც გადაამოწმეთ რა

  28. ზაბენომ says:

    როგორ მივუთითო რომელი checkbox_ი იყოს ენის გადამრთველი?

  29. გიორგი says:

    მითხარით ვინმემ როგორ მივაბა tinymce-ის checkbox. არ მითხრათ ახლა რაში გჭირდებაო, მჭირდება.

    როგორც მივხვდი switcher -ახორციელებს ამ საქმეს. როგორ მივმართო რომ checkbox ავამუშავო?

  30. სვანი says:

    როგორც იქნა. იმუშავა :) ))

  31. levglonti says:

    მოგესალმებით
    ვიყენებ Midori Web Browser-ს => http://www.twotoasts.de/index.php?/pages/midori_summary.html
    სამწუხაროდ, სკრიპტი არ მუშაობს
    შეიძლება მიდორის ბრალიც იყოს, ჯერ ძალიან ახალგაზრდაა :)

  32. @levglonti

    გამარჯობა, წარმოდგენა არ მაქვს მი(ნ)დორის შესახებ, ერთი რაც ვნახე ვებ კიტზეა დაფუძნებული მგონი მაგრამ საშუალება არ მაქვს რომ გავტესტო :(

  33. აუუუუ ძალიაან მინდააა ქარტული კლავიატურა ტან მალეეეეეეეე რა ვქნაააა ???? :( ((((

  34. ოხ ლევან ლევან :) საიდან მოიტან ხოლმე ამ უცნაურ პროგრამებს თუ ოპერაციულებს( :) ))
    სკრიპტი კარგი არ მუშაობს მაგრამ ქართული უნიკოდი საერთოდ იცის მაგ ბროუზერმა? ვინდოუსის პლათფორმაზე გაშვებულმა ესეთი სახე მომცა –

    მიუხედავად იმისა რომ UTF8 ჩავურთე

  35. @ხატია

    და პრობლემა რაში მდგომარეობს? ვერ აინტეგრირებთ თუ GeoKBD – ს აქვს რაიმე პრობლემა?

დატოვე კომენტარი:

ქართული კლავიატურა, ჩართვა/გამორთვა კლავიშით "~"