@magic-translate/react 1.17.1 → 1.17.3
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 +146 -3
- package/dist/components/Translate.test.js +7 -17
- package/dist/components/Translate.test.js.map +1 -1
- package/dist/context/MagicTranslateContext.js +1 -1
- package/dist/context/MagicTranslateContext.js.map +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +37 -32
- package/CHANGELOG.md +0 -215
package/README.md
CHANGED
|
@@ -2,7 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@magic-translate/react)
|
|
4
4
|
[](https://www.npmjs.com/package/@magic-translate/react)
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
React client for [Magic Translate](https://magictranslate.io), AI-powered i18n
|
|
7
|
+
without translation keys or language files. Write your components in one
|
|
8
|
+
language, wrap the text in `<T>`, and Magic Translate translates it on the fly.
|
|
9
|
+
|
|
10
|
+
```tsx
|
|
11
|
+
<button>
|
|
12
|
+
<T>Create chord chart</T>
|
|
13
|
+
</button>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
No `t('editor.toolbar.create')`, no `en.json` / `de.json` to keep in sync, and
|
|
17
|
+
adding a language is one line. Translations are cached and can be edited by
|
|
18
|
+
hand in the dashboard.
|
|
19
|
+
|
|
20
|
+
Requires React 17 or newer. For server-side rendering with Next.js or React
|
|
21
|
+
Server Components, use
|
|
22
|
+
[`@magic-translate/react-ssr`](https://www.npmjs.com/package/@magic-translate/react-ssr).
|
|
23
|
+
|
|
24
|
+
Full docs: [magictranslate.io/docs/react](https://magictranslate.io/docs/react)
|
|
6
25
|
|
|
7
26
|
## Install
|
|
8
27
|
|
|
@@ -16,10 +35,134 @@ Or with yarn:
|
|
|
16
35
|
yarn add @magic-translate/react
|
|
17
36
|
```
|
|
18
37
|
|
|
38
|
+
## Setup
|
|
39
|
+
|
|
40
|
+
Wrap your app in `MagicTranslateProvider`. You can get an API key for free at
|
|
41
|
+
[magictranslate.io](https://magictranslate.io).
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
// main.tsx
|
|
45
|
+
import { createRoot } from 'react-dom/client';
|
|
46
|
+
import { MagicTranslateProvider } from '@magic-translate/react';
|
|
47
|
+
import App from './App';
|
|
48
|
+
|
|
49
|
+
createRoot(document.getElementById('root')!).render(
|
|
50
|
+
<MagicTranslateProvider apiKey="YOUR_API_KEY" language="de">
|
|
51
|
+
<App />
|
|
52
|
+
</MagicTranslateProvider>
|
|
53
|
+
);
|
|
54
|
+
```
|
|
55
|
+
|
|
19
56
|
## Usage
|
|
20
57
|
|
|
21
|
-
|
|
58
|
+
### `<T>` component
|
|
59
|
+
|
|
60
|
+
Wrap any text, including plain HTML, in `<T>`. The original content is shown
|
|
61
|
+
until its translation has loaded.
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
import { T } from '@magic-translate/react';
|
|
65
|
+
|
|
66
|
+
export const Welcome = ({ name }: { name: string }) => (
|
|
67
|
+
<>
|
|
68
|
+
<h1>
|
|
69
|
+
<T>Welcome to our shop</T>
|
|
70
|
+
</h1>
|
|
71
|
+
<p>
|
|
72
|
+
<T>
|
|
73
|
+
Click <a href="/sale">here</a> to see <b>today's</b> deals.
|
|
74
|
+
</T>
|
|
75
|
+
</p>
|
|
76
|
+
<p>
|
|
77
|
+
<T>Hello {name}</T>
|
|
78
|
+
</p>
|
|
79
|
+
</>
|
|
80
|
+
);
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The content is re-translated whenever it changes, for example when `name`
|
|
84
|
+
changes in the example above.
|
|
85
|
+
|
|
86
|
+
All translations requested at the same time are sent to the API in a single
|
|
87
|
+
request, and translations are cached, so you can use as many `<T>` components
|
|
88
|
+
as you like.
|
|
89
|
+
|
|
90
|
+
Only text and plain HTML elements are allowed inside `<T>`. React components
|
|
91
|
+
are not, because they cannot survive the translation; `<T>` throws if it finds
|
|
92
|
+
one. Translate inside the component instead, or pass the translated string down
|
|
93
|
+
as a prop.
|
|
94
|
+
|
|
95
|
+
### `useTranslate`
|
|
96
|
+
|
|
97
|
+
Use `useTranslate` (or its alias `useT`) for plain strings, such as attributes,
|
|
98
|
+
or anywhere a component does not fit:
|
|
99
|
+
|
|
100
|
+
```tsx
|
|
101
|
+
import { useTranslate } from '@magic-translate/react';
|
|
102
|
+
|
|
103
|
+
export const Search = () => {
|
|
104
|
+
const t = useTranslate();
|
|
105
|
+
|
|
106
|
+
return <input placeholder={t('Search products')} />;
|
|
107
|
+
};
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
`t` returns the original text until the translation has loaded, and the
|
|
111
|
+
component re-renders once it has.
|
|
112
|
+
|
|
113
|
+
### Options per translation
|
|
114
|
+
|
|
115
|
+
Both the component and `t` can override the target language and the formality:
|
|
116
|
+
|
|
117
|
+
```tsx
|
|
118
|
+
<T lang="fr" formality="formal">How are you?</T>
|
|
119
|
+
|
|
120
|
+
<input placeholder={t('Your name', { lang: 'fr', formality: 'formal' })} />
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Switching languages
|
|
124
|
+
|
|
125
|
+
`useLanguageSwitcher` reads and changes the current language. Every `<T>`
|
|
126
|
+
component and `t` call updates automatically.
|
|
127
|
+
|
|
128
|
+
```tsx
|
|
129
|
+
import { useLanguageSwitcher } from '@magic-translate/react';
|
|
130
|
+
|
|
131
|
+
export const LanguageSwitcher = () => {
|
|
132
|
+
const { currentLanguage, setLanguage } = useLanguageSwitcher();
|
|
133
|
+
|
|
134
|
+
return (
|
|
135
|
+
<select
|
|
136
|
+
value={currentLanguage}
|
|
137
|
+
onChange={(e) => setLanguage(e.target.value as typeof currentLanguage)}
|
|
138
|
+
>
|
|
139
|
+
<option value="en">English</option>
|
|
140
|
+
<option value="de">Deutsch</option>
|
|
141
|
+
<option value="fr">Français</option>
|
|
142
|
+
</select>
|
|
143
|
+
);
|
|
144
|
+
};
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Configuration
|
|
148
|
+
|
|
149
|
+
`MagicTranslateProvider` accepts:
|
|
150
|
+
|
|
151
|
+
| Prop | Description |
|
|
152
|
+
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
|
153
|
+
| `apiKey` | Required. Your Magic Translate API key. |
|
|
154
|
+
| `language` | Required. The language content is translated to, e.g. `'de'`. |
|
|
155
|
+
| `sourceLanguage` | The language your components are written in. Detected automatically by default; only set it if automatic detection gives wrong results. |
|
|
156
|
+
| `formality` | `'formal'` or `'informal'`. Not supported for all languages. Can be overridden per translation. |
|
|
157
|
+
| `debug` | Logs requests to the console. |
|
|
158
|
+
|
|
159
|
+
## Other frameworks
|
|
160
|
+
|
|
161
|
+
- [`@magic-translate/react-ssr`](https://www.npmjs.com/package/@magic-translate/react-ssr): Next.js App Router and React Server Components
|
|
162
|
+
- [`@magic-translate/vue`](https://www.npmjs.com/package/@magic-translate/vue): Vue 3 and Nuxt
|
|
163
|
+
- [`@magic-translate/angular`](https://www.npmjs.com/package/@magic-translate/angular): Angular
|
|
164
|
+
- [`@magic-translate/js`](https://www.npmjs.com/package/@magic-translate/js): any website, with one script tag
|
|
22
165
|
|
|
23
166
|
## License
|
|
24
167
|
|
|
25
|
-
MIT © [
|
|
168
|
+
MIT © [i42 GmbH](https://i42.ch)
|
|
@@ -109,14 +109,9 @@ describe('Translate', () => {
|
|
|
109
109
|
});
|
|
110
110
|
it('should throw an error if there is a react component inside the translation component', async () => {
|
|
111
111
|
// given
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
React.createElement(
|
|
115
|
-
React.createElement(ExampleComponent, null))));
|
|
116
|
-
}
|
|
117
|
-
catch (err) {
|
|
118
|
-
expect(err.message).toContain('ExampleComponent');
|
|
119
|
-
}
|
|
112
|
+
expect(() => render(React.createElement(Wrapper, null,
|
|
113
|
+
React.createElement(T, null,
|
|
114
|
+
React.createElement(ExampleComponent, null))))).toThrow('ExampleComponent');
|
|
120
115
|
await act(async () => {
|
|
121
116
|
await tick();
|
|
122
117
|
});
|
|
@@ -125,15 +120,10 @@ describe('Translate', () => {
|
|
|
125
120
|
});
|
|
126
121
|
it('should throw an error if any child of the translate component is a react component', async () => {
|
|
127
122
|
// given
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
React.createElement(ExampleComponent, null))));
|
|
133
|
-
}
|
|
134
|
-
catch (err) {
|
|
135
|
-
expect(err.message).toContain('ExampleComponent');
|
|
136
|
-
}
|
|
123
|
+
expect(() => render(React.createElement(Wrapper, null,
|
|
124
|
+
React.createElement(T, null,
|
|
125
|
+
"test",
|
|
126
|
+
React.createElement(ExampleComponent, null))))).toThrow('ExampleComponent');
|
|
137
127
|
await act(async () => {
|
|
138
128
|
await tick();
|
|
139
129
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Translate.test.js","sourceRoot":"","sources":["../../src/components/Translate.test.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Translate.test.js","sourceRoot":"","sources":["../../src/components/Translate.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import DataLoader from 'dataloader';
|
|
2
2
|
import React, { createContext, useMemo, useState, } from 'react';
|
|
3
|
-
import { cacheKeyFn, defaultLoaderFactory
|
|
3
|
+
import { cacheKeyFn, defaultLoaderFactory, libraryWebsite, } from '@magic-translate/core';
|
|
4
4
|
export const MagicTranslateContext = createContext(null);
|
|
5
5
|
export const MagicTranslateProvider = ({ language: passedLanguage, sourceLanguage, debug, apiKey, children, _loaderFactory = defaultLoaderFactory, _apiUrl, formality, }) => {
|
|
6
6
|
if (!apiKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MagicTranslateContext.js","sourceRoot":"","sources":["../../src/context/MagicTranslateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EACZ,aAAa,EAEb,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EACL,UAAU,EAGV,oBAAoB,
|
|
1
|
+
{"version":3,"file":"MagicTranslateContext.js","sourceRoot":"","sources":["../../src/context/MagicTranslateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EACZ,aAAa,EAEb,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EACL,UAAU,EAGV,oBAAoB,EAEpB,cAAc,GAGf,MAAM,uBAAuB,CAAC;AAiC/B,MAAM,CAAC,MAAM,qBAAqB,GAChC,aAAa,CAAoC,IAAI,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAE/B,CAAC,EACH,QAAQ,EAAE,cAAc,EACxB,cAAc,EACd,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,GAAG,oBAAoB,EACrC,OAAO,EACP,SAAS,GACV,EAAE,EAAE;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,cAAc,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,mBAAmB,IAAI,cAAc,EAC3C,CAAC,cAAc,EAAE,mBAAmB,CAAC,CACtC,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,UAAU,EAAE,IAAI,UAAU,CACxB,cAAc,CAAC;YACb,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,OAAO;YACf,SAAS;SACV,CAAC,EACF;YACE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC;SACzD,CACF;QACD,QAAQ;QACR,cAAc;QACd,MAAM;QACN,WAAW;KACZ,CAAC,EACF;QACE,cAAc;QACd,QAAQ;QACR,cAAc;QACd,KAAK;QACL,MAAM;QACN,OAAO;QACP,SAAS;KACV,CACF,CAAC;IAEF,OAAO,CACL,oBAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACzC,QAAQ,CACsB,CAClC,CAAC;AACJ,CAAC,CAAC"}
|