{"id":24089449,"url":"https://github.com/longbridge/autocorrect","last_synced_at":"2025-02-27T05:25:40.394Z","repository":{"id":43899414,"uuid":"232334637","full_name":"longbridge/autocorrect","owner":"longbridge","description":"Automatically add whitespace between Chinese and half-width characters (alphabetical letters, numerical digits and symbols).","archived":false,"fork":false,"pushed_at":"2024-12-16T06:10:52.000Z","size":167,"stargazers_count":40,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-20T01:19:05.873Z","etag":null,"topics":["autocorrect","copywriting","correct","formatter"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/longbridge.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-07T13:51:06.000Z","updated_at":"2025-02-17T03:06:43.000Z","dependencies_parsed_at":"2025-01-21T10:15:26.781Z","dependency_job_id":null,"html_url":"https://github.com/longbridge/autocorrect","commit_stats":null,"previous_names":["huacnlee/go-autospace","huacnlee/go-auto-correct","longbridge/autocorrect","longbridgeapp/autocorrect"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longbridge%2Fautocorrect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longbridge%2Fautocorrect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longbridge%2Fautocorrect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longbridge%2Fautocorrect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/longbridge","download_url":"https://codeload.github.com/longbridge/autocorrect/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240983004,"owners_count":19888604,"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":["autocorrect","copywriting","correct","formatter"],"created_at":"2025-01-10T04:13:19.051Z","updated_at":"2025-02-27T05:25:40.378Z","avatar_url":"https://github.com/longbridge.png","language":"HTML","funding_links":[],"categories":["开发工具\u0026框架"],"sub_categories":[],"readme":"# AutoCorrrect for Go\n\n[![Test](https://github.com/longbridge/autocorrect/actions/workflows/go.yml/badge.svg)](https://github.com/longbridge/autocorrect/actions/workflows/go.yml)\n\nAutomatically add whitespace between CJK (Chinese, Japanese, Korean) and half-width characters (alphabetical letters, numerical digits and symbols).\n\nGo 版本的 [AutoCorrect](https://github.com/huacnlee/autocorrect) 实现，用于帮助开发者在 Go 的项目中使用自动纠正（提交内容或返回数据格式化）中英文之间空格，错误使用半角标点符号等问题，以确保产品能有统一的输出文案。\n\n\u003e 可配套采用 Rust 开发的 [AutoCorrect](https://github.com/huacnlee/autocorrect) 的 Lint、VS Code 以及 CI 检查流程等功能，来改进 I18n、项目文案、注释等细节。\n\n## Other implements\n\n- Rust - [autocorrect](https://github.com/huacnlee/autocorrect).\n- Ruby - [auto-correct](https://github.com/huacnlee/auto-correct).\n\n## Features\n\n- Auto add spacings between CJK (Chinese, Japanese, Korean) and English words.\n- HTML content support.\n- Fullwidth -\u003e halfwidth (only for [a-zA-Z0-9], and `：` in time).\n- Correct punctuations into Fullwidth near the CJK.\n- Cleanup spacings.\n- Support options for custom format, unformat.\n\n## Usage\n\n```\ngo get github.com/longbridge/autocorrect\n```\n\nUse `autocorrect.Format` to format plain text.\n\nhttps://play.golang.org/p/ntVhrGYnxNk\n\n```go\npackage main\n\nimport \"github.com/longbridge/autocorrect\"\n\nfunc main() {\n  autocorrect.Format(\"长桥LongBridge App下载\")\n  // =\u003e \"长桥 LongBridge App 下载\"\n\n  autocorrect.Format(\"Ruby 2.7版本第1次发布\")\n  // =\u003e \"Ruby 2.7 版本第 1 次发布\"\n\n  autocorrect.Format(\"于3月10日开始\")\n  // =\u003e \"于 3 月 10 日开始\"\n\n  autocorrect.Format(\"包装日期为2013年3月10日\")\n  // =\u003e \"包装日期为 2013 年 3 月 10 日\"\n\n  autocorrect.Format(\"生产环境中使用Go\")\n  # =\u003e \"生产环境中使用 Go\"\n\n  autocorrect.Format(\"本番環境でGoを使用する\")\n  # =\u003e \"本番環境で Go を使用する\"\n\n  autocorrect.Format(\"프로덕션환경에서Go사용\")\n  # =\u003e \"프로덕션환경에서 Go 사용\"\n\n  autocorrect.Format(\"需要符号?自动转换全角字符、数字:我们将在１６：３２分出发去ＣＢＤ中心.\")\n  # =\u003e \"需要符号？自动转换全角字符、数字：我们将在 16:32 分出发去 CBD 中心。\"\n}\n```\n\nWith custom formatter:\n\n```go\ntype myFormatter struct {}\nfunc (my myFormatter) Format(text string) string {\n  return strings.ReplaceAll(text, \"ios\", \"iOS\")\n}\n\nautocorrect.Format(\"新版本ios即将发布\", myFormatter{})\n// \"新版本 iOS 即将发布\"\nautocorrect.FormatHTML(\"\u003cp\u003e新版本ios即将发布\u003c/p\u003e\", myFormatter{})\n// \"\u003cp\u003e新版本 iOS 即将发布\u003c/p\u003e\"\n```\n\nUse `autocorrect.Unformat` to cleanup spacings in plain text.\n\n```go\npackage main\n\nimport \"github.com/longbridge/autocorrect\"\n\nfunc main() {\n  autocorrect.Unformat(\"据港交所最新权益披露资料显示，2019 年 12 月 27 日，三生制药获 JP Morgan Chase \u0026 Co.每股均价 9.582 港元，增持 270.3 万股，总价约 2590 万港元。\")\n  // =\u003e \"据港交所最新权益披露资料显示，2019年12月27日，三生制药获JP Morgan Chase \u0026 Co.每股均价9.582港元，增持270.3万股，总价约2590万港元。\"\n}\n```\n\nUse `autocorrect.FormatHTML` / `autocorrect.UnformatHTML` for HTML contents.\n\nhttps://go.dev/play/p/qS6NuPcYjSa\n\n```go\npackage main\n\nimport \"github.com/longbridge/autocorrect\"\n\nfunc main() {\n  autocorrect.FormatHTML(htmlBody)\n  // =\u003e \"\u003cdiv\u003e\u003cp\u003e长桥 LongBridge App 下载\u003c/p\u003e\u003cp\u003e最新版本 1.0\u003c/p\u003e\u003c/div\u003e\"\n  autocorrect.UnformatHTML(htmlBody)\n  // =\u003e \"\u003cdiv\u003e\u003cp\u003e长桥LongBridge App下载\u003c/p\u003e\u003cp\u003e最新版本1.0\u003c/p\u003e\u003c/div\u003e\"\n}\n```\n\n## Benchmark\n\nRun `go test -bench=.` to benchmark.\n\n```\npkg: github.com/longbridge/autocorrect\nBenchmarkFormat50-8           \t   28234\t     40439 ns/op\nBenchmarkFormat100-8          \t   15157\t     79213 ns/op\nBenchmarkFormat400-8          \t    4172\t    287352 ns/op\nBenchmark_halfwidth-8         \t  526154\t      2248 ns/op\nBenchmarkFormatHTML-8         \t    1663\t    713339 ns/op\nBenchmarkFormatHTML_large-8   \t      18\t  64326771 ns/op\n```\n\n### Format\n\n| Total chars | Duration |\n| ----------- | -------- |\n| 50          | 0.06 ms  |\n| 100         | 0.11 ms  |\n| 400         | 0.42 ms  |\n\n### FormatHTML\n\n| Total chars | Duration |\n| ----------- | -------- |\n| 2K          | 1.09 ms  |\n| 300K        | 63.36 ms |\n\n## License\n\nThis project under MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongbridge%2Fautocorrect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flongbridge%2Fautocorrect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongbridge%2Fautocorrect/lists"}