{"id":15387262,"url":"https://github.com/rhysd/translate-markdown","last_synced_at":"2025-10-07T02:32:08.539Z","repository":{"id":57379124,"uuid":"73540014","full_name":"rhysd/translate-markdown","owner":"rhysd","description":"CLI tool to translate Markdown document with Google translate","archived":false,"fork":false,"pushed_at":"2019-04-01T09:07:21.000Z","size":13,"stargazers_count":67,"open_issues_count":1,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-10T09:44:34.198Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhysd.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}},"created_at":"2016-11-12T08:04:05.000Z","updated_at":"2025-02-06T14:34:21.000Z","dependencies_parsed_at":"2022-09-02T20:41:27.794Z","dependency_job_id":null,"html_url":"https://github.com/rhysd/translate-markdown","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhysd%2Ftranslate-markdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhysd%2Ftranslate-markdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhysd%2Ftranslate-markdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhysd%2Ftranslate-markdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhysd","download_url":"https://codeload.github.com/rhysd/translate-markdown/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249118776,"owners_count":21215618,"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":[],"created_at":"2024-10-01T14:53:06.208Z","updated_at":"2025-10-07T02:32:08.482Z","avatar_url":"https://github.com/rhysd.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Translate Markdown document on [Google Translate](https://translate.google.com/)\n================================================================================\n\n`translate-markdown` is a command line tool to translate your Markdown document on [Google Translate](https://translate.google.com/). It receives Markdown document from stdin and strips it to plain text, then open Google Translate with the plain text on a browser.\n\n## Install\n\n```\n$ npm install -g translate-markdown\n```\n\n## Usage\n\nPlease see `translate-markdown --help`.\n\n![screen shot](https://github.com/rhysd/ss/blob/master/translate-markdown/main.gif?raw=true)\n\n```\n$ translate-markdown [--help|--strip-only|--apikey {key}] {target lang}\n\n    Translate Makrdown document from stdin.\n\nExample:\n\n    Below receive Markdown text (README.md) from stdin and open a browser to\n    translate it in Google Translate.\n\n        $ cat README.md | translate-markdown ja\n\n    Note that there is restriction of the number of characters.\n\nOptions:\n\n    {target lang}\n        Specify target language you want to translate. For example, 'en' is for\n        English and 'ja' is for Japanese. The language of markdown text is\n        automatically detected.\n\n    --strip-only\n        Strip markdown to plain text only. Stripped plain text is output to\n        stdout.\n\n    --apikey {key}\n        Use Google Translate API isntead of opening a browser. The result text will\n        be output to stdout. You can also use $TRANSLATE_MARKDOWN_APIKEY environment\n        variable to set a API key.\n\n    --help\n        Show this help.\n\n```\n\nFeatures are also available from Node.js program. Please see [APIs in code](index.js).\n\n## Tips\n\n### Use from Vim\n\n```vim\nfunction! s:translate_markdown(lang) abort\n    if \u0026filetype !=# 'markdown'\n        echoerr 'Not a Markdown buffer!'\n        return\n    endif\n\n    if !executable('translate-markdown')\n        echoerr '`translate-markdown` command is not found!'\n        return\n    endif\n\n    let start = getpos(\"'\u003c\")\n    let end = getpos(\"'\u003e\")\n    let saved = getpos('.')\n\n    call setpos('.', start)\n    normal! v\n    call setpos('.', end)\n\n    let save_reg_g = getreg('g')\n    let save_regtype_g = getregtype('g')\n    try\n        normal! \"gy\n        let input = getreg('g')\n    finally\n        call setreg('g', save_reg_g, save_regtype_g)\n        call setpos('.', saved)\n    endtry\n\n    echo system('translate-markdown ' . a:lang, input)\nendfunction\ncommand! -nargs=0 -range=% TranslateMarkdown call \u003cSID\u003etranslate_markdown('en')\u003cCR\u003e\n```\n\nCopy and paste above code to your `.vimrc`. Now `:TranslateMarkdown` command is available in visual mode and normal mode. Select the range you want to translate and execute `:TranslateMarkdown`, then Google Translate is opened with the selected text in browser.\n\nIf you want to map the command to some key sequence, please use `:autocmd` and `:noremap`. Below maps `\u003cLeader\u003eT` to the command.\n\n```vim\nautocmd FileType markdown noremap \u003cbuffer\u003e\u003cLeader\u003eT :TranslateMarkdown\u003cCR\u003e\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhysd%2Ftranslate-markdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhysd%2Ftranslate-markdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhysd%2Ftranslate-markdown/lists"}