gptrans 1.5.8 → 1.6.2
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 +18 -2
- package/db/gptrans_en.json +3 -2
- package/db/gptrans_from_es.json +3 -2
- package/demo/case_4.js +15 -5
- package/demo/georgia_incident.md +64 -0
- package/index.js +3 -2
- package/package.json +2 -2
- package/db/gptrans_es.json +0 -5
package/README.md
CHANGED
|
@@ -67,7 +67,7 @@ When creating a new instance of GPTrans, you can customize:
|
|
|
67
67
|
|--------|-------------|---------|
|
|
68
68
|
| `from` | Source language locale (BCP 47) | `en-US` |
|
|
69
69
|
| `target` | Target language locale (BCP 47) | `es` |
|
|
70
|
-
| `model` | Translation model key | `claude-3-7-sonnet` |
|
|
70
|
+
| `model` | Translation model key or array of models for fallback | `claude-3-7-sonnet` |
|
|
71
71
|
| `batchThreshold` | Maximum number of characters to accumulate before triggering batch processing | `1500` |
|
|
72
72
|
| `debounceTimeout` | Time in milliseconds to wait before processing translations | `500` |
|
|
73
73
|
| `freeze` | Freeze mode to prevent translations from being queued | `false` |
|
|
@@ -119,9 +119,25 @@ If you're looking to streamline your translation workflow and bring your applica
|
|
|
119
119
|
You can preload translations for specific languages using the `preload` method. This is particularly useful when you want to initialize translations based on dynamically generated keys:
|
|
120
120
|
|
|
121
121
|
```javascript
|
|
122
|
-
await gptrans.preload({target:'ar'});
|
|
122
|
+
await gptrans.preload({ target:'ar' });
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
+
### Model Fallback System
|
|
126
|
+
|
|
127
|
+
GPTrans supports a fallback mechanism for translation models. Instead of providing a single model, you can pass an array of models:
|
|
128
|
+
|
|
129
|
+
```javascript
|
|
130
|
+
const translator = new GPTrans({
|
|
131
|
+
model: ['claude-3-7-sonnet-20250219', 'o3-mini-2025-01-31'],
|
|
132
|
+
// ... other options
|
|
133
|
+
});
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
When using multiple models:
|
|
137
|
+
- The first model in the array is used as the primary translation service
|
|
138
|
+
- If the primary model fails (due to API errors, rate limits, etc.), GPTrans automatically falls back to the next model
|
|
139
|
+
- This ensures higher availability and resilience of your translation service
|
|
140
|
+
|
|
125
141
|
## Contributing
|
|
126
142
|
|
|
127
143
|
Contributions are welcome! Please open an issue or submit a pull request on GitHub to contribute improvements or fixes.
|
package/db/gptrans_en.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"45h": {
|
|
3
|
-
"
|
|
3
|
+
"eres_muy_bueno\n_lo_eres_1lkenvc": "You're very good\n---\nYou truly are",
|
|
4
4
|
"tienes_fuego_1i2o3ok": "Do you have a light?"
|
|
5
5
|
},
|
|
6
6
|
"1sfvxng": {
|
|
7
|
-
"eres_muy_bueno_26czme": "You are very good"
|
|
7
|
+
"eres_muy_bueno_26czme": "You are very good",
|
|
8
|
+
"_memora_intern_p18x__vrlf96": "| **INTERNAL MEMORANDUM P-18-X** | |\n| ------------------------------- | --------------------- |\n| **From:** | Zentara Group |\n| **Date:** | February 15, 2018 |\n| **Time:** | 06:00 AM GMT |\n| **Confidentiality Level:** | ALPHA-8 |\n\n\n## Incident in South Georgia\n### Advanced MPD Propulsion ZNC-S20 Vessel\n\nAt 03:45 AM GMT on February 15, 2018, an **Advanced MPD Propulsion ZNC-S20 Vessel** experienced a loss of control due to causes still unknown. The vessel performed an emergency landing at coordinates **54°39'44.62\" S 36°11'42.47\" W** in South Georgia, leaving a furrow approximately 1 km long across the snow and surrounding mountains.\n\n\n*Aerial view of the impact.*\n\n### **Immediate Actions:**\n\n1. **Containment Team Deployment:**\n - Send specialized units to the impact site to secure the area and recover the vessel.\n - Establish a 15 km security perimeter and restrict access to all unauthorized personnel.\n\n2. **Information Control:**\n - Apply confidentiality procedures for all personnel involved.\n - Implement disinformation protocols for any eyewitnesses.\n\n3. **Satellite Image Manipulation:**\n - Coordinate with the Satellite Observation Department to, in the short term, **replace images simulating a glacier collapse**.\n - In the long term, **remove high-quality satellite images of the area**.\n\n4. **Communication with Local Population:**\n - Inform residents that security operations are being conducted due to geological risks.\n - Restrict access to nearby areas.\n\n5. **Media Management:**\n - Issue an official statement reporting an avalanche in the area caused by a glacier collapse.\n - Facilitate interviews with experts such as Dr. Richard Waller to support the official version.\n\n6. **Social Media Monitoring and Control:**\n - Monitor digital platforms to identify and neutralize any information leaks.\n - Disseminate content that reinforces the official narrative.\n\n### **Official Scientific Narrative:**\n\nDr. Richard Waller, geologist from Keele University, will indicate that the observed phenomenon was a consequence of a glacier collapse, which has left visible debris in the snow. He will also suggest that the trail in the snow is related to a recent avalanche in the area.\n\n\n*Proposal to replace satellite images of the area.*\n\n---\n\n### **Conclusions and Next Steps:**\n\nThe situation must be handled with the highest level of discretion. All departments must work in coordination to ensure that the incident remains confidential. The described actions are expected to be implemented immediately and effectively.\n\n\n\n**Michael Camelbot**\n\nZentara Group\n\n---\n\n**This document is confidential and intended only for authorized Zentara Group personnel. Any unauthorized disclosure is strictly prohibited and will be sanctioned according to internal security protocols.**"
|
|
8
9
|
}
|
|
9
10
|
}
|
package/db/gptrans_from_es.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"": {
|
|
3
|
-
"
|
|
3
|
+
"eres_muy_bueno\n_lo_eres_1lkenvc": "Eres muy bueno\n---\nVerdaderamente lo eres",
|
|
4
4
|
"tienes_fuego_1i2o3ok": "Tienes fuego?"
|
|
5
5
|
},
|
|
6
6
|
"El mensaje es para una mujer": {
|
|
7
|
-
"eres_muy_bueno_26czme": "Eres muy bueno"
|
|
7
|
+
"eres_muy_bueno_26czme": "Eres muy bueno",
|
|
8
|
+
"_memora_intern_p18x__vrlf96": "| **MEMORANDO INTERNO P-18-X** | |\n| ------------------------------ | --------------------- |\n| **Emisor:** | Zentara Group |\n| **Fecha:** | 15 de febrero de 2018 |\n| **Hora:** | 06:00 AM GMT |\n| **Nivel de Confidencialidad:** | ALPHA-8 |\n\n\n## Incidente en South Georgia\n### Nave ZNC-S20 de Propulsión MPD Avanzada\n\nA las 03:45 AM GMT del 15 de febrero de 2018, una **Nave ZNC-S20 de Propulsión MPD Avanzada** sufrió una pérdida de control por causas aún desconocidas. La nave realizó un aterrizaje de emergencia en las coordenadas **54°39'44.62\" S 36°11'42.47\" W** en South Georgia, dejando una surco de aproximadamente 1 km a través de la nieve y las montañas circundantes.\n\n\n*Vista aérea del impacto.*\n\n### **Acciones Inmediatas:**\n\n1. **Despliegue de Equipo de Contención:**\n - Enviar unidades especializadas al sitio del impacto para asegurar el área y recuperar la nave.\n - Establecer un perímetro de seguridad de 15 km y restringir el acceso a todo personal no autorizado.\n\n2. **Control de Información:**\n - Aplicar procedimientos de confidencialidad para todo el personal involucrado.\n - Implementar protocolos de desinformación para cualquier testigo presencial.\n\n3. **Manipulación de Imágenes Satelitales:**\n - Coordinar con el Departamento de Observación Satelital para, a corto plazo, **sustituir imágenes simulando un desprendimiento glaciar**.\n - A largo plazo, **eliminar las imágenes satelitales de alta calidad en la zona**.\n\n4. **Comunicación con la Población Local:**\n - Informar a los residentes que se están llevando a cabo operaciones de seguridad por riesgos geológicos.\n - Restringir el acceso a áreas próximas.\n\n5. **Gestión de Medios de Comunicación:**\n - Emitir un comunicado oficial informando sobre una avalancha en la zona ocasionada por el colapso de un glaciar.\n - Facilitar entrevistas con expertos como el Dr. Richard Waller para respaldar la versión oficial.\n\n6. **Monitoreo y Control de Redes Sociales:**\n - Supervisar plataformas digitales para identificar y neutralizar cualquier filtración de información.\n - Difundir contenido que refuerce la narrativa oficial.\n\n### **Narrativa Científica Oficial:**\n\nEl Dr. Richard Waller, geólogo de la Universidad Keele, indicará que el fenómeno observado fue consecuencia del colapso de un glaciar, lo que ha dejado escombros visibles en la nieve. También sugerirá que el rastro en la nieve está relacionado con una avalancha reciente en la zona.\n\n\n*Propuesta para reemplazar las imagenes satelitales de la zona.*\n\n---\n\n### **Conclusiones y Pasos a Seguir:**\n\nLa situación debe ser manejada con el máximo nivel de discreción. Todos los departamentos deben trabajar en coordinación para asegurar que el incidente permanezca confidencial. Se espera que las acciones descritas sean implementadas de forma inmediata y efectiva.\n\n\n\n**Michael Camelbot**\n\nZentara Group\n\n---\n\n**Este documento es confidencial y está destinado únicamente al personal autorizado de Zentara Group. Cualquier divulgación no autorizada está estrictamente prohibida y será sancionada conforme a protocolos internos de seguridad.**"
|
|
8
9
|
}
|
|
9
10
|
}
|
package/demo/case_4.js
CHANGED
|
@@ -1,17 +1,27 @@
|
|
|
1
1
|
import GPTrans from '../index.js';
|
|
2
|
+
import { dirname } from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
import { promises as fs } from 'fs';
|
|
2
5
|
|
|
6
|
+
// Get current file directory
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
3
8
|
|
|
4
|
-
//
|
|
9
|
+
// Initialize translator
|
|
5
10
|
const model = new GPTrans({
|
|
6
|
-
|
|
11
|
+
model: ['claude-3-7-sonnet-20250219', 'o3-mini-2025-01-31'],
|
|
12
|
+
from: 'es', // Assuming the source file is in Spanish
|
|
7
13
|
target: 'en',
|
|
8
14
|
});
|
|
9
15
|
|
|
16
|
+
// Load the model
|
|
10
17
|
await model.preload();
|
|
11
18
|
|
|
19
|
+
// Read and translate the file
|
|
20
|
+
const filePath = `${__dirname}/georgia_incident.md`;
|
|
21
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
12
22
|
|
|
13
|
-
|
|
14
|
-
|
|
23
|
+
// Translate the content
|
|
24
|
+
const translatedContent = model.t(content);
|
|
25
|
+
console.log(translatedContent);
|
|
15
26
|
|
|
16
27
|
|
|
17
|
-
console.log(model.setContext().t('Tienes fuego?'));
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
| **MEMORANDO INTERNO P-18-X** | |
|
|
2
|
+
| ------------------------------ | --------------------- |
|
|
3
|
+
| **Emisor:** | Zentara Group |
|
|
4
|
+
| **Fecha:** | 15 de febrero de 2018 |
|
|
5
|
+
| **Hora:** | 06:00 AM GMT |
|
|
6
|
+
| **Nivel de Confidencialidad:** | ALPHA-8 |
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Incidente en South Georgia
|
|
10
|
+
### Nave ZNC-S20 de Propulsión MPD Avanzada
|
|
11
|
+
|
|
12
|
+
A las 03:45 AM GMT del 15 de febrero de 2018, una **Nave ZNC-S20 de Propulsión MPD Avanzada** sufrió una pérdida de control por causas aún desconocidas. La nave realizó un aterrizaje de emergencia en las coordenadas **54°39'44.62" S 36°11'42.47" W** en South Georgia, dejando una surco de aproximadamente 1 km a través de la nieve y las montañas circundantes.
|
|
13
|
+
|
|
14
|
+

