@sapphire/plugin-i18next 2.0.0-next.a7152a8.0 → 2.0.0-next.d810c56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,23 +32,124 @@ An implementation of i18next's [filesystem backend] for Sapphire. It allows you
32
32
  `@sapphire/plugin-i18next` depends on the following packages. Be sure to install these along with this package!
33
33
 
34
34
  - [`@sapphire/framework`](https://www.npmjs.com/package/@sapphire/framework)
35
- - [`@sapphire/pieces v1.x`](https://www.npmjs.com/package/@sapphire/pieces/v/1.2.5)
36
35
  - [`discord.js`](https://www.npmjs.com/package/discord.js)
37
36
 
38
37
  You can use the following command to install this package, or replace `npm install` with your package manager of choice.
39
38
 
40
39
  ```sh
41
- npm install @sapphire/plugin-i18next @sapphire/framework @sapphire/pieces@1 discord.js
40
+ npm install @sapphire/plugin-i18next @sapphire/framework discord.js
42
41
  ```
43
42
 
44
43
  ---
45
44
 
46
45
  ## Usage
47
46
 
47
+ This registers the methods and options necessary for message translations in the Sapphire client.
48
+
48
49
  ```typescript
50
+ // Main bot file
51
+ // Be sure to register the plugin before instantiating the client.
49
52
  import '@sapphire/plugin-i18next/register';
50
53
  ```
51
54
 
55
+ The basic structure of a translation file is as follows:
56
+
57
+ ```jsonc
58
+ // languages/en-US/commands/ping.json
59
+ {
60
+ "success": "Pong!",
61
+ "success_with_args": "Pong! Took me {{latency}}ms to reply"
62
+ }
63
+ ```
64
+
65
+ The `resolveKey` function can be used anywhere to get translated text by its key. In this example, it is used in a method to send a message.
66
+
67
+ ```typescript
68
+ import { resolveKey } from '@sapphire/plugin-i18next';
69
+ import { Command, CommandOptions, PieceContext } from '@sapphire/framework';
70
+ import type { Message } from 'discord.js';
71
+
72
+ export class PingCommand extends Command {
73
+ public constructor(context: PieceContext, options: CommandOptions) {
74
+ super(context, {
75
+ ...options,
76
+ description: 'ping pong'
77
+ });
78
+ }
79
+
80
+ public async run(message: Message) {
81
+ await message.channel.send(await resolveKey('commands/ping:success'))
82
+ }
83
+ }
84
+ ```
85
+
86
+ `sendLocalized` will send translated text resolved from a key to a specified channel.
87
+
88
+ ```typescript
89
+ import { sendLocalized } from '@sapphire/plugin-i18next'
90
+ import { Command, CommandOptions, PieceContext } from '@sapphire/framework';
91
+
92
+ import type { Message } from 'discord.js';
93
+
94
+ export class PingCommand extends Command {
95
+ public constructor(context: PieceContext, options: CommandOptions) {
96
+ super(context, {
97
+ ...options,
98
+ description: 'ping pong'
99
+ });
100
+ }
101
+
102
+ public async run(message: Message) {
103
+ await sendLocalized(message, 'commands/ping:success')
104
+ }
105
+ }
106
+ ```
107
+
108
+ `editLocalized` edits a message, replacing its content with translated text resolved from its key.
109
+
110
+ ```typescript
111
+ import { editLocalized } from '@sapphire/plugin-i18next'
112
+ import { Command, CommandOptions, PieceContext } from '@sapphire/framework';
113
+
114
+ import type { Message } from 'discord.js';
115
+
116
+ export class PingCommand extends Command {
117
+ public constructor(context: PieceContext, options: CommandOptions) {
118
+ super(context, {
119
+ ...options,
120
+ description: 'ping pong'
121
+ });
122
+ }
123
+
124
+ public async run(message: Message) {
125
+ await editLocalized(message, 'commands/ping:success_args', { latency: ws.ping })
126
+ }
127
+ }
128
+ ```
129
+
130
+ `fetchLanguage` returns the guild-specific language that the client is using.
131
+
132
+ ```typescript
133
+ import { fetchLanguage } from '@sapphire/plugin-i18next'
134
+ import { Command, CommandOptions, PieceContext } from '@sapphire/framework';
135
+
136
+ import type { Message } from 'discord.js';
137
+
138
+ export class PingCommand extends Command {
139
+ public constructor(context: PieceContext, options: CommandOptions) {
140
+ super(context, {
141
+ ...options,
142
+ description: 'ping pong'
143
+ });
144
+ }
145
+
146
+ public async run(message: Message) {
147
+ return message.channel.send(await fetchLanguage(message));
148
+ // ===> en-US
149
+ }
150
+ }
151
+ ```
152
+
52
153
  ## Sapphire i18next Documentation
53
154
 
54
155
  For the full @sapphire/plugin-i18next documentation please refer to the TypeDoc generated [documentation](https://sapphiredev.github.io/plugins/modules/_sapphire_plugin_i18next.html).
@@ -87,6 +188,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
87
188
  <td align="center"><a href="https://github.com/Nytelife26"><img src="https://avatars1.githubusercontent.com/u/22531310?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tyler J Russell</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=Nytelife26" title="Code">💻</a></td>
88
189
  <td align="center"><a href="https://github.com/Stitch07"><img src="https://avatars.githubusercontent.com/u/29275227?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Stitch07</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=Stitch07" title="Code">💻</a> <a href="https://github.com/sapphiredev/plugins/issues?q=author%3AStitch07" title="Bug reports">🐛</a></td>
89
190
  <td align="center"><a href="https://github.com/PlatinBae"><img src="https://avatars.githubusercontent.com/u/50950966?v=4?s=100" width="100px;" alt=""/><br /><sub><b>PlatinBae</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=PlatinBae" title="Documentation">📖</a></td>
191
+ <td align="center"><a href="https://kaname.netlify.app"><img src="https://avatars.githubusercontent.com/u/56084970?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kaname</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=kaname-png" title="Code">💻</a> <a href="https://github.com/sapphiredev/plugins/commits?author=kaname-png" title="Documentation">📖</a></td>
90
192
  </tr>
91
193
  </table>
92
194
 
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./lib/functions"), exports);
5
- tslib_1.__exportStar(require("./lib/InternationalizationHandler"), exports);
6
- tslib_1.__exportStar(require("./lib/types"), exports);
4
+ (0, tslib_1.__exportStar)(require("./lib/functions"), exports);
5
+ (0, tslib_1.__exportStar)(require("./lib/InternationalizationHandler"), exports);
6
+ (0, tslib_1.__exportStar)(require("./lib/types"), exports);
7
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,0DAAgC;AAChC,4EAAkD;AAClD,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,+DAAgC;AAChC,iFAAkD;AAClD,2DAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"InternationalizationHandler.d.ts","sourceRoot":"","sources":["../../src/lib/InternationalizationHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAc,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClG,OAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAExF;;;GAGG;AACH,qBAAa,2BAA2B;IACvC;;;OAGG;IACI,eAAe,UAAS;IAE/B;;;OAGG;IACI,UAAU,cAAqB;IAEtC;;;OAGG;IACH,SAAgB,SAAS,yBAAgC;IAEzD;;;OAGG;IACH,SAAgB,OAAO,EAAE,2BAA2B,CAAC;IAErD;;;;OAIG;IACH,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,uBAAuB,CAAC;IAE5E;;;;OAIG;gBACgB,OAAO,CAAC,EAAE,2BAA2B;IAWxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,aAAa,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAc;IAEpG;;;OAGG;IACU,IAAI;IA2BjB;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM;IAQ1B;;;;;;;;OAQG;IACI,MAAM,CACZ,OAAO,SAAS,eAAe,GAAG,MAAM,EACxC,KAAK,SAAS,aAAa,GAAG,MAAM,EACpC,iBAAiB,SAAS,aAAa,GAAG,SAAS,EAClD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,OAAO;IAavF;;;;;;OAMG;IACU,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO,EAAE,OAAO,SAAK;;;;CAoBvF"}
1
+ {"version":3,"file":"InternationalizationHandler.d.ts","sourceRoot":"","sources":["../../src/lib/InternationalizationHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAc,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClG,OAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAExF;;;GAGG;AACH,qBAAa,2BAA2B;IACvC;;;OAGG;IACI,eAAe,UAAS;IAE/B;;;OAGG;IACI,UAAU,cAAqB;IAEtC;;;OAGG;IACH,SAAgB,SAAS,yBAAgC;IAEzD;;;OAGG;IACH,SAAgB,OAAO,EAAE,2BAA2B,CAAC;IAErD;;;;OAIG;IACH,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,uBAAuB,CAAC;IAE5E;;;;OAIG;gBACgB,OAAO,CAAC,EAAE,2BAA2B;IAexD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,aAAa,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAc;IAEpG;;;OAGG;IACU,IAAI;IA6BjB;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM;IAQ1B;;;;;;;;OAQG;IACI,MAAM,CACZ,OAAO,SAAS,eAAe,GAAG,MAAM,EACxC,KAAK,SAAS,aAAa,GAAG,MAAM,EACpC,iBAAiB,SAAS,aAAa,GAAG,SAAS,EAClD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,OAAO;IAavF;;;;;;OAMG;IACU,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO,EAAE,OAAO,SAAK;;;;CAoBvF"}
@@ -5,8 +5,8 @@ const tslib_1 = require("tslib");
5
5
  const pieces_1 = require("@sapphire/pieces");
6
6
  const utilities_1 = require("@sapphire/utilities");
7
7
  const promises_1 = require("fs/promises");
8
- const i18next_1 = tslib_1.__importDefault(require("i18next"));
9
- const i18next_fs_backend_1 = tslib_1.__importDefault(require("i18next-fs-backend"));
8
+ const i18next_1 = (0, tslib_1.__importDefault)(require("i18next"));
9
+ const i18next_fs_backend_1 = (0, tslib_1.__importDefault)(require("i18next-fs-backend"));
10
10
  const path_1 = require("path");
11
11
  /**
12
12
  * A generalized class for handling `i18next` JSON files and their discovery.
@@ -123,13 +123,16 @@ class InternationalizationHandler {
123
123
  writable: true,
124
124
  value: () => null
125
125
  });
126
- this.options = options ?? {};
127
- this.languagesDirectory = this.options.defaultLanguageDirectory ?? path_1.join(pieces_1.getRootData().root, 'languages');
126
+ this.options = options ?? { i18next: { ignoreJSONStructure: false } };
127
+ this.languagesDirectory = this.options.defaultLanguageDirectory ?? (0, path_1.join)((0, pieces_1.getRootData)().root, 'languages');
128
128
  this.backendOptions = {
129
- loadPath: path_1.join(this.languagesDirectory, '{{lng}}', '{{ns}}.json'),
129
+ loadPath: (0, path_1.join)(this.languagesDirectory, '{{lng}}', '{{ns}}.json'),
130
130
  addPath: this.languagesDirectory,
131
131
  ...this.options.backend
132
132
  };
133
+ if ((0, utilities_1.isFunction)(this.options.fetchLanguage)) {
134
+ this.fetchLanguage = this.options.fetchLanguage;
135
+ }
133
136
  }
134
137
  /**
135
138
  * Initializes the handler by loading in the namespaces, passing the data to i18next, and filling in the {@link InternationalizationHandler#languages}.
@@ -137,7 +140,8 @@ class InternationalizationHandler {
137
140
  */
138
141
  async init() {
139
142
  const { namespaces, languages } = await this.walkLanguageDirectory(this.languagesDirectory);
140
- const userOptions = utilities_1.isFunction(this.options.i18next) ? this.options.i18next(namespaces, languages) : this.options.i18next;
143
+ const userOptions = (0, utilities_1.isFunction)(this.options.i18next) ? this.options.i18next(namespaces, languages) : this.options.i18next;
144
+ const ignoreJSONStructure = userOptions?.ignoreJSONStructure ?? false;
141
145
  i18next_1.default.use(i18next_fs_backend_1.default);
142
146
  await i18next_1.default.init({
143
147
  backend: this.backendOptions,
@@ -151,7 +155,8 @@ class InternationalizationHandler {
151
155
  defaultNS: 'default',
152
156
  ns: namespaces,
153
157
  preload: languages,
154
- ...userOptions
158
+ ...userOptions,
159
+ ignoreJSONStructure
155
160
  });
156
161
  this.namespaces = new Set(namespaces);
157
162
  for (const item of languages) {
@@ -200,7 +205,7 @@ class InternationalizationHandler {
200
205
  * @since 1.0.0
201
206
  */
202
207
  async walkLanguageDirectory(dir, namespaces = [], current = '') {
203
- const directory = await promises_1.opendir(dir);
208
+ const directory = await (0, promises_1.opendir)(dir);
204
209
  const languages = [];
205
210
  for await (const entry of directory) {
206
211
  const fn = entry.name;
@@ -210,7 +215,7 @@ class InternationalizationHandler {
210
215
  const isLanguage = fn.includes('-');
211
216
  if (isLanguage)
212
217
  languages.push(fn);
213
- ({ namespaces } = await this.walkLanguageDirectory(path_1.join(dir, fn), namespaces, isLanguage ? '' : `${fn}/`));
218
+ ({ namespaces } = await this.walkLanguageDirectory((0, path_1.join)(dir, fn), namespaces, isLanguage ? '' : `${fn}/`));
214
219
  }
215
220
  else if (entry.name.endsWith('.json')) {
216
221
  namespaces.push(`${current}${fn.substr(0, fn.length - 5)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"InternationalizationHandler.js","sourceRoot":"","sources":["../../src/lib/InternationalizationHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InternationalizationHandler.js","sourceRoot":"","sources":["../../src/lib/InternationalizationHandler.ts"],"names":[],"mappings":"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"}
@@ -77,7 +77,7 @@ export declare function sendLocalized<TKeys extends TFunctionKeys = string, TInt
77
77
  * @param options The options to be sent, requiring at least `keys` to be passed.
78
78
  * @example
79
79
  * ```typescript
80
- * await sendLocalized(message, 'commands/ping:success');
80
+ * await editLocalized(message, 'commands/ping:success');
81
81
  * // ➡ "Pong!"
82
82
  * ```
83
83
  */
@@ -82,7 +82,7 @@ function resolveTextChannel(target) {
82
82
  * @private
83
83
  */
84
84
  async function resolveOverloads(target, options) {
85
- if (utilities_1.isObject(options)) {
85
+ if ((0, utilities_1.isObject)(options)) {
86
86
  const casted = options;
87
87
  return { ...options, content: await resolveKey(target, casted.keys, casted.formatOptions) };
88
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/lib/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/lib/functions.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { DMChannel, Guild, NewsChannel, StageChannel, StoreChannel, TextChannel, ThreadChannel, User, VoiceChannel } from 'discord.js';
1
+ import type { Awaited } from '@sapphire/utilities';
2
+ import type { Guild, Message, StageChannel, StoreChannel, User, VoiceChannel } from 'discord.js';
2
3
  import type { InitOptions } from 'i18next';
3
4
  import type { i18nextFsBackend } from 'i18next-fs-backend';
4
5
  /**
@@ -46,11 +47,22 @@ export interface InternationalizationOptions {
46
47
  * @since 1.0.0
47
48
  */
48
49
  defaultNS?: string;
50
+ /**
51
+ * A function that is to be used to retrieve the language for the current context.
52
+ * Context exists of a {@link Guild `guild`}, a {@link DiscordChannel `channel`} and a {@link User `user`}.
53
+ *
54
+ * If this is not set, then the language will always be the default language.
55
+ *
56
+ * This will be inserted for {@link InternationalizationHandler.fetchLanguage}.
57
+ * @since 2.0.0
58
+ * @default () => InternationalizationOptions.defaultName
59
+ */
60
+ fetchLanguage?: (context: InternationalizationContext) => Awaited<string | null>;
49
61
  }
50
- export declare type TextBasedDiscordChannel = TextChannel | NewsChannel | ThreadChannel | DMChannel;
62
+ export declare type TextBasedDiscordChannel = Message['channel'];
51
63
  export declare type DiscordChannel = TextBasedDiscordChannel | StoreChannel | StageChannel | VoiceChannel;
52
64
  /**
53
- * Context for {@link I18nextBaseImplementation.fetchLanguage} functions.
65
+ * Context for {@link InternationalizationHandler.fetchLanguage} functions.
54
66
  * This context enables implementation of per-guild, per-channel, and per-user localization.
55
67
  */
56
68
  export interface InternationalizationContext {
@@ -60,11 +72,5 @@ export interface InternationalizationContext {
60
72
  }
61
73
  export interface InternationalizationClientOptions {
62
74
  i18n?: InternationalizationOptions;
63
- /**
64
- * Hook that returns the name of a language. Should correspond to {@link InternationalizationHandler.fetchLanguage}.
65
- * @since 1.0.0
66
- * @default () => {@link I18nOptions.defaultName}
67
- */
68
- fetchLanguage?: (context: InternationalizationContext) => Promise<string | null> | string | null;
69
75
  }
70
76
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5I,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;GAIG;AACH,oBAAY,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAErG;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC3C;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAC,uBAAuB,CAAC;IAEnD;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAEpD;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,uBAAuB,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAC5F,oBAAY,cAAc,GAAG,uBAAuB,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;AAElG;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC3C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,iCAAiC;IACjD,IAAI,CAAC,EAAE,2BAA2B,CAAC;IAEnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CACjG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;GAIG;AACH,oBAAY,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAErG;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC3C;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAC,uBAAuB,CAAC;IAEnD;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAEpD;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACjF;AAED,oBAAY,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACzD,oBAAY,cAAc,GAAG,uBAAuB,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;AAElG;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC3C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,iCAAiC;IACjD,IAAI,CAAC,EAAE,2BAA2B,CAAC;CACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iCAAiC,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEzF,qBAAa,aAAc,SAAQ,MAAM;WAC1B,CAAC,yBAAyB,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;WAKzE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnE;AAKD,OAAO,QAAQ,kBAAkB,CAAC;IACjC,UAAU,SAAS;QAClB,IAAI,EAAE,2BAA2B,CAAC;KAClC;CACD;AAED,OAAO,QAAQ,YAAY,CAAC;IAC3B,UAAiB,aAAc,SAAQ,iCAAiC;KAAG;CAC3E"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iCAAiC,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEzF,qBAAa,aAAc,SAAQ,MAAM;WAC1B,CAAC,yBAAyB,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;WAIzE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnE;AAKD,OAAO,QAAQ,kBAAkB,CAAC;IACjC,UAAU,SAAS;QAClB,IAAI,EAAE,2BAA2B,CAAC;KAClC;CACD;AAED,OAAO,QAAQ,YAAY,CAAC;IAC3B,UAAiB,aAAc,SAAQ,iCAAiC;KAAG;CAC3E"}
package/dist/register.js CHANGED
@@ -6,8 +6,6 @@ const index_1 = require("./index");
6
6
  class I18nextPlugin extends framework_1.Plugin {
7
7
  static [framework_1.preGenericsInitialization](options) {
8
8
  framework_1.container.i18n = new index_1.InternationalizationHandler(options.i18n);
9
- if (typeof options.fetchLanguage === 'function')
10
- framework_1.container.i18n.fetchLanguage = options.fetchLanguage;
11
9
  }
12
10
  static async [framework_1.preLogin]() {
13
11
  await framework_1.container.i18n.init();
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":";;;AAAA,mDAA6G;AAE7G,mCAAyF;AAEzF,MAAa,aAAc,SAAQ,kBAAM;IACjC,MAAM,CAAC,CAAC,qCAAyB,CAAC,CAAuB,OAAsB;QACrF,qBAAS,CAAC,IAAI,GAAG,IAAI,mCAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU;YAAE,qBAAS,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACvG,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAQ,CAAC;QAC7B,MAAM,qBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CACD;AATD,sCASC;AAED,0BAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,aAAa,CAAC,qCAAyB,CAAC,EAAE,mCAAmC,CAAC,CAAC;AACrI,0BAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,oBAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":";;;AAAA,mDAA6G;AAE7G,mCAAyF;AAEzF,MAAa,aAAc,SAAQ,kBAAM;IACjC,MAAM,CAAC,CAAC,qCAAyB,CAAC,CAAuB,OAAsB;QACrF,qBAAS,CAAC,IAAI,GAAG,IAAI,mCAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAQ,CAAC;QAC7B,MAAM,qBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CACD;AARD,sCAQC;AAED,0BAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,aAAa,CAAC,qCAAyB,CAAC,EAAE,mCAAmC,CAAC,CAAC;AACrI,0BAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,oBAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapphire/plugin-i18next",
3
- "version": "2.0.0-next.a7152a8.0",
3
+ "version": "2.0.0-next.d810c56.0",
4
4
  "description": "Plugin for @sapphire/framework to support i18next.",
5
5
  "author": "@sapphire",
6
6
  "license": "MIT",
@@ -36,9 +36,9 @@
36
36
  "dependencies": {
37
37
  "@sapphire/utilities": "^2.0.1",
38
38
  "@types/i18next-fs-backend": "^1.0.1",
39
- "i18next": "^19.9.2",
39
+ "i18next": "^20.6.1",
40
40
  "i18next-fs-backend": "^1.1.1",
41
- "tslib": "^2.3.0"
41
+ "tslib": "^2.3.1"
42
42
  },
43
43
  "repository": {
44
44
  "type": "git",
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "a7152a8ba3baf0a5bee10e80bc7c33e11b03d4d3"
75
+ "gitHead": "d810c56b926526391b68269842a98aef7cb59d17"
76
76
  }