vue-i18n-extract
Version:
Manage vue-i18n localization with static analysis
556 lines (553 loc) • 12.4 kB
text/typescript
export const expectedFromParsedVueFiles = [
{
path: 'header.title',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Basic.vue',
line: 3
},
{
path: 'header.title2',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Basic.vue',
line: 4
},
{
path: 'content.paragraph.p_1',
previousCharacter: '"',
nextCharacter: '"',
file: './tests/fixtures/vue-files/Basic.vue',
line: 5
},
{
path: 'Key used as default translation. Second sentence.',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Basic.vue',
line: 6
},
{
path: 'content.paragraph.p.2',
previousCharacter: '`',
nextCharacter: '`',
file: './tests/fixtures/vue-files/Basic.vue',
line: 7
},
{
path: 'content.link.b',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Basic.vue',
line: 9
},
{
path: 'content.link.b',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Basic.vue',
line: 12
},
{
path: 'content.link.b',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Basic.vue',
line: 15
},
{
path: 'header.title',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Basic.vue',
line: 19
},
{
path: 'content.link.a',
previousCharacter: '"',
nextCharacter: '"',
file: './tests/fixtures/vue-files/Basic.vue',
line: 8
},
{
path: 'content.link.a',
previousCharacter: '"',
nextCharacter: '"',
file: './tests/fixtures/vue-files/Basic.vue',
line: 11
},
{
path: 'content.link.a',
previousCharacter: '"',
nextCharacter: '"',
file: './tests/fixtures/vue-files/Basic.vue',
line: 14
},
{
path: 'header.title',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Basic.vue',
line: 17
},
{
path: 'header.title',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Basic.vue',
line: 18
},
{
path: "single \\' quote",
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/edge-cases.js',
line: 2
},
{
path: 'single \\" quote',
previousCharacter: '"',
nextCharacter: '"',
file: './tests/fixtures/vue-files/edge-cases.js',
line: 3
},
{
path: 'back \\` tick',
previousCharacter: '`',
nextCharacter: '`',
file: './tests/fixtures/vue-files/edge-cases.js',
line: 4
},
{
path: 'Early ',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/edge-cases.js',
line: 5
},
{
path: 'parentheses',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/edge-cases.js',
line: 7
},
{
path: 'square brackets',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/edge-cases.js',
line: 8
},
{
path: 'curly brackets',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/edge-cases.js',
line: 9
},
{
path: 'colon',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/edge-cases.js',
line: 10
},
{
path: 'concatenation',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/edge-cases.js',
line: 12
},
{
path: 'leading tab',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/edge-cases.js',
line: 13
},
{
path: 'in template literal',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/edge-cases.js',
line: 15
},
{
path: '${dynamicKey}',
previousCharacter: '`',
nextCharacter: '`',
file: './tests/fixtures/vue-files/edge-cases.js',
line: 18
},
{
path: 'header.title',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/folder1/folder2/Deep.vue',
line: 2
},
{
path: 'header.title',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/folder1/Nested.vue',
line: 2
},
{
path: 'header.title',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/InCode.vue',
line: 9
},
{
path: 'header.title',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/InCode.vue',
line: 15
},
{
path: 'header.title',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/InCode.vue',
line: 40
},
{
path: 'content.paragraph.p_1',
previousCharacter: '"',
nextCharacter: '"',
file: './tests/fixtures/vue-files/InCode.vue',
line: 41
},
{
path: 'content.paragraph.p.2',
previousCharacter: '`',
nextCharacter: '`',
file: './tests/fixtures/vue-files/InCode.vue',
line: 42
},
{
path: 'Translation component in code.',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/InCode.vue',
line: 19
},
{
path: 'header.paragraphs.p_1',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/js-component.js',
line: 2
},
{
path: 'missing.english',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Missing.vue',
line: 3
},
{
path: 'missing.german',
previousCharacter: "'",
nextCharacter: "'",
file: './tests/fixtures/vue-files/Missing.vue',
line: 4
}
];
export const expectedFromParsedLanguageFiles = {
de_DE: [
{
path: 'header.title',
file: './tests/fixtures/lang/de_DE.js',
},
{
path: 'header.title2',
file: './tests/fixtures/lang/de_DE.js',
},
{
path: 'content.paragraph.p.2',
file: './tests/fixtures/lang/de_DE.js',
},
{
path: 'content.link.a',
file: './tests/fixtures/lang/de_DE.js',
},
{
path: 'content.link.b',
file: './tests/fixtures/lang/de_DE.js',
},
{
path: 'Key used as default translation. Second sentence.',
file: './tests/fixtures/lang/de_DE.js',
},
{
path: 'Translation component in code.',
file: './tests/fixtures/lang/de_DE.js',
},
{
path: 'missing.english',
file: './tests/fixtures/lang/de_DE.js',
},
{
path: 'unused_js',
file: './tests/fixtures/lang/de_DE.js',
},
{
path: 'content.paragraph.p_1',
file: './tests/fixtures/lang/de_DE.yaml',
},
{
path: 'unused_yaml',
file: './tests/fixtures/lang/de_DE.yaml',
}
],
en_EN: [
{
path: 'header.title',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'header.title2',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'content.paragraph.p_1',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'content.paragraph.p.2',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'content.link.a',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'content.link.b',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'Key used as default translation. Second sentence.',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'Translation component in code.',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'missing.german',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'unused_json',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'unused_nested.auth',
file: './tests/fixtures/lang/en_EN.json',
},
{
path: 'unused_nested.forgot',
file: './tests/fixtures/lang/en_EN.json',
}
]
};
export const expectedI18NReport = {
missingKeys: [
{
path: "single \\' quote",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 2,
language: "de_DE"
},
{
path: 'single \\" quote',
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 3,
language: "de_DE"
},
{
path: "back \\` tick",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 4,
language: "de_DE"
},
{
path: "Early ",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 5,
language: "de_DE"
},
{
path: "parentheses",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 7,
language: "de_DE"
},
{
path: "square brackets",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 8,
language: "de_DE"
},
{
path: "curly brackets",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 9,
language: "de_DE"
},
{
path: "colon",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 10,
language: "de_DE"
},
{
path: "concatenation",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 12,
language: "de_DE"
},
{
path: "leading tab",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 13,
language: "de_DE"
},
{
path: "in template literal",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 15,
language: "de_DE"
},
{
path: "header.paragraphs.p_1",
file: "./tests/fixtures/vue-files/js-component.js",
line: 2,
language: "de_DE"
},
{
path: "missing.german",
file: "./tests/fixtures/vue-files/Missing.vue",
line: 4,
language: "de_DE"
},
{
path: "single \\' quote",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 2,
language: "en_EN"
},
{
path: 'single \\" quote',
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 3,
language: "en_EN"
},
{
path: "back \\` tick",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 4,
language: "en_EN"
},
{
path: "Early ",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 5,
language: "en_EN"
},
{
path: "parentheses",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 7,
language: "en_EN"
},
{
path: "square brackets",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 8,
language: "en_EN"
},
{
path: "curly brackets",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 9,
language: "en_EN"
},
{
path: "colon",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 10,
language: "en_EN"
},
{
path: "concatenation",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 12,
language: "en_EN"
},
{
path: "leading tab",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 13,
language: "en_EN"
},
{
path: "in template literal",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 15,
language: "en_EN"
},
{
path: "header.paragraphs.p_1",
file: "./tests/fixtures/vue-files/js-component.js",
line: 2,
language: "en_EN"
},
{
path: "missing.english",
file: "./tests/fixtures/vue-files/Missing.vue",
line: 3,
language: "en_EN"
}
],
unusedKeys: [
{
path: "unused_js",
file: "./tests/fixtures/lang/de_DE.js",
language: "de_DE"
},
{
path: "unused_yaml",
file: "./tests/fixtures/lang/de_DE.yaml",
language: "de_DE"
},
{
path: "unused_json",
file: "./tests/fixtures/lang/en_EN.json",
language: "en_EN"
},
{
path: "unused_nested.auth",
file: "./tests/fixtures/lang/en_EN.json",
language: "en_EN"
},
{
path: "unused_nested.forgot",
file: "./tests/fixtures/lang/en_EN.json",
language: "en_EN"
}
],
maybeDynamicKeys: [
{
path: "${dynamicKey}",
file: "./tests/fixtures/vue-files/edge-cases.js",
line: 18
}
]
}