Skip to content

Commit 37a633b

Browse files
committed
feat: addnig v-t.preserve support
1 parent c08e52c commit 37a633b

File tree

7 files changed

+17
-15
lines changed

7 files changed

+17
-15
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ const TranslationComponentInCode = h(Translation, {
129129
- v-t directive with string literal:
130130
```html
131131
<p v-t="'key.directive'"></p>
132+
<p v-t.preserve="'key.directive'"></p>
132133
```
133134
> Note: As of right now there is no object support to reference a path from component data.
134135

dist/vue-i18n-extract.modern.mjs

+6-6
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ function extractComponentMatches(file) {
136136
}
137137

138138
function extractDirectiveMatches(file) {
139-
const directiveRegExp = /v-t="'((?:[^\\]|\\.)*?)'"/g;
139+
const directiveRegExp = /v-t(?:.*)="'((?:[^\\]|\\.)*?)'"/g;
140140
return [...getMatches(file, directiveRegExp)];
141141
}
142142

@@ -328,16 +328,16 @@ async function createI18NReport(options) {
328328
console.info(`\nThe report has been has been saved to ${output}`);
329329
}
330330

331-
if (add && report.missingKeys.length) {
332-
writeMissingToLanguageFiles(languageFiles, report.missingKeys, dot);
333-
console.info('\nThe missing keys have been added to your language files.');
334-
}
335-
336331
if (remove && report.unusedKeys.length) {
337332
removeUnusedFromLanguageFiles(languageFiles, report.unusedKeys, dot);
338333
console.info('\nThe unused keys have been removed from your language files.');
339334
}
340335

336+
if (add && report.missingKeys.length) {
337+
writeMissingToLanguageFiles(languageFiles, report.missingKeys, dot);
338+
console.info('\nThe missing keys have been added to your language files.');
339+
}
340+
341341
if (ci && report.missingKeys.length) {
342342
throw new Error(`${report.missingKeys.length} missing keys found.`);
343343
}

dist/vue-i18n-extract.modern.mjs.map

+1-1
Large diffs are not rendered by default.

dist/vue-i18n-extract.umd.js

+6-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/vue-i18n-extract.umd.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/create-report/vue-files.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ function extractComponentMatches (file: SimpleFile): I18NItemWithBounding[] {
7878
}
7979

8080
function extractDirectiveMatches (file: SimpleFile): I18NItemWithBounding[] {
81-
const directiveRegExp = /v-t="'((?:[^\\]|\\.)*?)'"/g;
81+
const directiveRegExp = /v-t(?:.*)="'((?:[^\\]|\\.)*?)'"/g;
8282
return [ ...getMatches(file, directiveRegExp) ];
8383
}
8484

tests/fixtures/vue-files/Basic.vue

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<a place="link" href="#">{{ $t('content.link.b') }}</a>
1616
</Translation>
1717
<p v-t="'header.title'"></p>
18+
<p v-t.preserve="'header.title'"></p>
1819
<p>{{ .t('header.title') }}</p>
1920
</div>
2021
</template>

0 commit comments

Comments
 (0)