-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Description
Package.json file
{
"name": "medusa-website",
"version": "0.0.1",
"description": "A starter for Medusa projects.",
"author": "Medusa (https://medusajs.com)",
"license": "MIT",
"keywords": [
"sqlite",
"postgres",
"typescript",
"ecommerce",
"headless",
"medusa"
],
"scripts": {
"build": "medusa build",
"seed": "medusa exec ./src/scripts/seed.ts",
"start": "medusa start",
"dev": "medusa develop",
"test:integration:http": "TEST_TYPE=integration:http NODE_OPTIONS=--experimental-vm-modules jest --silent=false --runInBand --forceExit",
"test:integration:modules": "TEST_TYPE=integration:modules NODE_OPTIONS=--experimental-vm-modules jest --silent=false --runInBand --forceExit",
"test:unit": "TEST_TYPE=unit NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --forceExit"
},
"dependencies": {
"@medusajs/admin-sdk": "2.12.3",
"@medusajs/cli": "2.12.3",
"@medusajs/framework": "2.12.3",
"@medusajs/medusa": "2.12.3"
},
"devDependencies": {
"@medusajs/test-utils": "2.12.3",
"@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36",
"@types/jest": "^29.5.13",
"@types/node": "^20.12.11",
"@types/react": "^18.3.2",
"@types/react-dom": "^18.2.25",
"jest": "^29.7.0",
"prop-types": "^15.8.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"ts-node": "^10.9.2",
"typescript": "^5.6.2",
"vite": "^5.4.14",
"yalc": "^1.0.0-pre.53"
},
"engines": {
"node": ">=20"
}
}Node.js version
v24.11.1
Database and its version
Postgres 17.0
Operating system name and version
macOS 26.1
Browser name
No response
What happended?
The draft orders list page has hardcoded strings in the empty state that are NOT using the i18n translation system. This makes it impossible to translate these strings to other languages (like Persian/Farsi).
The hardcoded strings are located in:
node_modules/@medusajs/draft-order/.medusa/server/src/admin/index.mjs
Affected strings:
- "No draft orders found"
- "Create a new draft order to get started."
- "No results found"
- "No draft orders match your filter criteria."
Code location:
emptyState: {
empty: {
heading: "No draft orders found",
description: "Create a new draft order to get started."
},
filtered: {
heading: "No results found",
description: "No draft orders match your filter criteria."
}
}
Expected behavior
These strings should use the translation system (t() function from react-i18next) so they can be translated to other languages.
The draftOrders section already has translations defined in src/admin/i18n/json/fa.json, but the empty state text is not using them.
Actual behavior
The empty state text is hardcoded in English and cannot be translated even though I have set up Persian (Farsi) translations for the admin dashboard.
Link to reproduction repo
Not applicable - can be reproduced with any fresh Medusa 2.12.3 installation by navigating to /app/draft-orders with no draft orders created.