|
|
15
|
+
*Vista aérea del impacto.*
|
|
16
|
+
|
|
17
|
+
### **Acciones Inmediatas:**
|
|
18
|
+
|
|
19
|
+
1. **Despliegue de Equipo de Contención:**
|
|
20
|
+
- Enviar unidades especializadas al sitio del impacto para asegurar el área y recuperar la nave.
|
|
21
|
+
- Establecer un perímetro de seguridad de 15 km y restringir el acceso a todo personal no autorizado.
|
|
22
|
+
|
|
23
|
+
2. **Control de Información:**
|
|
24
|
+
- Aplicar procedimientos de confidencialidad para todo el personal involucrado.
|
|
25
|
+
- Implementar protocolos de desinformación para cualquier testigo presencial.
|
|
26
|
+
|
|
27
|
+
3. **Manipulación de Imágenes Satelitales:**
|
|
28
|
+
- Coordinar con el Departamento de Observación Satelital para, a corto plazo, **sustituir imágenes simulando un desprendimiento glaciar**.
|
|
29
|
+
- A largo plazo, **eliminar las imágenes satelitales de alta calidad en la zona**.
|
|
30
|
+
|
|
31
|
+
4. **Comunicación con la Población Local:**
|
|
32
|
+
- Informar a los residentes que se están llevando a cabo operaciones de seguridad por riesgos geológicos.
|
|
33
|
+
- Restringir el acceso a áreas próximas.
|
|
34
|
+
|
|
35
|
+
5. **Gestión de Medios de Comunicación:**
|
|
36
|
+
- Emitir un comunicado oficial informando sobre una avalancha en la zona ocasionada por el colapso de un glaciar.
|
|
37
|
+
- Facilitar entrevistas con expertos como el Dr. Richard Waller para respaldar la versión oficial.
|
|
38
|
+
|
|
39
|
+
6. **Monitoreo y Control de Redes Sociales:**
|
|
40
|
+
- Supervisar plataformas digitales para identificar y neutralizar cualquier filtración de información.
|
|
41
|
+
- Difundir contenido que refuerce la narrativa oficial.
|
|
42
|
+
|
|
43
|
+
### **Narrativa Científica Oficial:**
|
|
44
|
+
|
|
45
|
+
El Dr. Richard Waller, geólogo de la Universidad Keele, indicará que el fenómeno observado fue consecuencia del colapso de un glaciar, lo que ha dejado escombros visibles en la nieve. También sugerirá que el rastro en la nieve está relacionado con una avalancha reciente en la zona.
|
|
46
|
+
|
|
47
|
+

