l10nmonster 1.0.0

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 ADDED
@@ -0,0 +1,31 @@
1
+ # l10nmonster 1.0.0 (2025-12-23)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Improve type definitions and checks ([826b412](https://public-github/l10nmonster/l10nmonster/commit/826b412f0f7e761d404165a243b0c2b26c416ac1))
7
+
8
+
9
+
10
+
11
+
12
+ ### Dependencies
13
+
14
+ * **@l10nmonster/cli:** upgraded to 3.1.1
15
+ * **@l10nmonster/config-mancer:** upgraded to 3.1.1
16
+ * **@l10nmonster/core:** upgraded to 3.1.1
17
+ * **@l10nmonster/helpers-android:** upgraded to 3.0.2
18
+ * **@l10nmonster/helpers-anthropic:** upgraded to 3.1.1
19
+ * **@l10nmonster/helpers-demo:** upgraded to 3.1.1
20
+ * **@l10nmonster/helpers-googlecloud:** upgraded to 3.1.1
21
+ * **@l10nmonster/helpers-html:** upgraded to 3.0.2
22
+ * **@l10nmonster/helpers-ios:** upgraded to 3.0.2
23
+ * **@l10nmonster/helpers-java:** upgraded to 3.0.2
24
+ * **@l10nmonster/helpers-json:** upgraded to 3.0.2
25
+ * **@l10nmonster/helpers-lqaboss:** upgraded to 3.1.1
26
+ * **@l10nmonster/helpers-openai:** upgraded to 3.1.1
27
+ * **@l10nmonster/helpers-po:** upgraded to 3.0.2
28
+ * **@l10nmonster/helpers-translated:** upgraded to 3.1.1
29
+ * **@l10nmonster/helpers-xliff:** upgraded to 3.0.2
30
+ * **@l10nmonster/mcp:** upgraded to 3.1.1
31
+ * **@l10nmonster/server:** upgraded to 3.1.1
package/README.md ADDED
@@ -0,0 +1,118 @@
1
+ # l10nmonster
2
+
3
+ The complete L10n Monster package - a headless, serverless Translation Management System (TMS) for continuous localization workflows.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install l10nmonster
9
+ ```
10
+
11
+ This single package includes all L10n Monster functionality with automatic transitive dependency management.
12
+
13
+ ## Entry Points
14
+
15
+ The package provides separate entry points for tree-shaking and on-demand loading:
16
+
17
+ ```javascript
18
+ // Core functionality
19
+ import { L10nMonsterConfig, ChannelConfig, adapters, providers, normalizers } from 'l10nmonster';
20
+
21
+ // Platform-specific helpers (import only what you need)
22
+ import * as android from 'l10nmonster/android';
23
+ import * as ios from 'l10nmonster/ios';
24
+ import * as java from 'l10nmonster/java';
25
+ import * as json from 'l10nmonster/json';
26
+ import * as html from 'l10nmonster/html';
27
+ import * as po from 'l10nmonster/po';
28
+ import * as xliff from 'l10nmonster/xliff';
29
+
30
+ // Translation providers
31
+ import * as openai from 'l10nmonster/openai';
32
+ import * as anthropic from 'l10nmonster/anthropic';
33
+ import * as deepl from 'l10nmonster/deepl';
34
+ import * as googlecloud from 'l10nmonster/googlecloud';
35
+ import * as translated from 'l10nmonster/translated';
36
+
37
+ // Demo/testing
38
+ import * as demo from 'l10nmonster/demo';
39
+
40
+ // Additional tools
41
+ import * as server from 'l10nmonster/server';
42
+ import * as mcp from 'l10nmonster/mcp';
43
+ import * as lqaboss from 'l10nmonster/lqaboss';
44
+ import * as configMancer from 'l10nmonster/config-mancer';
45
+ ```
46
+
47
+ ## Quick Start
48
+
49
+ ```javascript
50
+ import { L10nMonsterConfig, ChannelConfig, adapters, providers, normalizers } from 'l10nmonster';
51
+ import * as android from 'l10nmonster/android';
52
+ import * as demo from 'l10nmonster/demo';
53
+
54
+ export default new L10nMonsterConfig(import.meta.dirname)
55
+ .channel(new ChannelConfig('main')
56
+ .source(new adapters.FsSource({
57
+ sourceLang: 'en',
58
+ globs: ['**/values/strings.xml'],
59
+ }))
60
+ .resourceFilter(new android.AndroidXMLFilter())
61
+ .decoders([android.escapesDecoder, android.phDecoder])
62
+ .target(new adapters.FsTarget({
63
+ targetPath: (lang, rid) => rid.replace('/values/', `/values-${lang}/`)
64
+ })))
65
+ .provider(new providers.Grandfather({ quality: 70 }))
66
+ .provider(new demo.PigLatinizer({ quality: 1 }));
67
+ ```
68
+
69
+ ## CLI Usage
70
+
71
+ ```bash
72
+ npx l10n monster # Test config and show status
73
+ npx l10n source snap # Snapshot sources
74
+ npx l10n translate # Run translation pipeline
75
+ npx l10n source list # List source resources
76
+ npx l10n tm list # List TM entries
77
+ ```
78
+
79
+ ## Available Entry Points
80
+
81
+ | Entry Point | Description |
82
+ |-------------|-------------|
83
+ | `l10nmonster` | Core library (L10nMonsterConfig, adapters, providers, normalizers) |
84
+ | `l10nmonster/android` | Android XML format support |
85
+ | `l10nmonster/ios` | iOS .strings and .stringsdict support |
86
+ | `l10nmonster/java` | Java .properties support |
87
+ | `l10nmonster/json` | JSON/i18next format support |
88
+ | `l10nmonster/html` | HTML format support |
89
+ | `l10nmonster/po` | Gettext PO format support |
90
+ | `l10nmonster/xliff` | XLIFF format support |
91
+ | `l10nmonster/openai` | OpenAI GPT translation provider |
92
+ | `l10nmonster/anthropic` | Anthropic Claude translation provider |
93
+ | `l10nmonster/deepl` | DeepL translation provider |
94
+ | `l10nmonster/googlecloud` | Google Cloud Translation & GenAI |
95
+ | `l10nmonster/translated` | Translated.com (MMT, Lara) providers |
96
+ | `l10nmonster/demo` | Demo provider (PigLatinizer) |
97
+ | `l10nmonster/server` | Web server with UI |
98
+ | `l10nmonster/mcp` | Model Context Protocol server |
99
+ | `l10nmonster/lqaboss` | LQA Boss visual review tools |
100
+ | `l10nmonster/config-mancer` | Configuration utilities |
101
+
102
+ ## Individual Packages
103
+
104
+ For more granular control, individual scoped packages are available:
105
+
106
+ - `@l10nmonster/core` - Core library only
107
+ - `@l10nmonster/cli` - CLI only
108
+ - `@l10nmonster/helpers-android` - Android support only
109
+ - `@l10nmonster/helpers-ios` - iOS support only
110
+ - ... and more
111
+
112
+ ## Documentation
113
+
114
+ See [L10n Monster Documentation](https://github.com/l10nmonster/l10nmonster#readme) for full details.
115
+
116
+ ## License
117
+
118
+ MIT
package/package.json ADDED
@@ -0,0 +1,128 @@
1
+ {
2
+ "name": "l10nmonster",
3
+ "version": "1.0.0",
4
+ "description": "L10n Monster - Complete localization toolkit with all helpers",
5
+ "type": "module",
6
+ "main": "src/index.js",
7
+ "types": "src/index.d.ts",
8
+ "bin": {
9
+ "l10n": "src/cli.js"
10
+ },
11
+ "scripts": {
12
+ "generate:types": "node scripts/generate-types.js",
13
+ "prepublishOnly": "npm run generate:types"
14
+ },
15
+ "exports": {
16
+ ".": {
17
+ "types": "./src/index.d.ts",
18
+ "default": "./src/index.js"
19
+ },
20
+ "./android": {
21
+ "types": "./src/android.d.ts",
22
+ "default": "./src/android.js"
23
+ },
24
+ "./ios": {
25
+ "types": "./src/ios.d.ts",
26
+ "default": "./src/ios.js"
27
+ },
28
+ "./java": {
29
+ "types": "./src/java.d.ts",
30
+ "default": "./src/java.js"
31
+ },
32
+ "./html": {
33
+ "types": "./src/html.d.ts",
34
+ "default": "./src/html.js"
35
+ },
36
+ "./json": {
37
+ "types": "./src/json.d.ts",
38
+ "default": "./src/json.js"
39
+ },
40
+ "./po": {
41
+ "types": "./src/po.d.ts",
42
+ "default": "./src/po.js"
43
+ },
44
+ "./xliff": {
45
+ "types": "./src/xliff.d.ts",
46
+ "default": "./src/xliff.js"
47
+ },
48
+ "./demo": {
49
+ "types": "./src/demo.d.ts",
50
+ "default": "./src/demo.js"
51
+ },
52
+ "./openai": {
53
+ "types": "./src/openai.d.ts",
54
+ "default": "./src/openai.js"
55
+ },
56
+ "./anthropic": {
57
+ "types": "./src/anthropic.d.ts",
58
+ "default": "./src/anthropic.js"
59
+ },
60
+ "./deepl": {
61
+ "types": "./src/deepl.d.ts",
62
+ "default": "./src/deepl.js"
63
+ },
64
+ "./googlecloud": {
65
+ "types": "./src/googlecloud.d.ts",
66
+ "default": "./src/googlecloud.js"
67
+ },
68
+ "./translated": {
69
+ "types": "./src/translated.d.ts",
70
+ "default": "./src/translated.js"
71
+ },
72
+ "./lqaboss": {
73
+ "types": "./src/lqaboss.d.ts",
74
+ "default": "./src/lqaboss.js"
75
+ },
76
+ "./server": {
77
+ "types": "./src/server.d.ts",
78
+ "default": "./src/server.js"
79
+ },
80
+ "./mcp": {
81
+ "types": "./src/mcp.d.ts",
82
+ "default": "./src/mcp.js"
83
+ },
84
+ "./config-mancer": {
85
+ "types": "./src/config-mancer.d.ts",
86
+ "default": "./src/config-mancer.js"
87
+ }
88
+ },
89
+ "keywords": [
90
+ "translation",
91
+ "localization",
92
+ "l10n",
93
+ "i18n",
94
+ "globalization",
95
+ "translation-memory",
96
+ "tms"
97
+ ],
98
+ "author": "Diego Lagunas",
99
+ "license": "MIT",
100
+ "bugs": {
101
+ "url": "https://github.com/l10nmonster/l10nmonster/issues"
102
+ },
103
+ "homepage": "https://github.com/l10nmonster/l10nmonster#readme",
104
+ "engines": {
105
+ "node": ">=22.11.0"
106
+ },
107
+ "dependencies": {
108
+ "@l10nmonster/cli": "3.1.1",
109
+ "@l10nmonster/config-mancer": "3.1.1",
110
+ "@l10nmonster/core": "3.1.1",
111
+ "@l10nmonster/helpers-android": "3.0.2",
112
+ "@l10nmonster/helpers-anthropic": "3.1.1",
113
+ "@l10nmonster/helpers-deepl": "3.1.1",
114
+ "@l10nmonster/helpers-demo": "3.1.1",
115
+ "@l10nmonster/helpers-googlecloud": "3.1.1",
116
+ "@l10nmonster/helpers-html": "3.0.2",
117
+ "@l10nmonster/helpers-ios": "3.0.2",
118
+ "@l10nmonster/helpers-java": "3.0.2",
119
+ "@l10nmonster/helpers-json": "3.0.2",
120
+ "@l10nmonster/helpers-lqaboss": "3.1.1",
121
+ "@l10nmonster/helpers-openai": "3.1.1",
122
+ "@l10nmonster/helpers-po": "3.0.2",
123
+ "@l10nmonster/helpers-translated": "3.1.1",
124
+ "@l10nmonster/helpers-xliff": "3.0.2",
125
+ "@l10nmonster/mcp": "3.1.1",
126
+ "@l10nmonster/server": "3.1.1"
127
+ }
128
+ }
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-android';
package/src/android.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - Android helpers
2
+ export * from '@l10nmonster/helpers-android';
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-anthropic';
@@ -0,0 +1,2 @@
1
+ // L10n Monster - Anthropic helpers
2
+ export * from '@l10nmonster/helpers-anthropic';
package/src/cli.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/cli';
package/src/cli.js ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ // L10n Monster Kitchen Sink CLI
3
+
4
+ import { runCLI } from '@l10nmonster/cli';
5
+
6
+ await runCLI();
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/config-mancer';
@@ -0,0 +1,2 @@
1
+ // L10n Monster - Config Mancer
2
+ export * from '@l10nmonster/config-mancer';
package/src/deepl.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-deepl';
package/src/deepl.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - DeepL helpers
2
+ export * from '@l10nmonster/helpers-deepl';
package/src/demo.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-demo';
package/src/demo.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - Demo helpers
2
+ export * from '@l10nmonster/helpers-demo';
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-googlecloud';
@@ -0,0 +1,2 @@
1
+ // L10n Monster - Google Cloud helpers
2
+ export * from '@l10nmonster/helpers-googlecloud';
package/src/html.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-html';
package/src/html.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - HTML helpers
2
+ export * from '@l10nmonster/helpers-html';
package/src/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ // L10n Monster - Core types only
2
+ // For helper types, import from 'l10nmonster/<package>'
3
+
4
+ export * from '@l10nmonster/core';
5
+
6
+ export declare const version: string;
package/src/index.js ADDED
@@ -0,0 +1,7 @@
1
+ // L10n Monster - Core exports only (fast startup)
2
+ // For helper packages, import from 'l10nmonster/<package>'
3
+
4
+ export * from '@l10nmonster/core';
5
+
6
+ import { l10nMonsterVersion } from '@l10nmonster/core';
7
+ export const version = l10nMonsterVersion;
package/src/ios.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-ios';
package/src/ios.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - iOS helpers
2
+ export * from '@l10nmonster/helpers-ios';
package/src/java.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-java';
package/src/java.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - Java helpers
2
+ export * from '@l10nmonster/helpers-java';
package/src/json.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-json';
package/src/json.js ADDED
@@ -0,0 +1,3 @@
1
+ // L10n Monster - JSON/i18next helpers
2
+ export * from '@l10nmonster/helpers-json';
3
+ export * from '@l10nmonster/helpers-json/i18next.js';
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-lqaboss';
package/src/lqaboss.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - LQA Boss helpers
2
+ export * from '@l10nmonster/helpers-lqaboss';
package/src/mcp.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/mcp';
package/src/mcp.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - MCP
2
+ export * from '@l10nmonster/mcp';
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-openai';
package/src/openai.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - OpenAI helpers
2
+ export * from '@l10nmonster/helpers-openai';
package/src/po.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-po';
package/src/po.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - PO helpers
2
+ export * from '@l10nmonster/helpers-po';
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/server';
package/src/server.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - Server
2
+ export * from '@l10nmonster/server';
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-translated';
@@ -0,0 +1,2 @@
1
+ // L10n Monster - Translated (MMT/Lara) helpers
2
+ export * from '@l10nmonster/helpers-translated';
package/src/xliff.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@l10nmonster/helpers-xliff';
package/src/xliff.js ADDED
@@ -0,0 +1,2 @@
1
+ // L10n Monster - XLIFF helpers
2
+ export * from '@l10nmonster/helpers-xliff';