{"id":15043255,"url":"https://github.com/i7eo/google-translate-select","last_synced_at":"2025-05-15T00:12:23.001Z","repository":{"id":40663968,"uuid":"379850186","full_name":"i7eo/google-translate-select","owner":"i7eo","description":"🚀 A modern, high-performance monorepo project designed with Google Translate JS SDK. Vue and react are supported!","archived":false,"fork":false,"pushed_at":"2025-01-20T11:50:48.000Z","size":2380,"stargazers_count":303,"open_issues_count":18,"forks_count":72,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-05-13T17:06:22.684Z","etag":null,"topics":["changesets","i18n","monorepo","react","translation","vite","vue","vue3"],"latest_commit_sha":null,"homepage":"https://google-translate-select.i7eo.com","language":"TypeScript","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/i7eo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-24T08:05:08.000Z","updated_at":"2025-04-28T07:57:26.000Z","dependencies_parsed_at":"2022-07-14T05:00:31.305Z","dependency_job_id":"402a2050-a4a9-4d91-a28c-c97c4f6130ab","html_url":"https://github.com/i7eo/google-translate-select","commit_stats":{"total_commits":182,"total_committers":8,"mean_commits":22.75,"dds":0.4945054945054945,"last_synced_commit":"f9346914b2c4c6e2833db43efbb5614d65ab23b9"},"previous_names":["i7eo/v-google-translate"],"tags_count":80,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i7eo%2Fgoogle-translate-select","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i7eo%2Fgoogle-translate-select/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i7eo%2Fgoogle-translate-select/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i7eo%2Fgoogle-translate-select/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/i7eo","download_url":"https://codeload.github.com/i7eo/google-translate-select/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249206,"owners_count":22039029,"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":["changesets","i18n","monorepo","react","translation","vite","vue","vue3"],"created_at":"2024-09-24T20:48:46.309Z","updated_at":"2025-05-15T00:12:17.959Z","avatar_url":"https://github.com/i7eo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e@google-translate-select\u003c/h1\u003e\n\n\u003e This project inherits from [v-google-translate](https://www.npmjs.com/package/v-google-translate). The previous `v-google-translate` package move to branch `backup/master`, if you want to check it, click [here](https://github.com/i7eo/google-translate-select/tree/backup/master).\n\n\u003c!-- [![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/i7eo/google-translate-select/Release/master?label=build%20%26%20release)](https://github.com/i7eo/google-translate-select/actions/workflows/release.yml/badge.svg) --\u003e\n\n![GitHub Workflow Status (branch)](https://github.com/i7eo/google-translate-select/actions/workflows/release.yml/badge.svg)\n[![All Contributors](https://img.shields.io/github/all-contributors/i7eo/google-translate-select/master)](#contributors-)\n\n[@google-translate-select](https://google-translate-select.i7eo.com) is an open-source project to invoke google translate jssdk to translate your dispaly content, we support vue2/vue3/react as follows:\n\n[![GitHub package.json version (subfolder of monorepo)](https://img.shields.io/github/package-json/v/i7eo/google-translate-select?filename=packages%2Freact%2Fpackage.json\u0026label=@google-translate-select%2Freact)](https://github.com/i7eo/google-translate-select/tree/master/packages/react)\n[![GitHub package.json version (subfolder of monorepo)](https://img.shields.io/github/package-json/v/i7eo/google-translate-select?filename=packages%2Fvue2%2Fpackage.json\u0026label=@google-translate-select%2Fvue2)](https://github.com/i7eo/google-translate-select/tree/master/packages/vue2)\n[![GitHub package.json version (subfolder of monorepo)](https://img.shields.io/github/package-json/v/i7eo/google-translate-select?filename=packages%2Fvue3%2Fpackage.json\u0026label=@google-translate-select%2Fvue3)](https://github.com/i7eo/google-translate-select/tree/master/packages/vue3)\n\n## Table of Contents\n\n- [Refatcor](#refactor)\n- [Origin](#origin)\n- [Usage](#usage)\n  - [Support Languages](#support-languages)\n  - [Props](#props)\n  - [Tips](#tips)\n- [Inspire](#inspire)\n- [Development](#development)\n  - [Vitepress for @google-translate-select](#vitepress-for-google-translate-select)\n  - [Playground for @google-translate-select](#playground-for-google-translate-select)\n- [Commits \u0026 releases](#commits--releases)\n- [Get involved](#get-involved)\n- [Reach out to us](#reach-out-to-us)\n- [License](#license)\n- [Contributors](#contributors)\n\n## Refactor\n\nI rewrote this project using `pnpm + changeset + typescript + vite + tsup`, use monorepo to manage project. The package name is `@google-translate-select`.\n\nI refactor previous `v-google-translate` package using `typescript` and renamed it `@google-translate-select/vue2`, if you want to check it, click [here](https://github.com/i7eo/google-translate-select/tree/master/packages/vue2).\n\n## Origin\n\nThis package enables localization of web apps made with vue by use of google translate.As your website and app grows, you may find a need to expand to other markets outside your home country.\n\nIf your target market lives across the sea and speaks a different language, you may not have any choice but to localize.\n\nFor more details on what localization is and the potential benefits, [checkout this article](https://alistapart.com/article/do-you-need-to-localize-your-website/).\n\n## Usage\n\n### Support Languages\n\nsee `GOOGLE_TRANSLATE_SELECT_LANGUAGES` in https://github.com/i7eo/google-translate-select/blob/master/packages/constants/src/web/languages.ts\n\n### Props\n\n`vue` props see: https://github.com/i7eo/google-translate-select/blob/master/packages/vue3/src/types/props.ts\n\n`react` props see: https://github.com/i7eo/google-translate-select/blob/master/packages/react/src/types/props.ts\n\n### Tips\n\n- Note that here we invoke `translate.google.com/translate_a/element.js` library file, the translation for the web pages of writing is the full amount. Only the translation of static content is supported without refreshing the page.\n\n- **For something you don't want to translate, add `class= \"notranslate\"`**\n\n- I can give you an example of best practices: We are working on a cross-border e-commerce project. In this project, we need two functions, multi-language and multi-currency, to complete internationalization. For the price on the page, we don't want to be translated into multiple languages. So we added `class= \"notranslate\"` to the price DOM to dynamically modify the price DOM information when the currency changes.\n\n- **Google Translate JS SDK default your page source language is English (code is `en`), if your page source language is non-English language, please set `defaultPageLanguageCode` manually. For example: `defaultPageLanguageCode = \"zh-CN\"`**\n\n## Inspire\n\nThis package was heavily inspired by [vue-google-translate](https://github.com/lewis-kori/vue-google-translate).\n\n## Development\n\nFor local development, in the root of the repo run `pnpm i` to install all dependencies and then `pnpm build` to build all packages. Now follow the instructions of the specific package you’re working on.\n\n\u003e In case you are having problems to install the dependencies, try using NVM to get the same node version we use by running `nvm use` in the root of the repo, and check `pnpm` version.\n\n### Vitepress for @google-translate-select\n\nWe use vitepress with our library to develop document. You can start it from the root of the repo, just run `pnpm dev:docs`\n\n### Playground for @google-translate-select\n\nWe use vite with our library to test it. You can start it from the root of the repo, just run `pnpm dev:react` or `pnpm dev:vue2` or `pnpm dev:vue3`.\n\n## Commits \u0026 releases\n\nUse `pnpm commit`. This uses the [cz-git](https://cz-git.qbb.sh/) CLI to create a conventional commit message based on your changes. CI is setup to release all new commits on the main branch that contains a new [changeset](https://github.com/changesets/changesets).\n\nRead more about changeset [here](RELEASES.md)\n\n## Get involved\n\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?maxAge=31557600)](http://makeapullrequest.com)\n\nWe appreciate any help on our repositories. For more details about how to contribute to a package, see the README of the corresponding package.\n\n## Reach out to us\n\nCreate an issue using one of the templates [![File an issue](https://img.shields.io/badge/-Create%20Issue-6cc644.svg?logo=github\u0026maxAge=31557600)](https://github.com/i7eo/google-translate-select/issues/new/choose).\nMake sure to remove any credential from your code before sharing it.\n\n## License\n\nThis repository is published under the [MIT](LICENSE) license.\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/rochac2lee\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/60928171?v=4?s=100\" width=\"100px;\" alt=\"rochac2lee\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003erochac2lee\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/i7eo/google-translate-select/commits?author=rochac2lee\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/MiracleH\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22657524?v=4?s=100\" width=\"100px;\" alt=\"hyj\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ehyj\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/i7eo/google-translate-select/commits?author=MiracleH\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://yesux.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/44074974?v=4?s=100\" width=\"100px;\" alt=\"suxiong\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esuxiong\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/i7eo/google-translate-select/commits?author=YeSuX\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ubercj\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/73803823?v=4?s=100\" width=\"100px;\" alt=\"Chris Jones\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChris Jones\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/i7eo/google-translate-select/commits?author=ubercj\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://info.souldoit.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/15118790?v=4?s=100\" width=\"100px;\" alt=\"Syamsoul Azrien Muda\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSyamsoul Azrien Muda\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/i7eo/google-translate-select/commits?author=syamsoul\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/huazhuangnan\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/46070704?v=4?s=100\" width=\"100px;\" alt=\"HuaZhuangNan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHuaZhuangNan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/i7eo/google-translate-select/commits?author=huazhuangnan\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://collins-odongo.netlify.app/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/86556838?v=4?s=100\" width=\"100px;\" alt=\"Zero\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZero\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/i7eo/google-translate-select/commits?author=zero-stealth\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi7eo%2Fgoogle-translate-select","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fi7eo%2Fgoogle-translate-select","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi7eo%2Fgoogle-translate-select/lists"}