Vue3

Localize Vue apps with Transifex Native

Vue3 plugin for localizing Vue application using Transifex Native. This library extends the functionality of Transifex Native JavaScript SDK.

Related packages:

Installation

Install the library and its dependencies using:

npm install @transifex/native @transifex/vue3 @transifex/cli --save

Usage

Initiate the plugin in a Vue App

import { createApp } from 'vue';
import App from './App.vue';
import { tx } from '@transifex/native';
import { TransifexVue } from '@transifex/vue3';

tx.init({
  token: '<token>',
});

const app = createApp(App);

app.use(TransifexVue);
app.mount('#app');

T Component

<template>
  <div>
    <T _str="Hello world" />
    <T _str="Hello {username}" :username="user" />
  </div>
</template>

<script>
  export default {
    name: 'App',
    data() {
      return {
        user: 'John'
      };
    },
  }
</script>

Available optional props:

PropTypeDescription
_contextStringString context, affects key generation
_keyStringCustom string key
_commentStringDeveloper comment
_charlimitNumberCharacter limit instruction for translators
_tagsStringComma separated list of tags

UT Component

<template>
  <div>
      <UT _str="Hello <b>{username}</b>" :username="user" />
      <p>
        <UT _str="Hello <b>{username}</b>" :username="user" _inline="true" />
      </p>
  </div>
</template>

<script>
  export default {
    name: 'App',
    data() {
      return {
        user: 'John'
      };
    },
  }
</script>

UT has the same behaviour as T, but renders source string as HTML inside a
div tag.

Available optional props: All the options of T plus:

PropTypeDescription
_inlineBooleanWrap translation in span

$t template function or this.t alias for scripts

Makes the current component re-render when a language change is detected and
returns a t-function you can use to translate strings programmatically.

You will most likely prefer to use the T or UT components over this, unless
for some reason you want to have the translation output in a variable for
manipulation.

<template>
  <div>
    {{$t('Hello world').toLowerCase()}}
    {{hellofromscript}}
  </div>
</template>

<script>
  export default {
    name: 'App',
    computed: {
      hellofromscript: function() { return this.t('Hello world').toLowerCase() },
    },
  }
</script>

LanguagePicker component

Renders a <select> tag that displays supported languages and switches the
application's selected language on change.

<template>
  <div>
    <T _str="This is a translatable message" />
    <LanguagePicker />
  </div>
</template>

<script>
import { LanguagePicker } from '@transifex/vue3';
  export default {
    name: 'App',
    components: {
      LanguagePicker,
    }
  }
</script>

Accepts properties:

  • className: The CSS class that will be applied to the <select> tag.

