AngularJS ile Türkçe İşaret Dili Uygulaması Örneği

Angular'ın ng-repeat özelliğini gösteren bir uygulama fikri ararken, tdk'nın sitesinde işaret dillerinin giflerinin bulunduğunu gördüm bunun üzerine, bu gifleri kullanarak angular ile kelimelerin ve cümlerin anlık olarak bu gifler ile sunulabileceğini küçük bir angular uygulaması oluşturdum.

http://www.tdk.gov.tr/components/com_gts/assets/images/{HARF}.gif

Fakat tdk'nın sunduğu giflerde şöyle bir sorun bulunuyor, eğer harf ASCII dışı özel bir Türkçe karakter ise, harfin sonuna "t" ekleniyor. Örneğin "ş" harfi için "st" gibi.

HTML Kodlarımız şöyle;

<!DOCTYPE html>
<html>
<meta charset="utf-8"/>
<script src="angular.min.js"></script>
<title>İşaret Dili - Angular</title>
<style>
  li { float:left; list-style:none; }
  img { border:1px solid #eee;}
</style>
</head>
<div ng-app="ngUygulamam" ng-controller="ngKontrol">
  İşaret dili ile göstermek istediğiniz içeriği giriniz;<br>
  <input type="text" size="50" ng-model="cumle"/>

  <div class="gosterim">
    <li ng-repeat="harf in cumle track by $index">
     <img src="{{ imgRoot + escHarf(harf)}}.gif"/>
    </li>
  </div>
</div>
<script src="app.js"></script>
</body>
</html>

Ana mantığımız ng-model ile aldığımız cumle değişkenini track by $index olarak her harf için ng-repeat ile tekrar ettiriyoruz. Her harf için escHarf() fonksiyonunu çağırıyoruz.

var uygulama = angular.module("ngUygulamam", []);
  uygulama.controller("ngKontrol", function($scope){
    $scope.cumle = "";
    $scope.imgRoot = "http://www.tdk.gov.tr/components/com_gts/assets/images/";
    $scope.escHarf = function(hrf){
      return turkishCase(hrf);
    };
  });

  function turkishCase(hrf){
    switch(hrf) {
    case "ç" :
    case "Ç" :
        return "ct";
        break;
    case "ğ":
    case "Ğ":
        return "gt";
        break;
    case "ş":
    case "Ş":
        return "st";
        break;
    case "ö":
    case "Ö":
        return "öt";
        break;
    case "ü":
    case "Ü":
        return "ut";
        break;
    case "ı":
    case "I":
        return "it";
        break;
    case "İ":
        return "i";
        break;
    default:
        return hrf.toLowerCase();
    }
}

An itibari ile uygulama boşlukları desteklemiyor, Github üzerinden önerilerinizi ekleyebilirsiniz; https://github.com/btk/TurkceIsaretDili

Yorumları Göster veya Yeni Yorum Yaz