Skip to content

[AZ] Azərbaycan dilində ədədlərin sözlə yazılış təsviri üçün Go dilində yazılmış kitabxana. [EN] The library for converting numbers to words in the Azerbaijan language written in Go.

License

Notifications You must be signed in to change notification settings

egasimov/aznum2words

Repository files navigation

aznum2words logo


CI Go Report Card GitHub tag (latest SemVer) GitHub stars codecov

License GoDoc

AzNum2Words - Azərbaycan dilində ədədlərin sözlə yazılışı(və ya təsviri) üçün nəzərdə tutulan Go dilində yazılmış, açıq qaynaqlı kitabxanadır.


Məqsəd | Goal

Azərbaycan dilində ədədlərin(və ya rəqəmlərin) sözlə yazılış təsvirinə ehtiyac yarandığı hallar olur. Proqram səviyyəsində bu kimi ehtiyacları qarşılamaq üçün vahid bir kitabxananın olması, proqramçıların işini xeyli asanlaşdırır. Kitabxana tam və ya kəsr ədədlərin Azərbaycan dilində sözlə yazılışı(və ya təsviri) üçün nəzərdə tutulub.


İstifadə formaları | Usage forms

Həm library, həm də command-line tool kimi istifadə edilə bilər. Bundan əlavə web-app kimi də istifadə edərək mövcud sisteminə integrasiya etmək mümkündür.

Bu kitabxana vasitəsilə - müsbət, mənfi tam və ya kəsr ədədlərin sözlə yazılış təsvirini əldə etmək mümkündür.


İstifadə yerləri | Use cases

Azərbaycan dilində ədədlərin təsvirinə ehtiyac duyulan hallarda istifadə oluna bilər.

  • Statistik hesabatların tərtib olunması.
  • Maliyyə əməliyyatları zamanı məbləğin sözlə təsvir olunması.
  • Hüquqi və maliyyə sənədləri tez-tez çaşqınlığın qarşısını almaq və dəqiqliyi təmin etmək üçün rəqəmlərin ifadə sözünün istifadəsini tələb edir.
  • Çek yazarkən, dəyişikliklərin və ya saxtakarlığın qarşısını almaq üçün rəqəmsal məbləğə əlavə olaraq məbləğin sözlə ifadəsini də yazmaq adi bir təcrübədir.

Özəlliklər | Features

  • Tam ədədlərin sözlə təsvir olunması
  • Kəsr ədədlərin sözlə təsvir olunması
  • Müsbət vəya mənfi ədədlərin sözlə təsvir olunması
  • Söz ilə təsvir oluna biləcək maksimum tam ədəd: 10^63
  • Söz ilə təsvir oluna biləcək minumum kəsr ədəd: (10^-15)

Kitabxananın proyektə əlavə edilməsi | Add library into the project

go get github.com/egasimov/aznum2words@latest

Kitabxana kimi istifadə qaydası | Guideline for using as library

package main

import (
	"fmt"
	"github.com/egasimov/aznum2words"
)

func main() {
	// in real use, do not discard errors, rather handle it properly :)
	result1, _ := aznum2words.SpellNumber("-95412")
	result2, _ := aznum2words.SpellNumber("-2.7021")
	result3, _ := aznum2words.SpellNumber("5611113210")

	fmt.Println(result1)
	fmt.Println(result2)
	fmt.Println(result3)
}


NƏTİCƏ | OUTPUT

mənfi doxsan beş min dörd yüz on iki
mənfi iki tam on mində yeddi min iyirmi bir
beş milyard altı yüz on bir milyon bir yüz on üç min iki yüz on

CLI kimi quraşdırılması | CLI-Installation

// installs the binaries into $GOPATH/bin
go install github.com/egasimov/aznum2words/cmd/aznum2words-cli@latest

CLI kimi istifadə qaydası | Guideline for using as CLI app

$ aznum2words-cli -- 12.3
on iki tam onda üç

$ aznum2words-cli -- -12.3
mənfi on iki tam onda üç

Web app kimi quraşdırılması | Web-App Installations

// Clone the repository
git clone https://github.com/egasimov/aznum2words.git@latest

Web app kimi istifadə qaydası | Guideline for using as Web app

$ cd ./cmd/aznum2words-webapp/ 
$ go run ./aznum2words-webapp.go
curl --location 'http://localhost:8080/api/v1/conversion/to-word' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
  "number": "123.45"
}'

Qeyd: open-api-spec contract istifadə edərək online swagger-ui, Postman kimi alətlər ilə REST APİ-ni interaktiv test etmək mümkündür.


Test caseləri yoxlanması | Check test cases

go test -coverprofile=coverage.out ./... ;    go tool cover -html=coverage.out

Benchmark yoxlanılması

go test -bench=. -run=^# -benchmem

Versiyalar | Releases

Kitabxananın versiyaları Semver yanaşması ilə tənzimlənir.


Lisenziya | License

Kitabxana MIT Lisenziya altında lisenziyalaşdırılmışdır. Ətraflı məlumat üçün LICENSE faylını nəzərdən keçirin.


Proyektə necə dəstək olmaq olar | How to contribute to project ?

Proyektə contribute etmək üçün aşağıdakı təlimatları nəzərə ala bilərsiniz.

Testləri olmayan vəya nəzərə alınmayan PRlar qəbul edilməyəcək

  1. Reponu fork et
  2. Yeni feature branch yarat (git checkout -b my-new-feature)
  3. Dəyişiklikləri commit et (git commit -am 'Added some feature')
  4. Local branchı origin(remote repo) push et (git push origin my-new-feature)
  5. Yeni Pull Request yarat

Contributorlar

Bu layihəyə aşağıdakı şəxslər töhfə verib: