{"id":13408656,"url":"https://github.com/01walid/goarabic","last_synced_at":"2025-04-15T03:54:33.557Z","repository":{"id":30513015,"uuid":"34067462","full_name":"01walid/goarabic","owner":"01walid","description":"A Go Lang package for dealing with Arabic text.","archived":false,"fork":false,"pushed_at":"2023-05-28T08:50:11.000Z","size":17,"stargazers_count":110,"open_issues_count":8,"forks_count":28,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-15T03:54:27.748Z","etag":null,"topics":["arabic","arabic-language","glyphs","go","golang","special-characters","text-processing"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/01walid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-04-16T16:34:12.000Z","updated_at":"2025-01-18T19:55:13.000Z","dependencies_parsed_at":"2024-01-18T17:43:58.150Z","dependency_job_id":"c3eacfdd-2bb0-45f1-b5d7-fcb4011a5b77","html_url":"https://github.com/01walid/goarabic","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/01walid%2Fgoarabic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/01walid%2Fgoarabic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/01walid%2Fgoarabic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/01walid%2Fgoarabic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/01walid","download_url":"https://codeload.github.com/01walid/goarabic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249003954,"owners_count":21196794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arabic","arabic-language","glyphs","go","golang","special-characters","text-processing"],"created_at":"2024-07-30T20:00:54.401Z","updated_at":"2025-04-15T03:54:33.540Z","avatar_url":"https://github.com/01walid.png","language":"Go","funding_links":[],"categories":["Programming Languages","自然語言處理-阿拉伯語","Libraries and Frameworks"],"sub_categories":["函式庫"],"readme":"\n# GoArabic\n[![Build Status](https://travis-ci.org/01walid/goarabic.svg)](https://travis-ci.org/01walid/goarabic)  [![GoDoc](https://godoc.org/github.com/01walid/goarabic?status.svg)](https://godoc.org/github.com/01walid/goarabic)\n\nA Go Lang package for dealing with Arabic text.\n\nThis is an initial work on a set of Go functions developed to enhance Arabic web applications.\nIt all started when I wanted to develop a self-hosted no-dependency and standalone Arabic Captcha in Go (for fun, as I was discovering Go ~8 yrs ago), and as expected, the Arabic text wasn't rendered as it should:\n\n![Before processing](https://res.cloudinary.com/walid/image/upload/v1429186546/before_pcyoha.png)\n\nSo I started playing with Glyphs, unicode, and the special Arabic rules for joining letters. After a bit of work, I got this:\n\n![Before processing](https://res.cloudinary.com/walid/image/upload/v1429186546/after_cmkukt.png)\n\nshouldn't this be a separated package, along with other functionalities? I guess it should!\n\n## Current functionalities\n- Glyph representation of the given Arabic text for images/pdf .. etc generation.\n- Strip Tashkeel (Arabic Vowels).\n- SmartLengh: return the length of the given Arabic String without considering Tashkeel (Arabic Vowels).\n- Strip Tatweel\n- rune-wise (UTF-8) reverse of the Arabic text, leaving out the Latin one.\n\n## Todo\n- Arabic text normalization (Unshaping)\n- Add support for some special Quran text characters in Glyphs\n- Richer SmartLengh, ignoring some special characters.\n- Slugify: a simple Arabic slug generation. Striping Tashkeel and other special chars.\n- Spell numbers in Arabic idiom.\n- Present dates in Arabic or Hijri and convert Hijri date into Unix timestamp\nAnd maybe more...\n\n## Usage\n\n### Importing\n```go\ngo get github.com/01walid/goarabic\n```\n##### Example Usage\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"github.com/01walid/goarabic\"\n)\n\nfunc main() {\n    fmt.Println(goarabic.RemoveTashkeel(\"نًصٌ عَربيُّ\"))\n    fmt.Println(goarabic.ToGlyph(\"تجربة النص العربي\"))\n}\n\n```\n## Documentation\nPackage docs available on [gopkgdoc](https://godoc.org/github.com/01walid/goarabic).\n\n## Contributing\nContributions are greatly appreciated. Please fork this repository, make your changes, and open a pull request. More test cases and considerations might be needed, you can run tests using `go test` for the existing functionalities.\n\nThis a [SemVer](http://semver.org/)sioned package.\n## License\nMIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F01walid%2Fgoarabic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F01walid%2Fgoarabic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F01walid%2Fgoarabic/lists"}