|
|
48
|
+
*Propuesta para reemplazar las imagenes satelitales de la zona.*
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### **Conclusiones y Pasos a Seguir:**
|
|
53
|
+
|
|
54
|
+
La situación debe ser manejada con el máximo nivel de discreción. Todos los departamentos deben trabajar en coordinación para asegurar que el incidente permanezca confidencial. Se espera que las acciones descritas sean implementadas de forma inmediata y efectiva.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+

|
|
58
|
+
**Michael Camelbot**
|
|
59
|
+
|
|
60
|
+
Zentara Group
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
**Este documento es confidencial y está destinado únicamente al personal autorizado de Zentara Group. Cualquier divulgación no autorizada está estrictamente prohibida y será sancionada conforme a protocolos internos de seguridad.**
|
package/index.js
CHANGED
|
@@ -40,8 +40,9 @@ class GPTrans {
|
|
|
40
40
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
this.
|
|
43
|
+
const path = new URL('../../db', import.meta.url).pathname;
|
|
44
|
+
this.dbTarget = new DeepBase({ name: 'gptrans_' + target, path });
|
|
45
|
+
this.dbFrom = new DeepBase({ name: 'gptrans_from_' + from, path });
|
|
45
46
|
|
|
46
47
|
try {
|
|
47
48
|
this.replaceTarget = isoAssoc(target, 'TARGET_');
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gptrans",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.6.2",
|
|
5
5
|
"description": "🚆 GPTrans - The smarter AI-powered way to translate.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"translate",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"deepbase": "^1.4.8",
|
|
36
36
|
"dotenv": "^16.4.7",
|
|
37
|
-
"modelmix": "^2.9.
|
|
37
|
+
"modelmix": "^2.9.2",
|
|
38
38
|
"string-hash": "^1.1.3"
|
|
39
39
|
}
|
|
40
40
|
}
|