66 - [ transformVTDirective] ( #transformvtdirective )
77- [ Interface] ( #interface )
88 - [ TransformVTDirectiveOptions] ( #transformvtdirectiveoptions )
9+ - [ TypeAlias] ( #typealias )
10+ - [ TranslationSignatureResolver] ( #translationsignatureresolver )
911
1012## Function
1113
@@ -127,7 +129,7 @@ Translation function signatures
127129
128130**Signature :**
129131```typescript
130- translationSignatures ?: string | string [];
132+ translationSignatures ?: string | TranslationSignatureResolver | string [] | TranslationSignatureResolver [] | ( string | TranslationSignatureResolver ) [];
131133```
132134
133135#### Remarks
@@ -136,3 +138,49 @@ You can specify the signature of the translation function attached to the bindin
136138
137139
138140
141+ ## TypeAlias
142+
143+ ### TranslationSignatureResolver
144+
145+ Translation signature resolver
146+
147+ **Signature :**
148+ ```typescript
149+ type TranslationSignatureResolver = (context : TransformContext ) => string ;
150+ ```
151+
152+ #### Remarks
153+
154+ This resolver is used at ['translationSignatures ' option ](#transformvtdirectiveoptions )
155+
156+ ###1 Examples
157+
158+
159+ ```js
160+ import { compile } from ' @vue/compiler-dom'
161+ import { transformVTDirective } from ' @intlify/vue-i18n-extensions'
162+
163+ // the below is just an example, you can use your own signature resolver
164+ const signatureMap = new Map ()
165+
166+ const transformVT = transformVTDirective ({
167+ translationSignatures : (context ) => {
168+ const { prefixIdentifiers, bindingMetadata, inline, filename } = context
169+ let signature = ' '
170+
171+ // something logic to resolve signature like using `signatureMap`
172+ // signature = signatureMap.get(filename)
173+ // ...
174+
175+ return signature
176+ }
177+ })
178+
179+ const { code } = compile (` <p v-t="'hello'"></p> ` , {
180+ // ...
181+ directiveTransforms: { t: transformVT }
182+ })
183+ ```
184+
185+
186+
0 commit comments