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 CHANGED
@@ -14,18 +14,18 @@ Full documentation coming soon!
14
14
  npm i generaltranslation
15
15
  ```
16
16
 
17
- <b>In your code:</b>
17
+ <b>In your code, import functions directly</b>
18
18
 
19
19
  ```
20
- import GT from 'generaltranslation'
21
-
22
- const gt = new GT()
20
+ import { getLanguageName } from 'generaltranslation'
23
21
  ```
24
22
 
25
- or, import functions directly:
23
+ or, to initialize a GT API client:
26
24
 
27
25
  ```
28
- import { getLanguageName } from 'generaltranslation'
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 = gt.getLanguageName('en');
38
+ const language = getLanguageName('en');
39
39
  console.log(language) // 'English'
40
40
 
41
- const languages = gt.getLanguageName(['fr', 'es'])
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 = gt.getLanguageCode('English');
50
+ const code = getLanguageCode('English');
51
51
  console.log(language) // 'en'
52
52
 
53
- const codes = gt.getLanguageCodes(['French', 'Spanish'])
53
+ const codes = getLanguageCodes(['French', 'Spanish'])
54
54
  console.log(codes) // ['fr', 'es']
55
55
  ```
56
56
 
57
- ## Which languages do AI models understand?
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
- 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.
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 supported = await gt.isSupportedLanguage('gpt-4', 'fr')
85
- console.log(supported) // true
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({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generaltranslation",
3
- "version": "1.1.24",
3
+ "version": "1.1.26",
4
4
  "description": "A language toolkit for AI developers",
5
5
  "main": "index.js",
6
6
  "type": "module",