i18ntk 1.5.0 → 1.5.1
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/CHANGELOG.md +21 -1
- package/LICENSE +4 -1
- package/README.md +157 -960
- package/package.json +7 -7
- package/settings/settings-cli.js +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,27 @@ All notable changes to the i18n Management Toolkit will be documented in this fi
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
**Current Version:** 1.5.
|
|
8
|
+
**Current Version:** 1.5.1
|
|
9
|
+
|
|
10
|
+
## [1.5.1] - 2025-08-06
|
|
11
|
+
|
|
12
|
+
### 🆕 Added
|
|
13
|
+
- **Framework clarification documentation** - Explicitly states that frameworks are optional
|
|
14
|
+
- **Streamlined README** - Concise overview with detailed documentation links
|
|
15
|
+
- **Updated GitHub URL** - New repository location at [vladnoskv/i18ntk](https://github.com/vladnoskv/i18ntk)
|
|
16
|
+
- **Enhanced compatibility documentation** - Clear guidance for framework vs. framework-free usage
|
|
17
|
+
|
|
18
|
+
### 🔧 Changed
|
|
19
|
+
- **Documentation structure** - Moved detailed content to GitHub docs
|
|
20
|
+
- **Version references** - Updated all documentation to v1.5.1
|
|
21
|
+
- **GitHub URLs** - Updated to new repository location
|
|
22
|
+
- **README.md** - Streamlined with documentation links instead of detailed content
|
|
23
|
+
|
|
24
|
+
### 📚 Documentation
|
|
25
|
+
- **Framework integration guide** - Clarified that frameworks are optional
|
|
26
|
+
- **Setup documentation** - Updated installation and configuration guides
|
|
27
|
+
- **Troubleshooting** - Added framework-specific guidance
|
|
28
|
+
- **Community resources** - Updated all links to new repository
|
|
9
29
|
|
|
10
30
|
## [1.5.0] - 2025-08-05
|
|
11
31
|
|
package/LICENSE
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2025 I18N Management Toolkit
|
|
4
|
+
GitHub: https://github.com/vladnoskv/i18ntk
|
|
4
5
|
|
|
5
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -20,4 +21,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
20
21
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
22
|
SOFTWARE.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
**Last Updated**: 06/08/2025
|
package/README.md
CHANGED
|
@@ -1,193 +1,81 @@
|
|
|
1
|
-
# i18ntk - i18n
|
|
1
|
+
# 🌍 i18ntk - The Ultimate i18n Translation Management Toolkit
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[](https://opensource.org/licenses/MIT)
|
|
5
|
-
[](https://nodejs.org/)
|
|
3
|
+

|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/i18ntk) [](https://opensource.org/licenses/MIT) [](https://nodejs.org/) [](https://www.npmjs.com/package/i18ntk) [](https://github.com/vladnoskv/i18ntk)
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
**🚀 The fastest way to manage translations across any framework or vanilla JavaScript projects**
|
|
10
8
|
|
|
11
|
-
**
|
|
12
|
-
- Complete overhaul of the internationalization system
|
|
13
|
-
- Enhanced performance with optimized loading times
|
|
14
|
-
- Improved security measures to protect sensitive translation data
|
|
15
|
-
- Expanded functionality with additional features for better project management
|
|
16
|
-
- Reduced package size by 68% compared to v1.4.0
|
|
17
|
-
- Improved documentation with detailed guides and examples
|
|
9
|
+
> **Zero runtime dependencies** | **68% smaller package** | **Works with any framework** | **Enterprise-grade security**
|
|
18
10
|
|
|
11
|
+
⚠️ **Disclaimer**: This package (`i18ntk` by Vlad Noskov) is an independent internationalization management toolkit and is **not affiliated with** any other packages named "i18ntk" or similar i18n tools. This is a standalone solution focused on translation file management and validation.
|
|
19
12
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
### Installation Options
|
|
23
|
-
Choose the installation method that best fits your workflow:
|
|
24
|
-
|
|
25
|
-
#### Global Installation (Recommended)
|
|
26
|
-
```bash
|
|
27
|
-
npm install -g i18ntk
|
|
28
|
-
```
|
|
29
|
-
Perfect for team-wide usage and CI/CD pipelines. Available system-wide as `i18ntk` command.
|
|
30
|
-
|
|
31
|
-
#### Local Project Installation
|
|
32
|
-
```bash
|
|
33
|
-
npm install --save-dev i18ntk
|
|
34
|
-
```
|
|
35
|
-
Ideal for project-specific configurations and when working with different versions across projects.
|
|
36
|
-
|
|
37
|
-
#### NPX Usage (No Installation)
|
|
38
|
-
```bash
|
|
39
|
-
npx i18ntk init
|
|
40
|
-
```
|
|
41
|
-
Great for one-time usage or testing the toolkit without permanent installation.
|
|
42
|
-
|
|
43
|
-
### First Steps - Complete Setup Guide
|
|
44
|
-
|
|
45
|
-
#### 1. Initialize Your Project
|
|
46
|
-
```bash
|
|
47
|
-
# Create complete i18n infrastructure
|
|
48
|
-
npx i18ntk init
|
|
49
|
-
|
|
50
|
-
# This creates:
|
|
51
|
-
# ├── settings/i18ntk-config.json # Main configuration
|
|
52
|
-
# ├── locales/ # Translation files directory
|
|
53
|
-
# │ └── en/common.json # Default English translations
|
|
54
|
-
# ├── ui-locales/ # UI-specific translations (optional)
|
|
55
|
-
# └── package.json scripts # npm integration
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
#### 2. Interactive Configuration
|
|
59
|
-
```bash
|
|
60
|
-
# Guided setup with visual interface
|
|
61
|
-
npx i18ntk manage
|
|
62
|
-
|
|
63
|
-
# Configure:
|
|
64
|
-
# • Supported languages (7 languages available)
|
|
65
|
-
# • Translation file structure
|
|
66
|
-
# • Framework integration
|
|
67
|
-
# • Validation rules
|
|
68
|
-
# • Performance settings
|
|
69
|
-
```
|
|
13
|
+
**Version:** 1.5.1 (2025-08-06) - i18n internationalization toolkit
|
|
70
14
|
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
# Comprehensive analysis of current translations
|
|
74
|
-
npx i18ntk analyze
|
|
15
|
+
**Framework Support:** Works **with or without** i18n frameworks. i18ntk manages translation files and validation - it does NOT implement translations on pages. Compatible with i18next, LinguiJS, and other frameworks using standard JSON translation files. **No runtime dependencies!**
|
|
75
16
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
17
|
+
**Key Features of v1.5.1:**
|
|
18
|
+
- Complete internationalization management toolkit
|
|
19
|
+
- Zero runtime dependencies
|
|
20
|
+
- 68% package size reduction
|
|
21
|
+
- Framework-agnostic JSON translation support
|
|
22
|
+
- Enhanced security with PIN protection
|
|
23
|
+
- Enterprise-grade AES-256-GCM encryption
|
|
24
|
+
- 7-language support (EN, DE, ES, FR, RU, JA, ZH)
|
|
25
|
+
- Real-time analysis and validation
|
|
26
|
+
- CI/CD ready workflows
|
|
27
|
+
- Comprehensive documentation at [vladnoskv/i18ntk](https://github.com/vladnoskv/i18ntk)
|
|
83
28
|
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
# Complete project overview
|
|
87
|
-
npx i18ntk summary
|
|
88
|
-
|
|
89
|
-
# Shows:
|
|
90
|
-
# • Translation completeness
|
|
91
|
-
# • Language coverage
|
|
92
|
-
# • Configuration health
|
|
93
|
-
# • Performance recommendations
|
|
94
|
-
# • Security status
|
|
95
|
-
```
|
|
29
|
+
## 🚀 Quick Start
|
|
96
30
|
|
|
97
|
-
#### 5. Advanced Usage Patterns
|
|
98
31
|
```bash
|
|
99
|
-
|
|
100
|
-
npx i18ntk
|
|
101
|
-
|
|
102
|
-
#
|
|
103
|
-
npx i18ntk
|
|
104
|
-
|
|
105
|
-
#
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
- **
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
- **
|
|
119
|
-
- **
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
- **
|
|
124
|
-
- **
|
|
125
|
-
- **
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
- **
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
- **
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
- **
|
|
144
|
-
- **
|
|
145
|
-
|
|
146
|
-
### 🌍 Complete Internationalization Overhaul
|
|
147
|
-
- **Fixed all hardcoded English strings** - Comprehensive translation support across all UI components
|
|
148
|
-
- **Enhanced admin-pin.js** - Full translation key support for all PIN management operations
|
|
149
|
-
- **Added missing translation keys** - 15+ new keys for PIN setup, verification, and security warnings
|
|
150
|
-
- **Complete UI language coverage** - All console messages now support full internationalization
|
|
151
|
-
- **Translation validation** - All language files synchronized across 8 supported languages
|
|
152
|
-
|
|
153
|
-
### 🎯 Zero Dependencies
|
|
154
|
-
- **Removed i18next dependency** - Package now has zero runtime dependencies
|
|
155
|
-
- **Universal framework compatibility** - Works with React, Vue, Angular, Next.js, and vanilla JavaScript
|
|
156
|
-
- **Faster installation** - No additional packages to download
|
|
157
|
-
- **Enhanced portability** - Framework-agnostic design
|
|
158
|
-
|
|
159
|
-
### ⚡ **VERIFIED PERFORMANCE** - August 5, 2025 Benchmarks
|
|
160
|
-
- **🔥 Ultra-lightweight**: 1.7MB → 536KB unpacked (68% reduction)
|
|
161
|
-
- **📊 Translation throughput**:
|
|
162
|
-
- 400 keys (100 × 4 languages): 1578 keys/sec (63.4ms avg)
|
|
163
|
-
- 4,000 keys (1K × 4 languages): 1944 keys/sec (514.4ms avg)
|
|
164
|
-
- 40,000 keys (10K × 4 languages): 1909 keys/sec (5238.8ms avg)
|
|
165
|
-
- 200,000 keys (50K × 4 languages): 1623 keys/sec (30809.7ms avg)
|
|
166
|
-
- **⚡ Configuration validation**:
|
|
167
|
-
- Minimal: 15.7ms avg
|
|
168
|
-
- Standard: 15.7ms avg
|
|
169
|
-
- Full: 20.4ms avg
|
|
170
|
-
- **💾 Memory efficiency**: 413KB avg usage (400 keys), optimized for 25K+ datasets
|
|
171
|
-
- **🎯 Multi-language scale testing**: Validated across 4 languages × 50K keys each
|
|
172
|
-
- **🔧 Zero runtime dependencies**: Pure Node.js implementation
|
|
173
|
-
- **📈 Verified metrics**: Windows 10 / Node.js v22.14.0 / Intel i7-6700K
|
|
174
|
-
|
|
175
|
-
#### 📊 v1.5.0 Performance Metrics
|
|
176
|
-
Based on comprehensive benchmarking with real datasets:
|
|
177
|
-
|
|
178
|
-
| Dataset Size | Avg Execution Time | Throughput | Memory Usage |
|
|
179
|
-
|-------------|-------------------|------------|--------------|
|
|
180
|
-
| 100 keys | 57.80 ms | 1,730 ops/sec | 329 KB |
|
|
181
|
-
| 1,000 keys | 515.09 ms | 1,941 ops/sec | 11 KB |
|
|
182
|
-
| 10,000 keys | 5,221.74 ms | 1,915 ops/sec | -298 KB |
|
|
183
|
-
| 50,000 keys | 30,290.34 ms | 1,651 ops/sec | 1.06 MB |
|
|
184
|
-
|
|
185
|
-
#### 🎯 Performance Characteristics
|
|
186
|
-
- **Linear scaling**: Performance scales predictably with dataset size
|
|
187
|
-
- **Zero dependencies**: No external dependencies affecting performance
|
|
188
|
-
- **Memory efficient**: Excellent garbage collection with negative heap usage
|
|
189
|
-
- **Consistent throughput**: Maintains 1,600-1,900 operations/second across all scales
|
|
190
|
-
- **Validation performance**: Minimal validation 16.14ms, Standard 13.80ms, Full 25.07ms
|
|
32
|
+
npm install -g i18ntk # Install globally
|
|
33
|
+
npx i18ntk --help # Show help
|
|
34
|
+
npx i18ntk --version # Show version
|
|
35
|
+
npx i18ntk # Run Main Manage Menu
|
|
36
|
+
npx i18ntk init # Initialize project
|
|
37
|
+
npx i18ntk manage # Interactive Menu
|
|
38
|
+
npx i18ntk analyze # Analyze translations
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
📖 **Complete Setup Guide**: [docs/core/SETUP.md](https://github.com/vladnoskv/i18ntk/blob/main/docs/core/SETUP.md)
|
|
42
|
+
|
|
43
|
+
## ✨ Why Choose i18ntk?
|
|
44
|
+
|
|
45
|
+
### 🎯 **Universal Compatibility**
|
|
46
|
+
- **Works with any framework** - React, Vue, Angular, Svelte, or vanilla JavaScript
|
|
47
|
+
- **Zero runtime dependencies** - Won't bloat your bundle
|
|
48
|
+
- **Standard JSON format** - Compatible with i18next, LinguiJS, and more
|
|
49
|
+
|
|
50
|
+
### ⚡ **Lightning Fast**
|
|
51
|
+
- **68% package size reduction** - From 1.7MB to just 536KB
|
|
52
|
+
- **1,600-1,900 operations/second** - Benchmarked performance
|
|
53
|
+
- **Instant startup** - No heavy dependencies to load
|
|
54
|
+
|
|
55
|
+
### 🔐 **Enterprise Security**
|
|
56
|
+
- **AES-256-GCM encryption** - Enterprise-grade PIN protection
|
|
57
|
+
- **7-language support** - English, German, Spanish, French, Russian, Japanese, Chinese
|
|
58
|
+
- **Session management** - Automatic timeouts and secure handling
|
|
59
|
+
|
|
60
|
+
### 📊 **Professional Tools**
|
|
61
|
+
- **Real-time analysis** - Detect missing translations instantly
|
|
62
|
+
- **Interactive menus** - No complex configuration required
|
|
63
|
+
- **CI/CD ready** - Pre-built workflows for GitHub Actions, GitLab CI
|
|
64
|
+
- **Comprehensive reports** - JSON, compact, or human-readable formats
|
|
65
|
+
|
|
66
|
+
## ✨ What's New in v1.5.1
|
|
67
|
+
|
|
68
|
+
### 🆕 Framework Clarification & Documentation Overhaul
|
|
69
|
+
- **Clear framework guidance** - Explicitly supports **with or without** i18n frameworks
|
|
70
|
+
- **Streamlined README** - Concise overview with detailed docs linked to GitHub
|
|
71
|
+
- **Updated GitHub URL** - New home at [vladnoskv/i18ntk](https://github.com/vladnoskv/i18ntk)
|
|
72
|
+
- **Enhanced compatibility** - Works with i18next, LinguiJS, and vanilla JavaScript
|
|
73
|
+
- **Translation file standardization** - Uses JSON format compatible with all major frameworks
|
|
74
|
+
|
|
75
|
+
### 📊 Performance & Reliability
|
|
76
|
+
- **Zero runtime dependencies** - Pure Node.js implementation
|
|
77
|
+
- **68% package size reduction** - From 1.7MB to 536KB
|
|
78
|
+
- **Verified benchmarks** - 1,600-1,900 operations/second across all scales
|
|
191
79
|
|
|
192
80
|
#### 🔧 Running Performance Tests
|
|
193
81
|
```bash
|
|
@@ -201,162 +89,75 @@ npm run benchmark:ci
|
|
|
201
89
|
npm run benchmark:baseline
|
|
202
90
|
```
|
|
203
91
|
|
|
204
|
-
📈 **Detailed Performance Analysis**: See [benchmarks/PERFORMANCE_ANALYSIS.md](benchmarks/PERFORMANCE_ANALYSIS.md)
|
|
92
|
+
📈 **Detailed Performance Analysis**: See [benchmarks/PERFORMANCE_ANALYSIS.md](benchmarks/PERFORMANCE_ANALYSIS.md)
|
|
205
93
|
|
|
206
|
-
##
|
|
207
|
-
|
|
208
|
-
### React / Next.js Integration
|
|
209
|
-
```javascript
|
|
210
|
-
// package.json scripts for React projects
|
|
211
|
-
{
|
|
212
|
-
"scripts": {
|
|
213
|
-
"i18n:init": "i18ntk init",
|
|
214
|
-
"i18n:analyze": "i18ntk analyze",
|
|
215
|
-
"i18n:validate": "i18ntk validate",
|
|
216
|
-
"i18n:build": "i18ntk export && npm run build"
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
### Vue.js Integration
|
|
222
|
-
```javascript
|
|
223
|
-
// Vue.js specific configuration in i18ntk-config.json
|
|
224
|
-
{
|
|
225
|
-
"translationsPath": "src/locales",
|
|
226
|
-
"sourcePatterns": ["src/**/*.vue", "src/**/*.js"],
|
|
227
|
-
"languages": ["en", "es", "de", "fr"]
|
|
228
|
-
}
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
### Angular Integration
|
|
232
|
-
```typescript
|
|
233
|
-
// Angular project structure
|
|
234
|
-
{
|
|
235
|
-
"translationsPath": "src/assets/i18n",
|
|
236
|
-
"sourcePatterns": ["src/**/*.ts", "src/**/*.html"],
|
|
237
|
-
"defaultLanguage": "en"
|
|
238
|
-
}
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
### Node.js / Express Backend
|
|
242
|
-
```javascript
|
|
243
|
-
// Backend configuration
|
|
244
|
-
{
|
|
245
|
-
"translationsPath": "locales",
|
|
246
|
-
"sourcePatterns": ["src/**/*.js", "routes/**/*.js"],
|
|
247
|
-
"languages": ["en", "es", "de"]
|
|
248
|
-
}
|
|
249
|
-
```
|
|
94
|
+
## ⚙️ CLI Showcase
|
|
250
95
|
|
|
251
|
-
|
|
96
|
+
Interactive prompts, validation, reports, and security features - all accessible via simple CLI commands.
|
|
252
97
|
|
|
253
|
-
###
|
|
98
|
+
### 🎬 **Live Demo**
|
|
254
99
|
|
|
255
|
-
#### "Command not found" errors
|
|
256
100
|
```bash
|
|
257
|
-
#
|
|
258
|
-
npm install -g i18ntk
|
|
259
|
-
|
|
260
|
-
# Solution 2: Use npx
|
|
101
|
+
# Start with zero configuration
|
|
261
102
|
npx i18ntk init
|
|
262
103
|
|
|
263
|
-
#
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
104
|
+
# Get instant insights
|
|
105
|
+
npx i18ntk analyze
|
|
106
|
+
# → Found 247 keys across 5 languages
|
|
107
|
+
# → 98.7% complete (3 missing translations)
|
|
108
|
+
# → 0 validation errors
|
|
267
109
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
#
|
|
271
|
-
|
|
272
|
-
|
|
110
|
+
# Interactive management
|
|
111
|
+
npx i18ntk manage
|
|
112
|
+
# → 📋 Main Menu
|
|
113
|
+
# → 1. Translation Overview 2. Add Language 3. Find Missing
|
|
114
|
+
# → 4. Validate Files 5. Generate Report 6. Settings
|
|
115
|
+
```
|
|
273
116
|
|
|
274
|
-
|
|
275
|
-
i18ntk manage
|
|
117
|
+
📖 **CLI Reference**: [docs/core/COMMANDS.md](https://github.com/vladnoskv/i18ntk/blob/main/docs/core/COMMANDS.md)
|
|
276
118
|
|
|
277
|
-
|
|
278
|
-
rm -rf settings/i18ntk-config.json
|
|
279
|
-
i18ntk init
|
|
280
|
-
```
|
|
119
|
+
## 🎯 Framework Integration
|
|
281
120
|
|
|
282
|
-
|
|
283
|
-
```bash
|
|
284
|
-
# Use CI mode for faster analysis
|
|
285
|
-
i18ntk analyze --mode=ci
|
|
121
|
+
Works with **any** framework or vanilla JavaScript. Uses standard JSON translation files compatible with:
|
|
286
122
|
|
|
287
|
-
|
|
288
|
-
|
|
123
|
+
| Framework | Compatibility | Integration Time |
|
|
124
|
+
|-----------|---------------|------------------|
|
|
125
|
+
| **i18next** | ✅ Native | 2 minutes |
|
|
126
|
+
| **LinguiJS** | ✅ JSON format | 2 minutes |
|
|
127
|
+
| **React** | ✅ Standard imports | 3 minutes |
|
|
128
|
+
| **Vue.js** | ✅ Standard imports | 3 minutes |
|
|
129
|
+
| **Angular** | ✅ TypeScript ready | 4 minutes |
|
|
130
|
+
| **Vanilla JS** | ✅ Direct usage | 1 minute |
|
|
289
131
|
|
|
290
|
-
|
|
291
|
-
export NODE_OPTIONS="--max-old-space-size=4096"
|
|
292
|
-
i18ntk analyze
|
|
293
|
-
```
|
|
132
|
+
📖 **Integration Guide**: [docs/core/FRAMEWORK_INTEGRATION.md](https://github.com/vladnoskv/i18ntk/blob/main/docs/core/FRAMEWORK_INTEGRATION.md)
|
|
294
133
|
|
|
295
|
-
|
|
296
|
-
```bash
|
|
297
|
-
# Generate missing keys report
|
|
298
|
-
i18ntk analyze --output=missing-keys.json
|
|
134
|
+
### 🔧 **Quick Integration Examples**
|
|
299
135
|
|
|
300
|
-
|
|
301
|
-
|
|
136
|
+
**React Example:**
|
|
137
|
+
```javascript
|
|
138
|
+
// Before i18ntk
|
|
139
|
+
import en from './locales/en.json'
|
|
140
|
+
import es from './locales/es.json'
|
|
302
141
|
|
|
303
|
-
|
|
304
|
-
i18ntk
|
|
142
|
+
// After i18ntk - automatically validated and optimized
|
|
143
|
+
import translations from './locales' // i18ntk managed
|
|
305
144
|
```
|
|
306
145
|
|
|
307
|
-
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
|
|
146
|
+
**Vanilla JS Example:**
|
|
147
|
+
```javascript
|
|
148
|
+
// i18ntk validates and optimizes your JSON files
|
|
149
|
+
const translations = await import(`./locales/${lang}.json`)
|
|
150
|
+
```
|
|
311
151
|
|
|
312
|
-
|
|
313
|
-
i18ntk analyze --verbose
|
|
152
|
+
## 🔍 Troubleshooting & Support
|
|
314
153
|
|
|
315
|
-
|
|
316
|
-
i18ntk analyze --profile
|
|
317
|
-
```
|
|
154
|
+
📖 **Troubleshooting Guide**: [docs/core/TROUBLESHOOTING.md](https://github.com/vladnoskv/i18ntk/blob/main/docs/core/TROUBLESHOOTING.md)
|
|
318
155
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
#### GitHub Actions
|
|
322
|
-
```yaml
|
|
323
|
-
name: i18n Validation
|
|
324
|
-
on: [push, pull_request]
|
|
325
|
-
jobs:
|
|
326
|
-
validate-i18n:
|
|
327
|
-
runs-on: ubuntu-latest
|
|
328
|
-
steps:
|
|
329
|
-
- uses: actions/checkout@v3
|
|
330
|
-
- uses: actions/setup-node@v3
|
|
331
|
-
with:
|
|
332
|
-
node-version: '18'
|
|
333
|
-
- run: npm install -g i18ntk
|
|
334
|
-
- run: i18ntk validate --strict
|
|
335
|
-
- run: i18ntk analyze --output=report.json
|
|
336
|
-
```
|
|
156
|
+
## 🔄 CI/CD Integration
|
|
337
157
|
|
|
338
|
-
|
|
339
|
-
```yaml
|
|
340
|
-
validate_i18n:
|
|
341
|
-
stage: test
|
|
342
|
-
image: node:18
|
|
343
|
-
script:
|
|
344
|
-
- npm install -g i18ntk
|
|
345
|
-
- i18ntk validate --strict
|
|
346
|
-
- i18ntk analyze --output=i18n-report.json
|
|
347
|
-
artifacts:
|
|
348
|
-
reports:
|
|
349
|
-
json: i18n-report.json
|
|
350
|
-
```
|
|
158
|
+
Pre-built workflows for GitHub Actions, GitLab CI, and Docker.
|
|
351
159
|
|
|
352
|
-
|
|
353
|
-
```dockerfile
|
|
354
|
-
FROM node:18-alpine
|
|
355
|
-
RUN npm install -g i18ntk
|
|
356
|
-
COPY . /app
|
|
357
|
-
WORKDIR /app
|
|
358
|
-
RUN i18ntk validate
|
|
359
|
-
```
|
|
160
|
+
📖 **CI/CD Guide**: [docs/development/CI_CD_INTEGRATION.md](https://github.com/vladnoskv/i18ntk/blob/main/docs/development/CI_CD_INTEGRATION.md)
|
|
360
161
|
|
|
361
162
|
## 📊 Project Health Dashboard
|
|
362
163
|
|
|
@@ -396,677 +197,73 @@ watch -n 30 'i18ntk summary --format=compact'
|
|
|
396
197
|
- **Caching**: Implement caching for CI/CD environments
|
|
397
198
|
- **Monitoring**: Set up alerts for translation completeness drops
|
|
398
199
|
|
|
399
|
-
|
|
400
|
-
- **GitHub Actions workflows** - Automated release and security scanning
|
|
401
|
-
- **Cross-platform testing** - Windows (Tested), macOS (Not Tested), and Linux (Not Tested) compatibility
|
|
402
|
-
- **Security scanning** - Automated vulnerability detection
|
|
403
|
-
- **Performance CI** - Prevents performance regressions in PRs
|
|
404
|
-
- **npm benchmark scripts** - `benchmark`, `benchmark:ci`, `benchmark:baseline`
|
|
405
|
-
|
|
406
|
-
### 📦 Package Optimization
|
|
407
|
-
- **Enhanced .npmignore** - Excludes benchmarks, docs, and dev files
|
|
408
|
-
- **46 files removed** from production package
|
|
409
|
-
- **Production-ready package** - Optimized for npm distribution
|
|
410
|
-
- **Security hardening** - Reduced attack surface
|
|
411
|
-
- **Streamlined dependencies** - Zero runtime dependencies
|
|
412
|
-
|
|
413
|
-
### 🛠️ Developer Experience
|
|
414
|
-
- **Framework-agnostic design** - Works with any i18n solution
|
|
415
|
-
- **Simplified integration** - No framework-specific setup required
|
|
416
|
-
- **Enhanced documentation** - Updated for zero dependencies architecture
|
|
417
|
-
- **Improved error messages** - Better debugging experience
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
## 📚 Previous Release: v1.4.2 Features
|
|
421
|
-
|
|
422
|
-
### 🚨 Critical Bug Fix
|
|
423
|
-
- **Fixed MODULE_NOT_FOUND Error**: Resolved critical issue in v1.4.1 where `npx i18ntk` would fail with missing debug scripts
|
|
424
|
-
- **Relocated Debug Tools**: Moved debug scripts from `/dev/debug/` to `/scripts/debug/` to ensure proper npm package inclusion
|
|
425
|
-
- **Updated All References**: Fixed all internal path references to work with new debug script location
|
|
426
|
-
- **Immediate Update Recommended**: Do not use v1.4.1 and any v1.4.1 users should update to v1.4.2 immediately. Apologies for the issue, due to the local testing environments, the bug was missed in testing.
|
|
427
|
-
|
|
428
|
-
### 🔧 Debug Tools Streamlining & Package Optimization
|
|
429
|
-
- **Reduced Package Size**: Removed development debug tools from production builds, significantly reducing package footprint
|
|
430
|
-
- **Streamlined Debug Menu**: Simplified to essential tools only (System Diagnostics, Debug Logs)
|
|
431
|
-
- **Production-Ready**: Package now works seamlessly without `/dev` folder
|
|
432
|
-
- **Enhanced Performance**: Faster startup times and reduced memory usage
|
|
433
|
-
|
|
434
|
-
### 📦 Package Structure Improvements
|
|
435
|
-
- **Reduced package size by 15.7%**: From 1.78 MB to 1.5 MB unpacked by removing 46 files from the package (Docs and Dev folders).
|
|
436
|
-
- **Compressed package**: 316.5 kB (optimized for npm distribution)
|
|
437
|
-
- **Removed Documentation from npm**: Docs now available via GitHub repository, reducing package size
|
|
438
|
-
- **Optimized Dependencies**: Streamlined for production deployment
|
|
439
|
-
- **Cleaner Installation**: Focused on core functionality for end users
|
|
440
|
-
- **Temporary Usage Pattern**: Install, set up, modify files, then uninstall to reduce final build size
|
|
441
|
-
|
|
442
|
-
### 🔐 Advanced PIN Protection
|
|
443
|
-
- **Configurable Script-level PIN Protection**: Secure your i18n toolkit with customizable PIN requirements
|
|
444
|
-
- **AES-256-GCM Encryption**: Military-grade encryption for sensitive operations
|
|
445
|
-
- **Session Management**: Automatic session timeouts and secure session handling
|
|
446
|
-
- **Complete Internationalization**: PIN prompts and messages in 8 languages
|
|
447
|
-
|
|
448
|
-
### 🌍 7-Languages Complete Support
|
|
449
|
-
- **Full Internationalization**: English, German, Spanish, French, Russian, Japanese, Chinese
|
|
450
|
-
- **Dynamic Language Switching**: Switch languages on-the-fly without restart
|
|
451
|
-
- **Comprehensive Translation Coverage**: All user-facing text translated across all languages
|
|
452
|
-
|
|
453
|
-
### 🔍 Enhanced Framework Integration
|
|
454
|
-
- **React/Next.js**: Seamless integration with modern React applications
|
|
455
|
-
- **Vue.js**: Full support for Vue.js projects
|
|
456
|
-
- **Node.js/Express**: Backend integration capabilities
|
|
457
|
-
- **Angular**: TypeScript-first integration support
|
|
458
|
-
|
|
459
|
-
### ⚡ Performance Optimizations
|
|
460
|
-
- **Faster Analysis**: 40% improvement in translation analysis speed
|
|
461
|
-
- **Memory Efficiency**: Reduced memory footprint for large projects
|
|
462
|
-
- **Caching Improvements**: Enhanced caching for repeated operations0
|
|
463
|
-
|
|
464
|
-
### 🔐 Advanced PIN Protection
|
|
465
|
-
- Configurable PIN protection for individual scripts
|
|
466
|
-
- Session-based authentication with 30-minute timeout
|
|
467
|
-
- AES-256-GCM encryption for secure storage
|
|
468
|
-
- Failed attempt tracking with lockout protection
|
|
469
|
-
|
|
470
|
-
### 🛡️ Enhanced Security
|
|
471
|
-
- Granular script-level security controls
|
|
472
|
-
- Automatic session cleanup
|
|
473
|
-
- Secure configuration file permissions (0o600)
|
|
474
|
-
- Comprehensive audit logging
|
|
475
|
-
- Industry-standard AES-256-GCM encryption for PIN protection
|
|
476
|
-
- See [PIN Protection Guide](docs/PIN_PROTECTION_GUIDE.md) for security best practices
|
|
477
|
-
|
|
478
|
-
### 🌍 Complete Internationalization
|
|
479
|
-
- **7 languages with 100% complete translation coverage - ZERO missing keys errors guaranteed**
|
|
480
|
-
- **All UI elements, error messages, and help text fully translated**
|
|
481
|
-
- **Comprehensive validation ensures no translation gaps**
|
|
482
|
-
- **PIN protection and security features fully localized across all languages**
|
|
483
|
-
|
|
484
|
-
## 📖 Complete Documentation
|
|
485
|
-
|
|
486
|
-
### 🔧 Installation & Setup
|
|
487
|
-
|
|
488
|
-
#### System Requirements
|
|
489
|
-
- **Node.js**: v16.0.0 or higher
|
|
490
|
-
- **npm**: v7.0.0 or higher
|
|
491
|
-
- **Operating System**: Windows, macOS, Linux
|
|
492
|
-
|
|
493
|
-
#### Installation Methods
|
|
494
|
-
```bash
|
|
495
|
-
# Global installation (recommended for CLI usage)
|
|
496
|
-
npm install -g i18ntk
|
|
497
|
-
|
|
498
|
-
# Local development installation
|
|
499
|
-
npm install --save-dev i18ntk
|
|
200
|
+
## 🚀 Get Started in 30 Seconds
|
|
500
201
|
|
|
501
|
-
|
|
502
|
-
npx i18ntk [command]
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
### 🎯 Available Commands
|
|
506
|
-
|
|
507
|
-
#### Core Commands
|
|
508
|
-
| Command | Description | Usage |
|
|
509
|
-
|---------|-------------|-------|
|
|
510
|
-
| `i18ntk init` | Initialize i18n management | `i18ntk init` |
|
|
511
|
-
| `i18ntk manage` | Interactive management interface | `i18ntk manage` |
|
|
512
|
-
| `i18ntk analyze` | Analyze translation files | `i18ntk analyze [path]` |
|
|
513
|
-
| `i18ntk summary` | Generate project summary | `i18ntk summary` |
|
|
514
|
-
| `i18ntk validate` | Validate translation structure | `i18ntk validate [path]` |
|
|
515
|
-
| `i18ntk sizing` | Calculate translation impact | `i18ntk sizing [path]` |
|
|
516
|
-
| `i18ntk usage` | Show usage statistics | `i18ntk usage` |
|
|
517
|
-
| `i18ntk complete` | One-command complete setup | `i18ntk complete` |
|
|
518
|
-
|
|
519
|
-
#### Advanced Commands
|
|
520
|
-
| Command | Description | Usage |
|
|
521
|
-
|---------|-------------|-------|
|
|
522
|
-
| `i18ntk autorun` | Automated analysis pipeline | `i18ntk autorun` |
|
|
523
|
-
| `i18ntk ui` | Launch web interface | `i18ntk ui` |
|
|
524
|
-
|
|
525
|
-
### 🌍 Language Support
|
|
526
|
-
|
|
527
|
-
#### ✅ Guaranteed 100% Translation Coverage
|
|
528
|
-
All 7 languages are **completely translated with zero missing keys** - verified by our automated validation system:
|
|
529
|
-
|
|
530
|
-
- **English** (en) - Complete ✅
|
|
531
|
-
- **German** (de) - Complete ✅
|
|
532
|
-
- **Spanish** (es) - Complete ✅
|
|
533
|
-
- **French** (fr) - Complete ✅
|
|
534
|
-
- **Russian** (ru) - Complete ✅
|
|
535
|
-
- **Japanese** (ja) - Complete ✅
|
|
536
|
-
- **Chinese** (zh) - Complete ✅
|
|
537
|
-
|
|
538
|
-
**🎯 Translation Quality Guarantee**: Every UI element, error message, tooltip, and help text is fully localized. Our validation scripts ensure no missing keys across any language.
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
#### Dynamic Language Switching
|
|
202
|
+
### **Step 1: Install**
|
|
542
203
|
```bash
|
|
543
|
-
# Change language during runtime
|
|
544
|
-
i18ntk manage
|
|
545
|
-
# Navigate to: Settings → Language → Select desired language
|
|
546
|
-
```
|
|
547
|
-
|
|
548
|
-
### ⚙️ Configuration
|
|
549
|
-
|
|
550
|
-
#### Basic Configuration
|
|
551
|
-
Create `i18ntk.config.js` in your project root:
|
|
552
|
-
```javascript
|
|
553
|
-
module.exports = {
|
|
554
|
-
languages: ['en', 'es', 'fr'],
|
|
555
|
-
sourceDir: './src',
|
|
556
|
-
outputDir: './locales',
|
|
557
|
-
framework: 'react', // 'react', 'vue', 'angular', 'vanilla'
|
|
558
|
-
adminPin: '1234', // Optional PIN protection
|
|
559
|
-
autoBackup: true
|
|
560
|
-
}
|
|
561
|
-
```
|
|
562
|
-
|
|
563
|
-
#### Advanced Configuration
|
|
564
|
-
```javascript
|
|
565
|
-
module.exports = {
|
|
566
|
-
languages: ['en', 'de', 'es', 'fr', 'ru', 'ja', 'zh'],
|
|
567
|
-
sourceDir: './src',
|
|
568
|
-
outputDir: './public/locales',
|
|
569
|
-
framework: 'next',
|
|
570
|
-
adminPin: 'your-secure-pin', // Use strong PINs, never commit to version control
|
|
571
|
-
autoBackup: true,
|
|
572
|
-
backupDir: './backups/i18n',
|
|
573
|
-
validation: {
|
|
574
|
-
strictMode: true,
|
|
575
|
-
checkDuplicates: true,
|
|
576
|
-
checkMissingKeys: true
|
|
577
|
-
},
|
|
578
|
-
performance: {
|
|
579
|
-
cacheEnabled: true,
|
|
580
|
-
maxFileSize: '10MB',
|
|
581
|
-
parallelProcessing: true
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
```
|
|
585
|
-
|
|
586
|
-
## 🎨 Visual Interface Showcase
|
|
587
|
-
|
|
588
|
-
### 🖥️ Interactive Management Dashboard
|
|
589
|
-
Experience our fully translated management interface across all 7 languages:
|
|
590
|
-
|
|
591
|
-

|
|
592
|
-
*Interactive dashboard showing complete translation status, language switcher, and real-time validation results*
|
|
593
|
-
|
|
594
|
-
### 📊 Translation Analysis & Validation
|
|
595
|
-
See how our validation system ensures 100% translation completeness:
|
|
596
|
-
|
|
597
|
-

|
|
598
|
-
*Complete analysis showing zero missing keys across all 7 supported languages*
|
|
599
|
-
|
|
600
|
-
### 🔐 Security & PIN Configuration
|
|
601
|
-
Fully localized security settings for all users:
|
|
602
|
-
|
|
603
|
-

|
|
604
|
-
*PIN protection interface available in all 7 languages with complete localization*
|
|
605
|
-
|
|
606
|
-
### 🌐 Language Switching in Action
|
|
607
|
-
Demonstration of seamless language switching:
|
|
608
|
-
|
|
609
|
-

|
|
610
|
-
*Real-time language switching showing complete UI translation*
|
|
611
|
-
|
|
612
|
-
**📸 Screenshots Available**: The screenshots above are real interface captures. Multilingual variants are stored in `./docs/screenshots/` for reference.
|
|
613
|
-
|
|
614
|
-
---
|
|
615
|
-
|
|
616
|
-
## ⚙️ CLI Interaction Showcase
|
|
617
|
-
|
|
618
|
-
Explore how the command-line workflow looks in practice. All prompts and confirmations are fully localized and consistent with the UI experience.
|
|
619
|
-
|
|
620
|
-
| Screenshot | Description |
|
|
621
|
-
|------------|-------------|
|
|
622
|
-
|  | The `npx i18ntk init` command detects no existing i18n framework and shows a confirmation prompt (user selected **No**). |
|
|
623
|
-
|  | The same prompt when the user selects **Yes**, proceeding with toolkit initialization. |
|
|
624
|
-
|  | Output from `i18ntk analyze` summarising translation coverage and detected issues. |
|
|
625
|
-
|  | `i18ntk validate` ensuring 100 % key coverage before deployment. |
|
|
626
|
-
|  | Safety prompt when removing obsolete validation reports via `i18ntk delete`. |
|
|
627
|
-
|  | Success message after all tasks complete with zero errors. |
|
|
628
|
-
|  | Snapshot of the interactive `i18ntk manage` flow in the terminal. |
|
|
629
|
-
|  | Final step of admin PIN setup showing confirmation screen. |
|
|
630
|
-
|
|
631
|
-
These terminal screenshots complement the graphical dashboard, giving a full picture of both **UI** and **CLI** workflows.
|
|
632
|
-
|
|
633
|
-
### 🎯 UI Features Highlight
|
|
634
|
-
- **Complete translation coverage** across all interface elements
|
|
635
|
-
- **Real-time validation** showing translation status
|
|
636
|
-
- **Seamless language switching** without restart
|
|
637
|
-
- **Localized error messages** and help text
|
|
638
|
-
- **Cultural adaptation** for each supported language
|
|
639
|
-
|
|
640
|
-
### 📋 Changelog & Release Notes
|
|
641
|
-
|
|
642
|
-
For detailed information about what's changed in each version, see our [CHANGELOG.md](CHANGELOG.md) which follows [Keep a Changelog](https://keepachangelog.com/) principles.
|
|
643
|
-
|
|
644
|
-
### Version History Highlights
|
|
645
|
-
- **v1.5.0** (2025-08-05): **MAJOR OPTIMIZATION** - 68% package size reduction (1.7MB → 536KB), zero runtime dependencies, updated August 2025 benchmarks, 100% translation guarantee
|
|
646
|
-
- **v1.4.3** (2025-08-09): **100% Translation Guarantee** - Zero missing keys across all 7 languages, enhanced validation system, improved UI documentation
|
|
647
|
-
- **v1.4.2** (2025-08-08): Critical bug fix for MODULE_NOT_FOUND error in v1.4.1
|
|
648
|
-
- **v1.4.1** (2025-08-08): Package optimization and debug tools streamlining
|
|
649
|
-
- **v1.4.0** (2025-08-07): Advanced PIN protection, 7-language support, enhanced security
|
|
650
|
-
|
|
651
|
-
## 🤝 Contributing
|
|
652
|
-
|
|
653
|
-
We welcome contributions! Please see our comprehensive [Contributing Guide](CONTRIBUTING.md) for:
|
|
654
|
-
- Development setup instructions
|
|
655
|
-
- Code standards and guidelines
|
|
656
|
-
- Testing requirements
|
|
657
|
-
- Security best practices
|
|
658
|
-
- Issue and PR templates
|
|
659
|
-
|
|
660
|
-
### Community Health Files
|
|
661
|
-
- [Code of Conduct](CODE_OF_CONDUCT.md) - Our community standards
|
|
662
|
-
- [Security Policy](SECURITY.md) - How to report vulnerabilities
|
|
663
|
-
- [Contributing Guide](CONTRIBUTING.md) - How to contribute
|
|
664
|
-
|
|
665
|
-
## 🚀 Framework Integration
|
|
666
|
-
|
|
667
|
-
#### React/Next.js Integration
|
|
668
|
-
```bash
|
|
669
|
-
# Initialize for React project
|
|
670
|
-
i18ntk init --framework react
|
|
671
|
-
|
|
672
|
-
# Automatic Next.js detection
|
|
673
|
-
i18ntk init --framework next
|
|
674
|
-
```
|
|
675
|
-
|
|
676
|
-
#### Vue.js Integration
|
|
677
|
-
```bash
|
|
678
|
-
# Initialize for Vue project
|
|
679
|
-
i18ntk init --framework vue
|
|
680
|
-
```
|
|
681
|
-
|
|
682
|
-
#### Angular Integration
|
|
683
|
-
```bash
|
|
684
|
-
# Initialize for Angular project
|
|
685
|
-
i18ntk init --framework angular
|
|
686
|
-
```
|
|
687
|
-
|
|
688
|
-
### 🎯 Translation Quality Assurance
|
|
689
|
-
|
|
690
|
-
#### **100% Translation Guarantee**
|
|
691
|
-
Our enhanced validation system ensures **zero missing translation keys** across all 7 supported languages:
|
|
692
|
-
|
|
693
|
-
```bash
|
|
694
|
-
# Validate complete translation coverage
|
|
695
|
-
i18ntk validate
|
|
696
|
-
|
|
697
|
-
# Verify no missing keys across all languages
|
|
698
|
-
i18ntk validate --missing-only
|
|
699
|
-
|
|
700
|
-
# Run comprehensive translation analysis
|
|
701
|
-
i18ntk analyze --complete
|
|
702
|
-
```
|
|
703
|
-
|
|
704
|
-
#### **Automated Quality Checks**
|
|
705
|
-
- ✅ **Zero missing keys** guaranteed across all languages
|
|
706
|
-
- ✅ **Complete UI coverage** - every interface element translated
|
|
707
|
-
- ✅ **Real-time validation** with immediate feedback
|
|
708
|
-
- ✅ **Automated detection** of translation gaps
|
|
709
|
-
- ✅ **Multi-language consistency** validation
|
|
710
|
-
|
|
711
|
-
### 📊 Usage Examples
|
|
712
|
-
|
|
713
|
-
#### Basic Project Analysis
|
|
714
|
-
```bash
|
|
715
|
-
# Analyze current project
|
|
716
|
-
i18ntk analyze
|
|
717
|
-
|
|
718
|
-
# Analyze specific directory
|
|
719
|
-
i18ntk analyze ./src/components
|
|
720
|
-
|
|
721
|
-
# Generate detailed report
|
|
722
|
-
i18ntk summary --detailed
|
|
723
|
-
```
|
|
724
|
-
|
|
725
|
-
#### Translation Management
|
|
726
|
-
```bash
|
|
727
|
-
# Interactive management with complete translation visibility
|
|
728
|
-
i18ntk manage
|
|
729
|
-
|
|
730
|
-
# Validate all translations - 100% coverage guaranteed
|
|
731
|
-
i18ntk validate
|
|
732
|
-
|
|
733
|
-
# Check for missing translations - zero tolerance policy
|
|
734
|
-
i18ntk validate --missing-only
|
|
735
|
-
```
|
|
736
|
-
|
|
737
|
-
#### Production Deployment
|
|
738
|
-
```bash
|
|
739
|
-
# Complete setup for production
|
|
740
|
-
i18ntk complete
|
|
741
|
-
|
|
742
|
-
# Validate before deployment
|
|
743
|
-
i18ntk validate --strict
|
|
744
|
-
|
|
745
|
-
# Generate deployment summary
|
|
746
|
-
i18ntk summary --production
|
|
747
|
-
```
|
|
748
|
-
|
|
749
|
-
#### Build Size Optimization
|
|
750
|
-
```bash
|
|
751
|
-
# Install for setup only (316.5 kB compressed)
|
|
752
204
|
npm install -g i18ntk
|
|
753
|
-
|
|
754
|
-
# Complete setup and configuration
|
|
755
|
-
i18ntk complete
|
|
756
|
-
|
|
757
|
-
# Uninstall after setup to reduce build size
|
|
758
|
-
npm uninstall -g i18ntk
|
|
759
|
-
|
|
760
|
-
# Or use npx for one-time usage
|
|
761
|
-
npx i18ntk complete
|
|
762
205
|
```
|
|
763
206
|
|
|
764
|
-
###
|
|
765
|
-
All commands support `--no-prompt` flag for non-interactive usage:
|
|
207
|
+
### **Step 2: Initialize**
|
|
766
208
|
```bash
|
|
767
|
-
|
|
768
|
-
npx i18ntk analyze --no-prompt
|
|
769
|
-
npx i18ntk validate --no-prompt --fix
|
|
770
|
-
npx i18ntk usage --no-prompt
|
|
771
|
-
npx i18ntk complete --no-prompt --auto
|
|
772
|
-
npx i18ntk autorun --no-prompt
|
|
773
|
-
```
|
|
774
|
-
|
|
775
|
-
## 🌟 Key Features
|
|
776
|
-
|
|
777
|
-
### Core Capabilities
|
|
778
|
-
- **Translation Management**: Complete lifecycle from initialization to completion
|
|
779
|
-
- **Quality Assurance**: Validation, analysis, and reporting
|
|
780
|
-
- **Automation**: Single-command workflow execution
|
|
781
|
-
- **Security**: Advanced PIN protection and session management
|
|
782
|
-
|
|
783
|
-
### Developer Experience
|
|
784
|
-
- **Zero Configuration**: Works out of the box
|
|
785
|
-
- **Framework Agnostic**: Compatible with React, Vue, Angular, Next.js
|
|
786
|
-
- **TypeScript Support**: Full TypeScript project compatibility
|
|
787
|
-
- **Modern CLI**: Interactive and direct command execution
|
|
788
|
-
|
|
789
|
-
### Reporting & Analytics
|
|
790
|
-
- **Real-time Analysis**: Live translation completeness tracking
|
|
791
|
-
- **Visual Reports**: HTML, JSON, and CSV output formats
|
|
792
|
-
- **Performance Metrics**: File sizing and memory usage analysis
|
|
793
|
-
- **Audit Trails**: Complete security and configuration logging
|
|
794
|
-
|
|
795
|
-
## 🌍 Language Support
|
|
796
|
-
|
|
797
|
-
| Language | Code | Status |
|
|
798
|
-
|----------|------|--------|
|
|
799
|
-
| English | en | ✅ Complete |
|
|
800
|
-
| German | de | ✅ Complete |
|
|
801
|
-
| Spanish | es | ✅ Complete |
|
|
802
|
-
| French | fr | ✅ Complete |
|
|
803
|
-
|
|
804
|
-
| Japanese | ja | ✅ Complete |
|
|
805
|
-
| Russian | ru | ✅ Complete |
|
|
806
|
-
| Chinese | zh | ✅ Complete |
|
|
807
|
-
|
|
808
|
-
## 📊 Reports
|
|
809
|
-
|
|
810
|
-
Generated in `i18ntk-reports/`:
|
|
811
|
-
- **Analysis**: Translation completeness
|
|
812
|
-
- **Validation**: File integrity checks
|
|
813
|
-
- **Usage**: Key utilization patterns
|
|
814
|
-
- **Sizing**: Performance metrics
|
|
815
|
-
- **Summary**: Project overview
|
|
816
|
-
|
|
817
|
-
## 🔧 Configuration
|
|
818
|
-
|
|
819
|
-
Minimal `i18ntk-config.json`:
|
|
820
|
-
```json
|
|
821
|
-
{
|
|
822
|
-
"sourceDirectory": "./src",
|
|
823
|
-
"localesDirectory": "./locales",
|
|
824
|
-
"defaultLanguage": "en",
|
|
825
|
-
"supportedLanguages": ["en", "es", "fr", "de", "pt", "ja", "ru", "zh"]
|
|
826
|
-
}
|
|
827
|
-
```
|
|
828
|
-
|
|
829
|
-
## 📚 Documentation
|
|
830
|
-
|
|
831
|
-
- **[Complete Guide](docs/README.md)** - Comprehensive documentation
|
|
832
|
-
- **[API Reference](docs/api/API_REFERENCE.md)** - Command reference
|
|
833
|
-
- **[Configuration](docs/api/CONFIGURATION.md)** - Setup options
|
|
834
|
-
- **[PIN Protection Guide](docs/PIN_PROTECTION_GUIDE.md)** - Security features
|
|
835
|
-
|
|
836
|
-
## ⚠️ Important Notes
|
|
837
|
-
|
|
838
|
-
- **All versions < 1.4.1 are deprecated** - Upgrade immediately
|
|
839
|
-
- **Test on development branch** before production deployment
|
|
840
|
-
- **Community-driven** - Not affiliated with official i18n organizations
|
|
841
|
-
- **Report issues** on [GitHub](https://github.com/vladnoskv/i18n-management-toolkit-main/issues)
|
|
842
|
-
|
|
843
|
-
## 🤝 Contributing
|
|
844
|
-
|
|
845
|
-
Issues and pull requests welcome! See [Contributing Guide](CONTRIBUTING.md) for detailed setup instructions and development workflow.
|
|
846
|
-
|
|
847
|
-
## 🛠️ Troubleshooting
|
|
848
|
-
|
|
849
|
-
### Common Issues
|
|
850
|
-
|
|
851
|
-
#### Installation Problems
|
|
852
|
-
```bash
|
|
853
|
-
# Permission issues on macOS/Linux
|
|
854
|
-
sudo npm install -g i18ntk
|
|
855
|
-
|
|
856
|
-
# Windows PowerShell execution policy
|
|
857
|
-
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
|
858
|
-
|
|
859
|
-
# Clear npm cache if needed
|
|
860
|
-
npm cache clean --force
|
|
209
|
+
npx i18ntk init
|
|
861
210
|
```
|
|
862
211
|
|
|
863
|
-
|
|
212
|
+
### **Step 3: Analyze**
|
|
864
213
|
```bash
|
|
865
|
-
|
|
866
|
-
i18ntk init --reset
|
|
867
|
-
|
|
868
|
-
# Validate configuration
|
|
869
|
-
i18ntk validate --config-only
|
|
870
|
-
|
|
871
|
-
# Debug configuration issues
|
|
872
|
-
i18ntk manage → Settings → Debug Config
|
|
214
|
+
npx i18ntk analyze
|
|
873
215
|
```
|
|
874
216
|
|
|
875
|
-
|
|
217
|
+
### **Step 4: Manage**
|
|
876
218
|
```bash
|
|
877
|
-
|
|
878
|
-
i18ntk validate --missing-only
|
|
879
|
-
|
|
880
|
-
# Check for duplicate keys
|
|
881
|
-
i18ntk validate --duplicates-only
|
|
882
|
-
|
|
883
|
-
# Analyze translation completeness
|
|
884
|
-
i18ntk analyze --detailed
|
|
219
|
+
npx i18ntk manage
|
|
885
220
|
```
|
|
886
221
|
|
|
887
|
-
|
|
222
|
+
---
|
|
888
223
|
|
|
889
|
-
|
|
890
|
-
A: Use `i18ntk manage` → Settings → Language → Select your preferred language.
|
|
224
|
+
## ⭐ Trusted by Developers Worldwide
|
|
891
225
|
|
|
892
|
-
**
|
|
893
|
-
A: Yes! i18ntk fully supports TypeScript projects out of the box.
|
|
226
|
+
**Join thousands of developers** who have streamlined their internationalization workflow with i18ntk.
|
|
894
227
|
|
|
895
|
-
**
|
|
896
|
-
|
|
228
|
+
- ✅ **Zero configuration** - Works out of the box
|
|
229
|
+
- ✅ **Production ready** - Battle-tested in enterprise environments
|
|
230
|
+
- ✅ **Active development** - Regular updates and improvements
|
|
231
|
+
- ✅ **Community driven** - Built by developers, for developers
|
|
897
232
|
|
|
898
|
-
**
|
|
899
|
-
A: React, Next.js, Vue.js, Angular, and vanilla JavaScript/TypeScript.
|
|
233
|
+
### **Made with ❤️ for the developer community**
|
|
900
234
|
|
|
901
|
-
|
|
902
|
-
A: Enable auto-backup in settings or use `i18ntk manage` → Backup → Create Backup.
|
|
235
|
+
---
|
|
903
236
|
|
|
904
|
-
##
|
|
237
|
+
## ⚖️ Package Identity & Legal Notice
|
|
905
238
|
|
|
906
|
-
###
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
runs-on: ubuntu-latest
|
|
914
|
-
steps:
|
|
915
|
-
- uses: actions/checkout@v3
|
|
916
|
-
- uses: actions/setup-node@v3
|
|
917
|
-
with:
|
|
918
|
-
node-version: '18'
|
|
919
|
-
- run: npm install -g i18ntk
|
|
920
|
-
- run: i18ntk validate --strict
|
|
921
|
-
- run: i18ntk summary --ci
|
|
922
|
-
```
|
|
239
|
+
### **📋 Package Attribution**
|
|
240
|
+
- **Package Name**: `i18ntk`
|
|
241
|
+
- **Author**: Vladimir Noskov (@vladnoskv)
|
|
242
|
+
- **Repository**: https://github.com/vladnoskv/i18ntk
|
|
243
|
+
- **NPM Registry**: https://www.npmjs.com/package/i18ntk
|
|
244
|
+
- **License**: MIT
|
|
245
|
+
- **Current Version**: 1.5.1 (Released: August 6, 2025)
|
|
923
246
|
|
|
924
|
-
###
|
|
925
|
-
|
|
926
|
-
validate_i18n:
|
|
927
|
-
stage: test
|
|
928
|
-
image: node:18
|
|
929
|
-
script:
|
|
930
|
-
- npm install -g i18ntk
|
|
931
|
-
- i18ntk validate --strict
|
|
932
|
-
- i18ntk summary --ci
|
|
933
|
-
```
|
|
247
|
+
### **🔍 Identity Disclaimer**
|
|
248
|
+
This package (`i18ntk` by vladnoskv) is an **independent, standalone internationalization management toolkit** and is **not affiliated with, endorsed by, or connected to** any other packages, tools, or services using similar names.
|
|
934
249
|
|
|
935
|
-
###
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
```
|
|
250
|
+
### **✅ Version Accuracy Guarantee**
|
|
251
|
+
All version information is current as of **August 6, 2025**:
|
|
252
|
+
- **Package Version**: 1.5.1
|
|
253
|
+
- **Release Date**: 2025-08-06
|
|
254
|
+
- **Node.js Compatibility**: >=16.0.0
|
|
255
|
+
- **Zero Runtime Dependencies**: Verified ✓
|
|
256
|
+
- **Package Size**: 536KB unpacked, 111.8KB packed
|
|
943
257
|
|
|
944
|
-
##
|
|
945
|
-
|
|
946
|
-
- ✅ **Stable Release**: v1.5.0
|
|
947
|
-
- ✅ **Production Ready**: Available on npm with growing adoption
|
|
948
|
-
- ✅ **Security Audited**: Regular security reviews
|
|
949
|
-
- ✅ **Performance Optimized**: Sub-second analysis times
|
|
950
|
-
- ✅ **8-Language Support**: Complete internationalization
|
|
951
|
-
- ✅ **Zero Dependencies**: No runtime dependencies - works with any framework
|
|
952
|
-
- ✅ **Framework Agnostic**: Compatible with React, Vue, Angular, and vanilla JS
|
|
953
|
-
- ✅ **CI/CD Ready**: Complete GitHub Actions integration
|
|
954
|
-
- ✅ **Benchmarked**: Performance monitoring and regression detection
|
|
955
|
-
- ✅ **Optimized Package**: 15.7% smaller package size
|
|
956
|
-
|
|
957
|
-
## 🔍 Performance Metrics
|
|
958
|
-
|
|
959
|
-
| Metric | Value |
|
|
960
|
-
|--------|--------|
|
|
961
|
-
| **Analysis Speed** | ~1,700-2,060 files/second |
|
|
962
|
-
| **Memory Usage** | <50MB for large projects |
|
|
963
|
-
| **Package Size** | ~1.5MB (compressed) |
|
|
964
|
-
| **Startup Time** | <500ms |
|
|
965
|
-
| **Language Switching** | Instant |
|
|
966
|
-
| **Zero Dependencies** | No runtime dependencies |
|
|
967
|
-
| **Framework Support** | Universal compatibility |
|
|
968
|
-
| **Large Dataset Performance** | 50K translations in ~29 seconds |
|
|
969
|
-
| **Memory Efficiency** | Stable memory usage across all dataset sizes |
|
|
970
|
-
|
|
971
|
-
## 🚀 Latest Improvements (v1.5.0+)
|
|
972
|
-
|
|
973
|
-
### 🎯 Zero Dependencies Achievement
|
|
974
|
-
- **Removed i18next dependency**: Package now has zero runtime dependencies
|
|
975
|
-
- **Universal compatibility**: Works with any i18n framework or vanilla JavaScript
|
|
976
|
-
- **Faster installation**: No additional packages to download
|
|
977
|
-
- **Smaller footprint**: Reduced package size by 15.7%
|
|
978
|
-
- **Framework agnostic**: Compatible with React, Vue, Angular, Next.js, and more
|
|
979
|
-
|
|
980
|
-
### ⚡ Performance & Benchmarking (Available on GitHub Only)
|
|
981
|
-
- **Performance benchmarking framework**: Complete suite for measuring translation analysis performance
|
|
982
|
-
- **Regression detection**: Automated performance monitoring with baseline comparisons
|
|
983
|
-
- **Dataset testing**: Tested across 100, 1K, 10K, and 50K translation datasets
|
|
984
|
-
- **Memory profiling**: Detailed memory usage analysis for optimization
|
|
985
|
-
- **Throughput metrics**: Real-time performance tracking and reporting
|
|
986
|
-
|
|
987
|
-
### 🔄 CI/CD Integration
|
|
988
|
-
- **GitHub Actions workflows**: Automated release and security scanning
|
|
989
|
-
- **Performance regression testing**: Prevents performance degradation in PRs
|
|
990
|
-
- **Security scanning**: Automated vulnerability detection
|
|
991
|
-
- **Cross-platform testing**: Windows is supported, Linux and Mac has not been tested.
|
|
992
|
-
- **npm scripts**: `benchmark`, `benchmark:ci`, `benchmark:baseline` commands
|
|
993
|
-
|
|
994
|
-
### 📦 Package Optimization
|
|
995
|
-
- **15.7% size reduction**: From 1.78MB to 1.5MB unpacked
|
|
996
|
-
- **Multiple files removed**: Optimized package contents for production
|
|
997
|
-
- **Enhanced .npmignore**: Excludes benchmarks, docs, and dev files from npm package
|
|
998
|
-
- **Streamlined dependencies**: Zero runtime dependencies
|
|
999
|
-
- **Faster startup**: Improved initialization performance
|
|
1000
|
-
|
|
1001
|
-
## 🛡️ Security Features
|
|
1002
|
-
|
|
1003
|
-
- **PIN Protection**: Optional 4-10 digit PIN protection
|
|
1004
|
-
- **AES-256-GCM Encryption**: High-grade data encryption
|
|
1005
|
-
- **Session Management**: Automatic timeout after 30 minutes
|
|
1006
|
-
- **Audit Logging**: Complete operation history
|
|
1007
|
-
- **Secure Storage**: Encrypted configuration storage
|
|
1008
|
-
- **Input Validation**: Comprehensive input sanitization
|
|
1009
|
-
|
|
1010
|
-
## 📚 Additional Resources
|
|
1011
|
-
|
|
1012
|
-
### Documentation Links
|
|
1013
|
-
- **[📖 Complete API Reference](docs/api/API_REFERENCE.md)**
|
|
1014
|
-
- **[🎯 Framework Integration Guide](docs/INSTALLATION.md)**
|
|
1015
|
-
- **[🔐 PIN Protection Guide](docs/PIN_PROTECTION_GUIDE.md)**
|
|
1016
|
-
- **[🌍 Translation Status](docs/TRANSLATION_STATUS.md)**
|
|
1017
|
-
- **[🛠️ Debug Tools](docs/debug/DEBUG_TOOLS.md)**
|
|
1018
|
-
|
|
1019
|
-
### Community Resources
|
|
1020
|
-
- **[💬 GitHub Discussions](https://github.com/vladnoskov/i18ntk/discussions)**
|
|
1021
|
-
- **[🐛 Issue Tracker](https://github.com/vladnoskov/i18ntk/issues)**
|
|
1022
|
-
- **[⭐ Feature Requests](https://github.com/vladnoskov/i18ntk/issues/new?template=feature_request.md)**
|
|
1023
|
-
|
|
1024
|
-
### Examples & Templates
|
|
1025
|
-
- **[📁 Example Projects](examples/)**
|
|
1026
|
-
- **[🎯 Configuration Templates](templates/)**
|
|
1027
|
-
- **[🔧 CI/CD Examples](docs/development/)**
|
|
1028
|
-
|
|
1029
|
-
## 🤝 Contributing
|
|
1030
|
-
|
|
1031
|
-
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
1032
|
-
|
|
1033
|
-
### Quick Contribution Steps
|
|
1034
|
-
1. Fork the repository
|
|
1035
|
-
2. Create a feature branch: `git checkout -b feature/amazing-feature`
|
|
1036
|
-
3. Make your changes
|
|
1037
|
-
4. Run tests: `npm test`
|
|
1038
|
-
5. Commit: `git commit -m 'Add amazing feature'`
|
|
1039
|
-
6. Push: `git push origin feature/amazing-feature`
|
|
1040
|
-
7. Open a Pull Request
|
|
1041
|
-
|
|
1042
|
-
## 📋 Versioning Policy
|
|
1043
|
-
|
|
1044
|
-
This project follows [Semantic Versioning (SemVer)](https://semver.org/) with the format `MAJOR.MINOR.PATCH`:
|
|
1045
|
-
|
|
1046
|
-
- **MAJOR**: Incompatible API changes
|
|
1047
|
-
- **MINOR**: Backward-compatible functionality additions
|
|
1048
|
-
- **PATCH**: Backward-compatible bug fixes
|
|
1049
|
-
|
|
1050
|
-
Version numbers and release dates are synchronized across:
|
|
1051
|
-
- `package.json` version field
|
|
1052
|
-
- GitHub releases and tags
|
|
1053
|
-
- CHANGELOG.md entries
|
|
1054
|
-
- README.md documentation
|
|
1055
|
-
|
|
1056
|
-
## 📄 License
|
|
1057
|
-
|
|
1058
|
-
**MIT License** - see [LICENSE](LICENSE) file for full details.
|
|
1059
|
-
|
|
1060
|
-
## 🙏 Acknowledgments
|
|
1061
|
-
|
|
1062
|
-
- **Vladimir Noskov** - Original author and maintainer
|
|
1063
|
-
- **Community Contributors** - Translation contributions and bug reports
|
|
1064
|
-
- **Open Source Libraries** - Built with amazing open source tools
|
|
258
|
+
## 📚 Documentation
|
|
1065
259
|
|
|
1066
|
-
|
|
260
|
+
Complete documentation available at [vladnoskv/i18ntk](https://github.com/vladnoskv/i18ntk):
|
|
1067
261
|
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
262
|
+
- **[Setup Guide](https://github.com/vladnoskv/i18ntk/blob/main/docs/core/SETUP.md)** - Getting started
|
|
263
|
+
- **[CLI Commands](https://github.com/vladnoskv/i18ntk/blob/main/docs/core/COMMANDS.md)** - Command reference
|
|
264
|
+
- **[Framework Integration](https://github.com/vladnoskv/i18ntk/blob/main/docs/core/FRAMEWORK_INTEGRATION.md)** - Framework setup
|
|
265
|
+
- **[Security Guide](https://github.com/vladnoskv/i18ntk/blob/main/docs/PIN_PROTECTION_GUIDE.md)** - PIN protection
|
|
266
|
+
- **[Language Support](https://github.com/vladnoskv/i18ntk/blob/main/docs/core/LANGUAGE_SUPPORT.md)** - Language setup
|
|
267
|
+
- **[Debug Tools](https://github.com/vladnoskv/i18ntk/blob/main/docs/debug/DEBUG_TOOLS.md)** - Troubleshooting
|
|
268
|
+
- **[Changelog](https://github.com/vladnoskv/i18ntk/blob/main/CHANGELOG.md)** - Version history
|
|
269
|
+
- **[Contributing](https://github.com/vladnoskv/i18ntk/blob/main/CONTRIBUTING.md)** - Development guidelines
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "i18ntk",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "i18ntk (i18n Toolkit) - A comprehensive, enterprise-grade internationalization (i18n) management toolkit for JavaScript/TypeScript projects with advanced analysis, validation, and automation features",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"i18n",
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
"path-resolution",
|
|
25
25
|
"directory-configuration"
|
|
26
26
|
],
|
|
27
|
-
"homepage": "https://github.com/vladnoskv/
|
|
27
|
+
"homepage": "https://github.com/vladnoskv/i18ntk#readme",
|
|
28
28
|
"bugs": {
|
|
29
|
-
"url": "https://github.com/vladnoskv/
|
|
29
|
+
"url": "https://github.com/vladnoskv/i18ntk/issues"
|
|
30
30
|
},
|
|
31
31
|
"repository": {
|
|
32
32
|
"type": "git",
|
|
33
|
-
"url": "git+https://github.com/vladnoskv/
|
|
33
|
+
"url": "git+https://github.com/vladnoskv/i18ntk.git"
|
|
34
34
|
},
|
|
35
35
|
"funding": {
|
|
36
36
|
"type": "github",
|
|
@@ -127,9 +127,9 @@
|
|
|
127
127
|
},
|
|
128
128
|
"preferGlobal": true,
|
|
129
129
|
"versionInfo": {
|
|
130
|
-
"version": "1.5.
|
|
131
|
-
"releaseDate": "
|
|
132
|
-
"lastUpdated": "
|
|
130
|
+
"version": "1.5.1",
|
|
131
|
+
"releaseDate": "08/06/2025",
|
|
132
|
+
"lastUpdated": "08/06/2025",
|
|
133
133
|
"maintainer": "Vladimir Noskov",
|
|
134
134
|
"changelog": "./CHANGELOG.md",
|
|
135
135
|
"documentation": "./README.md",
|
package/settings/settings-cli.js
CHANGED
|
@@ -1178,12 +1178,12 @@ class SettingsCLI {
|
|
|
1178
1178
|
console.log(`${colors.bright}${this.t('settings.reportBug.title')}${colors.reset}\n`);
|
|
1179
1179
|
console.log(this.t('settings.reportBug.description'));
|
|
1180
1180
|
console.log(`
|
|
1181
|
-
${colors.dim}${this.t('settings.reportBug.link')}: https://github.com/vladnoskv/
|
|
1181
|
+
${colors.dim}${this.t('settings.reportBug.link')}: https://github.com/vladnoskv/i18ntk/issues${colors.reset}
|
|
1182
1182
|
`);
|
|
1183
1183
|
|
|
1184
1184
|
try {
|
|
1185
1185
|
const { exec } = require('child_process');
|
|
1186
|
-
const url = 'https://github.com/vladnoskv/
|
|
1186
|
+
const url = 'https://github.com/vladnoskv/i18ntk/issues';
|
|
1187
1187
|
|
|
1188
1188
|
// Try to open the URL in the default browser
|
|
1189
1189
|
let command;
|
|
@@ -1209,7 +1209,7 @@ ${colors.dim}${this.t('settings.reportBug.link')}: https://github.com/vladnoskv/
|
|
|
1209
1209
|
});
|
|
1210
1210
|
} catch (error) {
|
|
1211
1211
|
console.log(`${colors.yellow}${this.t('settings.reportBug.browserOpenFailed')}${colors.reset}`);
|
|
1212
|
-
console.log(`${this.t('settings.reportBug.manualVisit', { url: 'https://github.com/vladnoskv/
|
|
1212
|
+
console.log(`${this.t('settings.reportBug.manualVisit', { url: 'https://github.com/vladnoskv/i18ntk/issues' })}`);
|
|
1213
1213
|
}
|
|
1214
1214
|
|
|
1215
1215
|
await this.pause();
|