-
-
Notifications
You must be signed in to change notification settings - Fork 342
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: change $t
overloaded signature for Legacy API mode
#1832
Conversation
Deploying vue-i18n-next with Cloudflare Pages
|
$t
overloaded signature for Legacy API mode$t
overloaded signature for Legacy API mode
$t(key: Path, locale: Locale): TranslateResult; |
You can by passing the
But I suppose there isn't an overload to pass options as a second argument if that's what you're asking. |
thank you for your reply。 so i need to add second argument for this plural, and then i can use TranslateOptions { locale: 'en' } |
@lyking90 Check out the migration page for good examples and comparisons of usage between v9 and v10 here: https://vue-i18n.intlify.dev/guide/migration/breaking10.html#change-t-and-t-overloaded-signature-for-legacy-api-mode, it should have all the info you're looking for 😄 |
feature (has breaking change)
In Vue I18n v9, it has a different interface from the Composition API mode and Legacy API mode of the
$t
overloaded signature.Especially,
$t
signature in Legacy API mode has fewer overloaded signatures than in Composition API mode, as shown below:$t
overloaded signatures$t(key: Path): TranslateResult;
$t(key: Path, locale: Locale): TranslateResult;
$t(key: Path, locale: Locale, list: unknown[]): TranslateResult;
$t(key: Path, locale: Locale, named: NamedValue): TranslateResult;
$t(key: Path, plural: number): TranslateResult;
$t(key: Path, plural: number, options: TranslateOptions): TranslateResult;
$t(key: Path, defaultMsg: string): TranslateResult;
$t(key: Path, defaultMsg: string, options: TranslateOptions): TranslateResult;
$t(key: Path, list: unknown[]): TranslateResult;
$t(key: Path, list: unknown[], plural: number): TranslateResult;
$t(key: Path, list: unknown[], defaultMsg: string): TranslateResult;
$t(key: Path, list: unknown[], options: TranslateOptions): TranslateResult;
$t(key: Path, named: Record<string, unknown>): TranslateResult;
$t(key: Path, named: NamedValue, plural: number): TranslateResult;
$t(key: Path, named: NamedValue, defaultMsg: string): TranslateResult;
$t(key: Path, named: NamedValue, options: TranslateOptions): TranslateResult;
Starting from v10, Legacy API mode can use the same
$t
overload signature as Composition API mode.Reason: After that migration, when migrating to Composition API mode, we sometimes fall into a pitfall due to the different signature of
$t
.