\n```\n\n\n\nAvailable optional props:\n\n| Prop | Type | Description |\n| ----------- | ------ | ------------------------------------------- |\n| \\_context | String | String context, affects key generation |\n| \\_key | String | Custom string key |\n| \\_comment | String | Developer comment |\n| \\_charlimit | Number | Character limit instruction for translators |\n| \\_tags | String | Comma separated list of tags |\n\n## `UT` Component\n\n```javascript\n\n\n\n```\n\n\n\n`UT` has the same behaviour as `T`, but renders source string as HTML inside a \n`div` tag.\n\nAvailable optional props: All the options of `T` plus:\n\n| Prop | Type | Description |\n| -------- | ------- | -------------------------- |\n| \\_inline | Boolean | Wrap translation in `span` |\n\n## `$t` template function or `this.t` alias for scripts\n\nMakes the current component re-render when a language change is detected and \nreturns a t-function you can use to translate strings programmatically.\n\nYou will most likely prefer to use the `T` or `UT` components over this, unless \nfor some reason you want to have the translation output in a variable for \nmanipulation.\n\n```javascript\n\n\n\n\n```\n\n\n\n## `LanguagePicker` component\n\nRenders a `` tag.","dehydrated":{"toc":"","body":"

Vue3 plugin for localizing Vue application using Transifex Native. This library extends the functionality of Transifex Native JavaScript SDK.

\n

Related packages:

\n\n

Installation

\n

Install the library and its dependencies using:

\n
npm install @transifex/native @transifex/vue3 @transifex/cli --save\n
\n

Usage

\n

Initiate the plugin in a Vue App

\n
import { createApp } from 'vue';\nimport App from './App.vue';\nimport { tx } from '@transifex/native';\nimport { TransifexVue } from '@transifex/vue3';\n\ntx.init({\n  token: '<token>',\n});\n\nconst app = createApp(App);\n\napp.use(TransifexVue);\napp.mount('#app');\n\n
\n

T Component

\n
<template>\n  <div>\n    <T _str="Hello world" />\n    <T _str="Hello {username}" :username="user" />\n  </div>\n</template>\n\n<script>\n  export default {\n    name: 'App',\n    data() {\n      return {\n        user: 'John'\n      };\n    },\n  }\n</script>\n
\n

Available optional props:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
PropTypeDescription
_contextStringString context, affects key generation
_keyStringCustom string key
_commentStringDeveloper comment
_charlimitNumberCharacter limit instruction for translators
_tagsStringComma separated list of tags
\n

UT Component

\n
<template>\n  <div>\n      <UT _str="Hello <b>{username}</b>" :username="user" />\n      <p>\n        <UT _str="Hello <b>{username}</b>" :username="user" _inline="true" />\n      </p>\n  </div>\n</template>\n\n<script>\n  export default {\n    name: 'App',\n    data() {\n      return {\n        user: 'John'\n      };\n    },\n  }\n</script>\n
\n

UT has the same behaviour as T, but renders source string as HTML inside a
\ndiv tag.

\n

Available optional props: All the options of T plus:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
PropTypeDescription
_inlineBooleanWrap translation in span
\n

$t template function or this.t alias for scripts

\n

Makes the current component re-render when a language change is detected and
\nreturns a t-function you can use to translate strings programmatically.

\n

You will most likely prefer to use the T or UT components over this, unless
\nfor some reason you want to have the translation output in a variable for
\nmanipulation.

\n
<template>\n  <div>\n    {{$t('Hello world').toLowerCase()}}\n    {{hellofromscript}}\n  </div>\n</template>\n\n<script>\n  export default {\n    name: 'App',\n    computed: {\n      hellofromscript: function() { return this.t('Hello world').toLowerCase() },\n    },\n  }\n</script>\n\n
\n

LanguagePicker component

\n

Renders a <select> tag that displays supported languages and switches the
\napplication's selected language on change.

\n
<template>\n  <div>\n    <T _str="This is a translatable message" />\n    <LanguagePicker />\n  </div>\n</template>\n\n<script>\nimport { LanguagePicker } from '@transifex/vue3';\n  export default {\n    name: 'App',\n    components: {\n      LanguagePicker,\n    }\n  }\n</script>\n
\n

Accepts properties:

\n"},"mdx":false,"opts":{"alwaysThrow":false,"compatibilityMode":false,"copyButtons":true,"correctnewlines":false,"markdownOptions":{"fences":true,"commonmark":true,"gfm":true,"ruleSpaces":false,"listItemIndent":"1","spacedTable":true,"paddedTable":true},"normalize":true,"lazyImages":true,"reusableContent":{"tags":{}},"safeMode":false,"settings":{"position":true},"theme":"light","customBlocks":{},"resourceID":"638de2706b54650098699061","resourceType":"page","baseUrl":"/","terms":[{"_id":"61deb8ff1458520010630846","term":"parliament","definition":"Owls are generally solitary, but when seen together the group is called a 'parliament'!"}],"variables":{"user":{},"defaults":[{"source":"security","_id":"6644991e8f04ac0062598178","name":"bearerAuth","type":"http","scheme":"bearer","apiSetting":"61df3302a2db76002c08dd0b"}]}},"terms":[{"_id":"61deb8ff1458520010630846","term":"parliament","definition":"Owls are generally solitary, but when seen together the group is called a 'parliament'!"}],"variables":{"user":{},"defaults":[{"source":"security","_id":"6644991e8f04ac0062598178","name":"bearerAuth","type":"http","scheme":"bearer","apiSetting":"61df3302a2db76002c08dd0b"}]}},"doc":{"metadata":{"image":[],"title":"","description":"","keywords":"","robots":"index"},"mdx":{"altBody":"","status":"rdmd"},"api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"next":{"description":"","pages":[]},"algolia":{"recordCount":1,"publishPending":false,"translationFailure":false},"reusableContent":[],"_id":"638de2706b54650098699061","title":"Vue3","icon":"","updates":[],"type":"basic","slug":"vue3","excerpt":"Localize Vue apps with Transifex Native","body":"Vue3 plugin for localizing Vue application using [Transifex Native](https://www.transifex.com/native/). This library extends the functionality of [Transifex Native JavaScript SDK](doc:javascript-sdk).\n\nRelated packages:\n\n- [@transifex/vue3](https://www.npmjs.com/package/@transifex/vue3)\n- [@transifex/native](https://www.npmjs.com/package/@transifex/native)\n- [@transifex/cli](https://www.npmjs.com/package/@transifex/cli)\n\n## Installation\n\nInstall the library and its dependencies using:\n\n```sh\nnpm install @transifex/native @transifex/vue3 @transifex/cli --save\n```\n\n\n\n# Usage\n\n## Initiate the plugin in a Vue App\n\n```javascript\nimport { createApp } from 'vue';\nimport App from './App.vue';\nimport { tx } from '@transifex/native';\nimport { TransifexVue } from '@transifex/vue3';\n\ntx.init({\n token: '',\n});\n\nconst app = createApp(App);\n\napp.use(TransifexVue);\napp.mount('#app');\n\n```\n\n\n\n## `T` Component\n\n```javascript\n\n\n\n```\n\n\n\nAvailable optional props:\n\n| Prop | Type | Description |\n| ----------- | ------ | ------------------------------------------- |\n| \\_context | String | String context, affects key generation |\n| \\_key | String | Custom string key |\n| \\_comment | String | Developer comment |\n| \\_charlimit | Number | Character limit instruction for translators |\n| \\_tags | String | Comma separated list of tags |\n\n## `UT` Component\n\n```javascript\n\n\n\n```\n\n\n\n`UT` has the same behaviour as `T`, but renders source string as HTML inside a \n`div` tag.\n\nAvailable optional props: All the options of `T` plus:\n\n| Prop | Type | Description |\n| -------- | ------- | -------------------------- |\n| \\_inline | Boolean | Wrap translation in `span` |\n\n## `$t` template function or `this.t` alias for scripts\n\nMakes the current component re-render when a language change is detected and \nreturns a t-function you can use to translate strings programmatically.\n\nYou will most likely prefer to use the `T` or `UT` components over this, unless \nfor some reason you want to have the translation output in a variable for \nmanipulation.\n\n```javascript\n\n\n\n\n```\n\n\n\n## `LanguagePicker` component\n\nRenders a `` tag.","order":6,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"pendingAlgoliaPublish":false,"previousSlug":"","slugUpdatedAt":"2022-12-04T23:25:50.563Z","revision":4,"createdAt":"2022-12-05T12:22:08.424Z","updatedAt":"2022-12-05T12:27:53.924Z","user":"61deb8db59c58d002c0b079f","category":{"_id":"61dec5aae39f4900233c5cde","title":"Cloud localization","slug":"test-category","order":2,"reference":false,"isAPI":false,"project":"61deb8ff1458520010630845","version":"61deb900145852001063084a","createdAt":"2022-01-12T12:12:26.087Z","__v":0,"type":"guide","id":"61dec5aae39f4900233c5cde"},"project":"61deb8ff1458520010630845","version":{"pdfStatus":"","source":"readme","_id":"61deb900145852001063084a","version":"1.0","version_clean":"1.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61deb900145852001063084c","61deb900145852001063084c","61deb9001458520010630852","61debac7efdd590063ded287","61dec5aae39f4900233c5cde","61dec9313f4033010dcad3a7","61decd971458520010632192","61df29588cfafe0070f5b713","61df31d656dc8b03d5d295c4","61df329bfd8c870010023b43","61df32ea45fe0c0050542e02","61df3302a2db76002c08dd0c","61f27192104ee50010b99ecb","6376bf58127d9900031739a6"],"project":"61deb8ff1458520010630845","releaseDate":"2022-01-12T11:18:24.779Z","createdAt":"2022-01-12T11:18:24.779Z","__v":1,"apiRegistries":[]},"__v":0,"parentDoc":null,"isApi":false,"tutorials":[],"id":"638de2706b54650098699061"},"hideTOC":false,"meta":{"_id":"638de2706b54650098699061","description":"Localize Vue apps with Transifex Native","hidden":false,"image":[],"keywords":"","metaTitle":"Vue3","parent":null,"robots":"index","slug":"vue3","title":"Vue3","type":"docs"},"slugUrl":"/docs/vue3","config":{"algoliaIndex":"readme_search_v2","amplitude":{"apiKey":"dc8065a65ef83d6ad23e37aaf014fc84","enabled":true},"asset_url":"https://cdn.readme.io","domain":"readme.io","domainFull":"https://dash.readme.com","encryptedLocalStorageKey":"ekfls-2025-03-27","fullstory":{"enabled":true,"orgId":"FSV9A"},"liveblocks":{"copilotId":"co_11Q0l0JJlkcBhhAYUFh8s"},"metrics":{"billingCronEnabled":"true","dashUrl":"https://m.readme.io","defaultUrl":"https://m.readme.io","exportMaxRetries":12,"wsUrl":"wss://m.readme.io"},"proxyUrl":"https://try.readme.io","readmeRecaptchaSiteKey":"6LesVBYpAAAAAESOCHOyo2kF9SZXPVb54Nwf3i2x","releaseVersion":"5.422.0","sentry":{"dsn":"https://3bbe57a973254129bcb93e47dc0cc46f@o343074.ingest.sentry.io/2052166","enabled":true},"shMigration":{"promoVideo":"","forceWaitlist":false,"migrationPreview":false},"sslBaseDomain":"readmessl.com","sslGenerationService":"ssl.readmessl.com","stripePk":"pk_live_5103PML2qXbDukVh7GDAkQoR4NSuLqy8idd5xtdm9407XdPR6o3bo663C1ruEGhXJjpnb2YCpj8EU1UvQYanuCjtr00t1DRCf2a","superHub":{"newProjectsEnabled":true},"wootric":{"accountToken":"NPS-122b75a4","enabled":true}},"context":{"labs":{},"user":{},"terms":[{"_id":"61deb8ff1458520010630846","term":"parliament","definition":"Owls are generally solitary, but when seen together the group is called a 'parliament'!"}],"variables":{"user":{},"defaults":[{"source":"security","_id":"6644991e8f04ac0062598178","name":"bearerAuth","type":"http","scheme":"bearer","apiSetting":"61df3302a2db76002c08dd0b"}]},"project":{"_id":"61deb8ff1458520010630845","appearance":{"rdmd":{"callouts":{"useIconFont":false},"theme":{"background":"","border":"","markdownEdge":"","markdownFont":"","markdownFontSize":"","markdownLineHeight":"","markdownRadius":"","markdownText":"","markdownTitle":"","markdownTitleFont":"","mdCodeBackground":"","mdCodeFont":"","mdCodeRadius":"","mdCodeTabs":"","mdCodeText":"","tableEdges":"","tableHead":"","tableHeadText":"","tableRow":"","tableStripe":"","tableText":"","text":"","title":""}},"main_body":{"type":"links"},"colors":{"highlight":"","main":"#0064AB","main_alt":"#f0f7fc","header_text":"","body_highlight":"#0064AB","custom_login_link_color":""},"typography":{"headline":"Open+Sans:400:sans-serif","body":"Open+Sans:400:sans-serif","typekit":false,"tk_key":"","tk_headline":"","tk_body":""},"header":{"style":"solid","img":[],"img_size":"auto","img_pos":"tl","linkStyle":"buttons"},"body":{"style":"none"},"global_landing_page":{"html":"","redirect":""},"referenceSimpleMode":true,"referenceLayout":"row","link_logo_to_url":false,"theme":"line","overlay":"triangles","landing":true,"sticky":false,"hide_logo":false,"childrenAsPills":false,"subheaderStyle":"links","splitReferenceDocs":false,"showMetricsInReference":true,"logo":["https://files.readme.io/b421072-small-mstile-310x310.png","b421072-small-mstile-310x310.png",80,80,"#1757e5","https://files.readme.io/ea52390-mstile-310x310.png","65730bd5f9eb770053818d36"],"logo_white":["https://files.readme.io/05a03c9-white-logo.png","white-logo.png",160,80,"#000000"],"logo_white_use":false,"favicon":["https://files.readme.io/4236b7e-small-favicon-196x196.3e956b055881.png","favicon-196x196.3e956b055881.png",32,32,"#0466ac","https://files.readme.io/92fc28f-favicon-196x196.3e956b055881.png"],"stylesheet":"","stylesheet_hub2":"","stylesheet_hub3":"","javascript":"","javascript_hub2":"","html_promo":"","html_body":"","html_footer":"","html_head":"","html_footer_meta":"","html_hidelinks":false,"showVersion":false,"hideTableOfContents":false,"nextStepsLabel":"","promos":[{"extras":{"type":"buttons","buttonPrimary":"get-started","buttonSecondary":""},"title":"Transifex Developer Hub","text":"Welcome to the Transifex Developer Hub. Find comprehensive guides and documentation to help you start integrating with Transifex as quickly as possible.","_id":"61deb8ff1458520010630847"}],"loginLogo":[],"logo_large":false,"colorScheme":"light","changelog":{"layoutExpanded":false,"showAuthor":true,"showExactDate":false},"allowApiExplorerJsonEditor":false,"ai_dropdown":"disabled","ai_options":{"chatgpt":"enabled","claude":"enabled","clipboard":"enabled","copilot":"enabled","perplexity":"enabled","view_as_markdown":"enabled"},"showPageIcons":true,"layout":{"full_width":false,"style":"classic"}},"custom_domain":"developers.transifex.com","childrenProjects":[],"derivedPlan":"startup","description":"","isExternalSnippetActive":false,"error404":"","experiments":[],"first_page":"landing","flags":{"allow_hub2":false,"enterprise":false,"alwaysShowDocPublishStatus":false,"hub2":true,"migrationRun":false,"migrationSwaggerRun":false,"oauth":false,"swagger":false,"correctnewlines":false,"rdmdCompatibilityMode":false,"speedyRender":false,"allowXFrame":false,"newEditor":true,"newEditorDash":true,"oldMarkdown":false,"newMarkdownBetaProgram":true,"useReactApp":true,"disableAnonForum":false,"directGoogleToStableVersion":false,"translation":false,"staging":false,"newSearch":true,"graphql":false,"allowApiExplorerJsonEditor":false,"singleProjectEnterprise":false,"dashReact":false,"metricsV2":true,"enableRealtimeExperiences":false,"reviewWorkflow":true,"star":false,"allowDarkMode":false,"forceDarkMode":false,"useReactGLP":false,"disablePasswordlessLogin":false,"personalizedDocs":false,"myDevelopers":false,"superHub":false,"allowReusableOTPs":false,"dashHomeRefresh":false,"developerDashboard":false,"owlbotAi":false,"apiV2":false,"customBlocks":false,"devDashHub":false,"disableAutoTranslate":false,"disableSAMLScoping":false,"git":{"read":false,"write":false},"superHubBeta":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"apiAccessRevoked":false,"passwordlessLogin":"default","disableSignups":false,"billingRedesignEnabled":true,"developerPortal":false,"mdx":false,"superHubDevelopment":false,"annualBillingEnabled":true,"devDashBillingRedesignEnabled":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":true,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false,"superHubBranches":false,"externalSdkSnippets":false,"migrationPreview":false,"requiresJQuery":false,"superHubBranchReviews":false,"superHubMergePermissions":false,"superHubPreview":false},"fullBaseUrl":"https://developers.transifex.com/","git":{"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}},"sync":{"linked_repository":{},"installationRequest":{},"connections":[],"providers":[]}},"glossaryTerms":[{"_id":"61deb8ff1458520010630846","term":"parliament","definition":"Owls are generally solitary, but when seen together the group is called a 'parliament'!"}],"graphqlSchema":"","gracePeriod":{"enabled":false,"endsAt":null},"shouldGateDash":false,"healthCheck":{"provider":"","settings":{}},"intercom_secure_emailonly":false,"intercom":"","is_active":true,"integrations":{"login":{}},"internal":"","jwtExpirationTime":0,"landing_bottom":[{"type":"three","alignment":"left","group0":{"title":"💙 DevOps + Localization","text":"Learn how to use Transifex, to automate your localization workflow.\n\nAdd content updates in your CI/CD pipelines, through [Transifex CLI](https://developers.transifex.com/docs/cli), [Webhooks](https://developers.transifex.com/docs/webhooks) and the [Transifex API](https://developers.transifex.com/reference/api-introduction)."},"group1":{"title":"☁️ Localization in the Cloud","text":"Localize your apps the easy way, by leveraging [Transifex Native](https://developers.transifex.com/docs/native). \n\nGet rid of files and serve your content over-the-air, without having to redeploy your app."},"group2":{"title":"🛠️ Build custom integrations","text":"Use [Transifex API](https://developers.transifex.com/reference/api-introduction) to exchange content between your app and the Translation Management System. \n\nCreate powerful integrations and custom workflows for your favourite apps."}}],"mdxMigrationStatus":"rdmd","metrics":{"monthlyLimit":0,"planLimit":1000000,"thumbsEnabled":true,"realtime":{"dashEnabled":false,"hubEnabled":false},"monthlyPurchaseLimit":0,"meteredBilling":{}},"modules":{"landing":true,"docs":true,"examples":true,"reference":true,"changelog":false,"discuss":false,"suggested_edits":true,"logs":false,"custompages":false,"tutorials":true,"graphql":false},"name":"Transifex","nav_names":{"docs":"","reference":"","changelog":"","discuss":"","tutorials":"","recipes":""},"oauth_url":"","onboardingCompleted":{"documentation":true,"appearance":true,"jwt":false,"api":true,"logs":true,"domain":false,"metricsSDK":false},"owlbot":{"enabled":false,"isPaying":false,"customization":{"answerLength":"long","customTone":"","defaultAnswer":"","forbiddenWords":"","tone":"neutral"},"copilot":{"enabled":false,"hasBeenUsed":false,"installedCustomPage":""}},"owner":{"id":null,"email":null,"name":null},"plan":"startup2018","planOverride":"startup","planSchedule":{"stripeScheduleId":null,"changeDate":null,"nextPlan":null},"planStatus":"active","planTrial":"startup","readmeScore":{"components":{"newDesign":{"enabled":true,"points":25},"reference":{"enabled":true,"points":50},"tryItNow":{"enabled":true,"points":35},"syncingOAS":{"enabled":false,"points":10},"customLogin":{"enabled":true,"points":25},"metrics":{"enabled":false,"points":40},"recipes":{"enabled":true,"points":15},"pageVoting":{"enabled":true,"points":1},"suggestedEdits":{"enabled":true,"points":10},"support":{"enabled":false,"points":5},"htmlLanding":{"enabled":false,"points":5},"guides":{"enabled":true,"points":10},"changelog":{"enabled":false,"points":5},"glossary":{"enabled":false,"points":1},"variables":{"enabled":true,"points":1},"integrations":{"enabled":true,"points":2}},"totalScore":174},"reCaptchaSiteKey":"","reference":{"alwaysUseDefaults":false,"defaultExpandResponseExample":false,"defaultExpandResponseSchema":false,"enableOAuthFlows":false},"seo":{"overwrite_title_tag":false},"stable":{"_id":"61deb900145852001063084a","version":"1.0","version_clean":"1.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61deb900145852001063084c","61deb900145852001063084c","61deb9001458520010630852","61debac7efdd590063ded287","61dec5aae39f4900233c5cde","61dec9313f4033010dcad3a7","61decd971458520010632192","61df29588cfafe0070f5b713","61df31d656dc8b03d5d295c4","61df329bfd8c870010023b43","61df32ea45fe0c0050542e02","61df3302a2db76002c08dd0c","61f27192104ee50010b99ecb","6376bf58127d9900031739a6"],"project":"61deb8ff1458520010630845","releaseDate":"2022-01-12T11:18:24.779Z","createdAt":"2022-01-12T11:18:24.779Z","__v":1},"subdomain":"transifex","subpath":"","superHubWaitlist":false,"topnav":{"left":[{"type":"url","url":"https://community.transifex.com","text":"Community"},{"type":"url","text":"Blog","url":"https://www.transifex.com/blog"},{"type":"url","text":"User docs","url":"https://help.transifex.com"},{"type":"url","url":"https://www.transifex.com/contact/","text":"Support"}],"right":[{"type":"url","text":"Login","url":"https://www.transifex.com/signin/"}],"bottom":[],"edited":true},"trial":{"trialDeadlineEnabled":true,"trialEndsAt":"2022-01-26T11:18:23.695Z"},"translate":{"provider":"transifex","show_widget":false,"key_public":"","org_name":"","project_name":"","languages":[]},"url":"https://www.transifex.com","versions":[{"_id":"61deb900145852001063084a","version":"1.0","version_clean":"1.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61deb900145852001063084c","61deb900145852001063084c","61deb9001458520010630852","61debac7efdd590063ded287","61dec5aae39f4900233c5cde","61dec9313f4033010dcad3a7","61decd971458520010632192","61df29588cfafe0070f5b713","61df31d656dc8b03d5d295c4","61df329bfd8c870010023b43","61df32ea45fe0c0050542e02","61df3302a2db76002c08dd0c","61f27192104ee50010b99ecb","6376bf58127d9900031739a6"],"project":"61deb8ff1458520010630845","releaseDate":"2022-01-12T11:18:24.779Z","createdAt":"2022-01-12T11:18:24.779Z","__v":1}],"variableDefaults":[{"source":"security","_id":"6644991e8f04ac0062598178","name":"bearerAuth","type":"http","scheme":"bearer","apiSetting":"61df3302a2db76002c08dd0b"}],"webhookEnabled":false,"isHubEditable":true},"projectStore":{"data":{"allow_crawlers":"disabled","canonical_url":null,"default_version":{"name":"1.0"},"description":null,"glossary":[{"_id":"61deb8ff1458520010630846","term":"parliament","definition":"Owls are generally solitary, but when seen together the group is called a 'parliament'!"}],"homepage_url":"https://www.transifex.com","id":"61deb8ff1458520010630845","name":"Transifex","parent":null,"redirects":[],"sitemap":"disabled","llms_txt":"disabled","subdomain":"transifex","suggested_edits":"enabled","uri":"/projects/me","variable_defaults":[{"name":"bearerAuth","scheme":"bearer","source":"security","type":"http","id":"6644991e8f04ac0062598178"}],"webhooks":[],"api_designer":{"allow_editing":"enabled"},"custom_login":{"login_url":null,"logout_url":null},"features":{"mdx":"disabled"},"mcp":{},"onboarding_completed":{"api":true,"appearance":true,"documentation":true,"domain":false,"jwt":false,"logs":true,"metricsSDK":false},"pages":{"not_found":null},"privacy":{"openapi":"admin","password":null,"view":"public"},"refactored":{"status":"disabled","migrated":"unknown"},"seo":{"overwrite_title_tag":"disabled"},"plan":{"type":"startup","grace_period":{"enabled":false,"end_date":null},"trial":{"expired":false,"end_date":"2022-01-26T11:18:23.695Z"}},"reference":{"api_sdk_snippets":"enabled","defaults":"use_only_if_required","json_editor":"disabled","oauth_flows":"disabled","request_history":"enabled","response_examples":"collapsed","response_schemas":"collapsed","sdk_snippets":{"external":"disabled"}},"health_check":{"provider":"none","settings":{"manual":{"status":"down","url":null},"statuspage":{"id":null}}},"integrations":{"aws":{"readme_webhook_login":{"region":null,"external_id":null,"role_arn":null,"usage_plan_id":null}},"bing":{"verify":null},"google":{"analytics":null,"site_verification":null},"heap":{"id":null},"koala":{"key":null},"localize":{"key":null},"postman":{"key":null,"client_id":null,"client_secret":null},"recaptcha":{"site_key":null,"secret_key":null},"segment":{"key":null,"domain":null},"speakeasy":{"key":null,"spec_url":null},"stainless":{"key":null,"name":null},"typekit":{"key":null},"zendesk":{"subdomain":null},"intercom":{"app_id":null,"secure_mode":{"key":null,"email_only":false}}},"permissions":{"appearance":{"private_label":"disabled","custom_code":{"css":"enabled","html":"disabled","js":"disabled"}},"branches":{"merge":{"admin":true}}},"appearance":{"brand":{"primary_color":"#0064AB","link_color":"#0064AB","theme":"light"},"changelog":{"layout":"collapsed","show_author":true,"show_exact_date":false},"layout":{"full_width":"disabled","style":"classic"},"markdown":{"callouts":{"icon_font":"emojis"}},"table_of_contents":"enabled","whats_next_label":null,"footer":{"readme_logo":"show"},"logo":{"size":"default","dark_mode":{"uri":null,"url":"https://files.readme.io/05a03c9-white-logo.png","name":"white-logo.png","width":160,"height":80,"color":"#000000","links":{"original_url":null}},"main":{"uri":"/images/65730bd5f9eb770053818d36","url":"https://files.readme.io/b421072-small-mstile-310x310.png","name":"b421072-small-mstile-310x310.png","width":80,"height":80,"color":"#1757e5","links":{"original_url":"https://files.readme.io/ea52390-mstile-310x310.png"}},"favicon":{"uri":null,"url":"https://files.readme.io/4236b7e-small-favicon-196x196.3e956b055881.png","name":"favicon-196x196.3e956b055881.png","width":32,"height":32,"color":"#0466ac","links":{"original_url":"https://files.readme.io/92fc28f-favicon-196x196.3e956b055881.png"}}},"custom_code":{"css":null,"js":null,"html":{"header":null,"home_footer":null,"page_footer":null}},"header":{"type":"line","gradient_color":"#f0f7fc","link_style":"buttons","overlay":{"fill":"auto","type":"triangles","position":"top-left","image":{"uri":null,"url":null,"name":null,"width":null,"height":null,"color":null,"links":{"original_url":null}}}},"ai":{"dropdown":"disabled","options":{"chatgpt":"enabled","claude":"enabled","clipboard":"enabled","copilot":"enabled","view_as_markdown":"enabled"}},"navigation":{"first_page":"landing_page","left":[{"type":"link_url","title":"Community","url":"https://community.transifex.com","custom_page":null},{"type":"link_url","title":"Blog","url":"https://www.transifex.com/blog","custom_page":null},{"type":"link_url","title":"User docs","url":"https://help.transifex.com","custom_page":null},{"type":"link_url","title":"Support","url":"https://www.transifex.com/contact/","custom_page":null}],"logo_link":"landing_page","page_icons":"enabled","right":[{"type":"link_url","title":"Login","url":"https://www.transifex.com/signin/","custom_page":null}],"sub_nav":[],"subheader_layout":"links","version":"disabled","links":{"home":{"label":"Home","visibility":"enabled"},"graphql":{"label":"GraphQL","visibility":"disabled"},"guides":{"label":"Guides","alias":null,"visibility":"enabled"},"reference":{"label":"API Reference","alias":null,"visibility":"enabled"},"recipes":{"label":"Recipes","alias":null,"visibility":"enabled"},"changelog":{"label":"Changelog","alias":null,"visibility":"disabled"},"discussions":{"label":"Discussions","alias":null,"visibility":"disabled"}}}},"git":{"connection":{"repository":{},"organization":null,"status":"inactive"}}}},"version":{"_id":"61deb900145852001063084a","version":"1.0","version_clean":"1.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61deb900145852001063084c","61deb900145852001063084c","61deb9001458520010630852","61debac7efdd590063ded287","61dec5aae39f4900233c5cde","61dec9313f4033010dcad3a7","61decd971458520010632192","61df29588cfafe0070f5b713","61df31d656dc8b03d5d295c4","61df329bfd8c870010023b43","61df32ea45fe0c0050542e02","61df3302a2db76002c08dd0c","61f27192104ee50010b99ecb","6376bf58127d9900031739a6"],"project":"61deb8ff1458520010630845","releaseDate":"2022-01-12T11:18:24.779Z","createdAt":"2022-01-12T11:18:24.779Z","__v":1}},"is404":false,"isDetachedProductionSite":false,"lang":"en","langFull":"Default","reqUrl":"/docs/vue3","version":{"_id":"61deb900145852001063084a","version":"1.0","version_clean":"1.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61deb900145852001063084c","61deb900145852001063084c","61deb9001458520010630852","61debac7efdd590063ded287","61dec5aae39f4900233c5cde","61dec9313f4033010dcad3a7","61decd971458520010632192","61df29588cfafe0070f5b713","61df31d656dc8b03d5d295c4","61df329bfd8c870010023b43","61df32ea45fe0c0050542e02","61df3302a2db76002c08dd0c","61f27192104ee50010b99ecb","6376bf58127d9900031739a6"],"project":"61deb8ff1458520010630845","releaseDate":"2022-01-12T11:18:24.779Z","createdAt":"2022-01-12T11:18:24.779Z","__v":1}}">