generaltranslation 1.1.24 → 1.1.26
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 +47 -36
- package/client/getUserLanguage.js +1 -1
- package/index.js +1 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,18 +14,18 @@ Full documentation coming soon!
|
|
|
14
14
|
npm i generaltranslation
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
<b>In your code
|
|
17
|
+
<b>In your code, import functions directly</b>
|
|
18
18
|
|
|
19
19
|
```
|
|
20
|
-
import
|
|
21
|
-
|
|
22
|
-
const gt = new GT()
|
|
20
|
+
import { getLanguageName } from 'generaltranslation'
|
|
23
21
|
```
|
|
24
22
|
|
|
25
|
-
or,
|
|
23
|
+
or, to initialize a GT API client:
|
|
26
24
|
|
|
27
25
|
```
|
|
28
|
-
import
|
|
26
|
+
import GT from 'generaltranslation'
|
|
27
|
+
|
|
28
|
+
const gt = new GT()
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
## Convert between languages and ISO-639 codes
|
|
@@ -35,10 +35,10 @@ import { getLanguageName } from 'generaltranslation'
|
|
|
35
35
|
Returns a language name from a two or three-letter ISO-639 language code, or an array of codes.
|
|
36
36
|
|
|
37
37
|
```
|
|
38
|
-
const language =
|
|
38
|
+
const language = getLanguageName('en');
|
|
39
39
|
console.log(language) // 'English'
|
|
40
40
|
|
|
41
|
-
const languages =
|
|
41
|
+
const languages = getLanguageName(['fr', 'es'])
|
|
42
42
|
console.log(languages) // ['French', 'Spanish']
|
|
43
43
|
```
|
|
44
44
|
|
|
@@ -47,42 +47,22 @@ console.log(languages) // ['French', 'Spanish']
|
|
|
47
47
|
Returns an ISO-639 code from a language name or an array of language names.
|
|
48
48
|
|
|
49
49
|
```
|
|
50
|
-
const code =
|
|
50
|
+
const code = getLanguageCode('English');
|
|
51
51
|
console.log(language) // 'en'
|
|
52
52
|
|
|
53
|
-
const codes =
|
|
53
|
+
const codes = getLanguageCodes(['French', 'Spanish'])
|
|
54
54
|
console.log(codes) // ['fr', 'es']
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
##
|
|
58
|
-
|
|
59
|
-
We continually benchmark AI models and add new models as they are released. That means these functions have to be <code>async</code>. This information is provided as a public service. It's completely free and requires no API key.
|
|
60
|
-
|
|
61
|
-
### async getModelList()
|
|
62
|
-
|
|
63
|
-
Get the latest list of models for which there is data. Returns an array of model names.
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
const models = await gt.getModelList();
|
|
67
|
-
console.log(models) // ['gpt-4', ... ]
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### async getModelLanguages(model)
|
|
57
|
+
## Get a user's language
|
|
71
58
|
|
|
72
|
-
|
|
59
|
+
### getUserLanguage()
|
|
73
60
|
|
|
74
|
-
|
|
75
|
-
const languages = await gt.getModelLanguages('mixtral-8x7b')
|
|
76
|
-
console.log(languages) // ['en', 'fr', 'de', 'es', 'it']
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### async isSupportedLanguage(model, code)
|
|
80
|
-
|
|
81
|
-
Returns true if a model is known to be compatible with a given language, represented by an ISO-639 language code. Returns false otherwise.
|
|
61
|
+
Returns a user's default browser language. Meant for use in a web browser (i.e. on the client side).
|
|
82
62
|
|
|
83
63
|
```
|
|
84
|
-
const
|
|
85
|
-
console.log(
|
|
64
|
+
const userLanguage = getUserLanguage();
|
|
65
|
+
console.log(userLanguage) // 'en'
|
|
86
66
|
```
|
|
87
67
|
|
|
88
68
|
## Prompt Internationalization API
|
|
@@ -149,4 +129,35 @@ This also works:
|
|
|
149
129
|
|
|
150
130
|
```
|
|
151
131
|
const translatedPrompt = await gt.translatePrompt({ text: 'Tell me a story' }, 'es');
|
|
152
|
-
```
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Which languages do AI models understand?
|
|
135
|
+
|
|
136
|
+
We continually benchmark AI models and add new models as they are released. That means these functions have to be <code>async</code>. This information is provided as a public service. It's completely free and requires no API key.
|
|
137
|
+
|
|
138
|
+
### async getModelList()
|
|
139
|
+
|
|
140
|
+
Get the latest list of models for which there is data. Returns an array of model names.
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
const models = await getModelList();
|
|
144
|
+
console.log(models) // ['gpt-4', ... ]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### async getModelLanguages(model)
|
|
148
|
+
|
|
149
|
+
Get all languages known to be compatible with a given AI model. Returns an array of languages codes, or null if the model is unknown.
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
const languages = await getModelLanguages('mixtral-8x7b')
|
|
153
|
+
console.log(languages) // ['en', 'fr', 'de', 'es', 'it']
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### async isSupportedLanguage(model, code)
|
|
157
|
+
|
|
158
|
+
Returns true if a model is known to be compatible with a given language, represented by an ISO-639 language code. Returns false otherwise.
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
const supported = await isSupportedLanguage('gpt-4', 'fr')
|
|
162
|
+
console.log(supported) // true
|
|
163
|
+
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// e.g. 'en-US', not necessarily 'en'
|
|
3
3
|
// generaltranslation handles this well, but other libraries may not
|
|
4
4
|
// (it's a skill issue I'm afraid)
|
|
5
|
-
export default function _getUserLanguage(defaultLanguage = '') {
|
|
5
|
+
export default function _getUserLanguage({defaultLanguage = ''} = {}) {
|
|
6
6
|
if (typeof window !== 'undefined' && window?.navigator) {
|
|
7
7
|
return navigator?.language || navigator?.userLanguage || defaultLanguage || '';
|
|
8
8
|
} else if (defaultLanguage) {
|
package/index.js
CHANGED
|
@@ -17,28 +17,11 @@ export default class GT {
|
|
|
17
17
|
defaultLanguage = 'en',
|
|
18
18
|
baseURL = 'https://translate.gtx.dev'
|
|
19
19
|
} = {}) {
|
|
20
|
-
this.apiKey = apiKey;
|
|
20
|
+
this.apiKey = apiKey || (typeof process !== 'undefined' ? process.env.GT_API_KEY : '');
|
|
21
21
|
this.defaultLanguage = defaultLanguage;
|
|
22
22
|
this.baseURL = baseURL;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
// Language code functions
|
|
26
|
-
getLanguageName = _getLanguageName; // e.g. 'en' => 'English'
|
|
27
|
-
getLanguageCode = _getLanguageCode; // e.g. 'English' => 'en'
|
|
28
|
-
|
|
29
|
-
// Model information functions
|
|
30
|
-
getModelList = _getModelList; // returns array of supported model names
|
|
31
|
-
getModelInfo = _getModelInfo; // returns model object
|
|
32
|
-
getModelLanguages = _getModelLanguages; // e.g. 'mistral-7b' => ['en']
|
|
33
|
-
isLanguageSupported = _isLanguageSupported; // e.g. ('mistral-7b', 'en') => true
|
|
34
|
-
getModelsByLanguage = _getModelsByLanguage; // returns array of model names
|
|
35
|
-
getModelsByDeveloper = _getModelsByDeveloper; // returns array of model names
|
|
36
|
-
|
|
37
|
-
// Get a user's browser language
|
|
38
|
-
getUserLanguage = () => {
|
|
39
|
-
return _getUserLanguage(this.defaultLanguage);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
25
|
// Prompt I18N
|
|
43
26
|
translatePrompt = async (prompt, language) => {
|
|
44
27
|
return await _translatePrompt({
|