Skip to content

Commit 68ef82d

Browse files
committed
feat: make i18n messages identifier configurable
fixes #126
1 parent 42e7515 commit 68ef82d

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

.changeset/major-eggs-flow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"astro-nanostores-i18n": patch
3+
---
4+
5+
Make i18n messages indentifier configurable

libs/astro-nanostores-i18n/src/bin/extract.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ import * as ts from "typescript";
1212
const { values } = parseArgs({
1313
args: process.argv.slice(2),
1414
options: {
15+
identifier: {
16+
type: "string",
17+
default: "messages",
18+
},
1519
glob: {
1620
type: "string",
1721
default: "./src/**/*.astro",
@@ -33,6 +37,7 @@ if (values.help) {
3337
Usage: extract-messages [options]
3438
3539
Options:
40+
--identifier <name> Variable name to extract messages from (default: "messages")
3641
--glob <pattern> Glob pattern for finding Astro files (default: "./src/**/*.astro")
3742
--out <path> Output path for messages file (default: "./src/translations/extract.json")
3843
--help, -h Show this help message
@@ -61,7 +66,7 @@ function extractMessagesFromAST(code: string) {
6166
function visit(node: ts.Node) {
6267
if (ts.isVariableStatement(node)) {
6368
const declaration = node.declarationList.declarations[0];
64-
if (ts.isIdentifier(declaration.name) && declaration.name.text === "messages" && declaration.initializer) {
69+
if (ts.isIdentifier(declaration.name) && declaration.name.text === values.identifier && declaration.initializer) {
6570
messagesExport = node.getText();
6671
}
6772
}

0 commit comments

Comments
 (0)