{"_id":"@anterofy/i18n-core","_rev":"9-47ca82c94a77a397f1263c81c5381508","name":"@anterofy/i18n-core","dist-tags":{"latest":"1.0.16"},"versions":{"1.0.1":{"name":"@anterofy/i18n-core","version":"1.0.1","keywords":[],"author":"","license":"ISC","_id":"@anterofy/i18n-core@1.0.1","maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"dist":{"shasum":"dfd1f2e510acaeccab2b081ae4794f0e40851331","tarball":"https://registry.npmjs.org/@anterofy/i18n-core/-/i18n-core-1.0.1.tgz","fileCount":28,"integrity":"sha512-oXStVoYaSdFIiVlECwf3bbrK2aIa9dBPEXkSf7jm9j0wp8M7gOGTTqu9n1Jn0ESlmWanwB02ann1cKCpz7Vx8Q==","signatures":[{"sig":"MEQCIHoOf9hJ4ql2dyicpgZaYYkbxKaFwZNFvR1mNfDUIb+9AiA132QGxbCvrQeIjocbb+Wc8hlD/U8FXtGx8Pm77XdntA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57302},"main":"index.js","$meta":{"Name":"package.json","Path":"i18n-core/package.json","Repo":"i18n-core","Author":"Antero Kangas","Created":"2025-10-30","Description":"i18n-core-moduulin konfiguraatio. Tämä moduuli hallitsee kieliversioita ja käännöksiä sekä tarjoaa rajapintoja muiden moduulien käyttöön. Tässä tiedostossa määritellään riippuvuudet, skriptit ja muut konfiguraatiot."},"_from":"file:anterofy-i18n-core-1.0.1.tgz","scripts":{"test":"echo \"Error: no test specified\" && exit 1","release":"standard-version"},"_npmUser":{"name":"anterofy","email":"antero.kangas@gmail.com"},"_resolved":"/private/var/folders/k4/c192nn9x0fx9m1yr6vzms2_m0000gn/T/a5778741cfd28591bb475b7506176948/anterofy-i18n-core-1.0.1.tgz","_integrity":"sha512-oXStVoYaSdFIiVlECwf3bbrK2aIa9dBPEXkSf7jm9j0wp8M7gOGTTqu9n1Jn0ESlmWanwB02ann1cKCpz7Vx8Q==","_npmVersion":"10.8.2","description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"dayjs":"^1.11.19"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.6","ts-node":"^10.9.2","typescript":"^5.9.3","@types/node":"^24.9.2","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-core_1.0.1_1762191372631_0.16715395041902492","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@anterofy/i18n-core","version":"1.0.2","keywords":[],"author":"","license":"ISC","_id":"@anterofy/i18n-core@1.0.2","maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"dist":{"shasum":"826ccc037c09a1a9f6c7a66a006d3ba49525a224","tarball":"https://registry.npmjs.org/@anterofy/i18n-core/-/i18n-core-1.0.2.tgz","fileCount":33,"integrity":"sha512-WZe4zQquIG0kpOAebapEWG+qok57vHBq789yf+bvJm+p4akZncuTLCAaMOW1ceWp+dDE/pp1qxYo3kRVdO0EGA==","signatures":[{"sig":"MEUCIQCpqW5ODvOECqL1LEXqLcrDuAkvJNPteaK69Ao6rebdhgIgYRxGPMVEEE14WUXk730cKLpidqcfy6SB4JnScKWVrdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54584},"main":"index.js","$meta":{"Name":"package.json","Path":"i18n-core/package.json","Repo":"i18n-core","Author":"Antero Kangas","Created":"2025-10-30","Description":"i18n-core-moduulin konfiguraatio. Tämä moduuli hallitsee kieliversioita ja käännöksiä sekä tarjoaa rajapintoja muiden moduulien käyttöön. Tässä tiedostossa määritellään riippuvuudet, skriptit ja muut konfiguraatiot."},"_from":"file:anterofy-i18n-core-1.0.2.tgz","scripts":{"test":"echo \"Error: no test specified\" && exit 1","release":"standard-version"},"_npmUser":{"name":"anterofy","email":"antero.kangas@gmail.com"},"_resolved":"/private/var/folders/k4/c192nn9x0fx9m1yr6vzms2_m0000gn/T/4a451b517e25fc4aef4227e7896f5136/anterofy-i18n-core-1.0.2.tgz","_integrity":"sha512-WZe4zQquIG0kpOAebapEWG+qok57vHBq789yf+bvJm+p4akZncuTLCAaMOW1ceWp+dDE/pp1qxYo3kRVdO0EGA==","_npmVersion":"10.8.2","description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"dayjs":"^1.11.19"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.6","ts-node":"^10.9.2","typescript":"^5.9.3","@types/node":"^24.9.2","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n-core_1.0.2_1762192710143_0.8609391315139725","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@anterofy/i18n-core","version":"1.0.6","keywords":[],"author":"","license":"ISC","_id":"@anterofy/i18n-core@1.0.6","maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"dist":{"shasum":"b8c79969cdc44680209bde169fbf8a51076a26cd","tarball":"https://registry.npmjs.org/@anterofy/i18n-core/-/i18n-core-1.0.6.tgz","fileCount":18,"integrity":"sha512-XIIVnr+5wOEZsb2uL8Ci3CJzUoRTHV6Z4q0UTTl9msJVFDvjksG1xyXPnB2Ippm8/LLDwOw/5ber/+kIgnHTbQ==","signatures":[{"sig":"MEYCIQCFg6i3kb46WU3a1Gk+MbOymD1zmnB8AfpC43Qd7VLNNgIhAOqAmtpMAN6Wc8N4TbXiArAGclmep06a+E/4kwD3H4sF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32989},"main":"index.js","$meta":{"Name":"package.json","Path":"i18n-core/package.json","Repo":"i18n-core","Author":"Antero Kangas","Created":"2025-10-30","Description":"i18n-core-moduulin konfiguraatio. Tämä moduuli hallitsee kieliversioita ja käännöksiä sekä tarjoaa rajapintoja muiden moduulien käyttöön. Tässä tiedostossa määritellään riippuvuudet, skriptit ja muut konfiguraatiot."},"_from":"file:anterofy-i18n-core-1.0.6.tgz","scripts":{"lint":"eslint \"src/**/*.{ts,tsx}\"","test":"vitest run","build":"pnpm clean && tsc -p tsconfig.json","clean":"rimraf dist","release":"standard-version","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anterofy","email":"antero.kangas@gmail.com"},"_resolved":"/private/var/folders/k4/c192nn9x0fx9m1yr6vzms2_m0000gn/T/700c6576b7bc91f8c1b47b8a86eb63c3/anterofy-i18n-core-1.0.6.tgz","_integrity":"sha512-XIIVnr+5wOEZsb2uL8Ci3CJzUoRTHV6Z4q0UTTl9msJVFDvjksG1xyXPnB2Ippm8/LLDwOw/5ber/+kIgnHTbQ==","_npmVersion":"10.8.2","description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"dayjs":"^1.11.19"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.1","rimraf":"^6.1.0","vitest":"^4.0.6","globals":"^16.5.0","ts-node":"^10.9.2","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.7","typescript":"^5.9.3","@eslint/css":"^0.14.1","@types/node":"^24.9.2","@eslint/json":"^0.14.0","@eslint/markdown":"^7.5.1","standard-version":"^9.5.0","typescript-eslint":"^8.46.3","@typescript-eslint/parser":"^8.46.3","@typescript-eslint/eslint-plugin":"^8.46.3"},"_npmOperationalInternal":{"tmp":"tmp/i18n-core_1.0.6_1762297258815_0.7605432112917663","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@anterofy/i18n-core","version":"1.0.7","author":{"name":"Antero Kangas"},"license":"ISC","_id":"@anterofy/i18n-core@1.0.7","maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"dist":{"shasum":"0aabee8718be297be48b0f75660e2492e4c81e93","tarball":"https://registry.npmjs.org/@anterofy/i18n-core/-/i18n-core-1.0.7.tgz","fileCount":24,"integrity":"sha512-KaMm9nHkL4aB/kHI4xsiIBg16Y0ateQqmd2upEc0HQP6/XCCTI9lUdc79qqCtXAjNMymN0zF3ZLApWWQUcONOw==","signatures":[{"sig":"MEYCIQDaRg5g+jT8/s0Uf2fceJSNqQjmxffFv4Yb/FT3wH5VYwIhAJp+0NxCY8bbZTqjcyqHlSQJ9dKIDTlE77Bob7MT+KTJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40995},"main":"./dist/index.js","type":"module","$meta":{"Name":"package.json","Path":"i18n-core/package.json","Repo":"i18n-core","Author":"Antero Kangas","Created":"2025-10-30","Description":"i18n-core-moduulin konfiguraatio. Tämä moduuli hallitsee kieliversioita ja käännöksiä sekä tarjoaa rajapintoja muiden moduulien käyttöön. Tässä tiedostossa määritellään riippuvuudet, skriptit ja muut konfiguraatiot."},"_from":"file:anterofy-i18n-core-1.0.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./interfaces/interface":{"types":"./dist/interfaces/interface.d.ts","import":"./dist/interfaces/interface.js"},"./utils/loadTranslations":{"types":"./dist/utils/loadTranslations.d.ts","import":"./dist/utils/loadTranslations.js"},"./config/languages.config":{"types":"./dist/config/languages.config.d.ts","import":"./dist/config/languages.config.js"}},"scripts":{"lint":"eslint \"src/**/*.{ts,tsx}\"","test":"vitest run","build":"pnpm clean && tsc -p tsconfig.json","clean":"rimraf dist","release":"standard-version","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"anterofy","email":"antero.kangas@gmail.com"},"_resolved":"/private/var/folders/k4/c192nn9x0fx9m1yr6vzms2_m0000gn/T/f7c319cc1240828fd56b4040de2408b4/anterofy-i18n-core-1.0.7.tgz","_integrity":"sha512-KaMm9nHkL4aB/kHI4xsiIBg16Y0ateQqmd2upEc0HQP6/XCCTI9lUdc79qqCtXAjNMymN0zF3ZLApWWQUcONOw==","repository":{"url":"http://localhost:8080/git/sakcms/i18n-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.4","dependencies":{"dayjs":"^1.11.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.1","rimraf":"^6.1.0","vitest":"^4.0.7","globals":"^16.5.0","ts-node":"^10.9.2","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.7","typescript":"^5.9.3","@eslint/css":"^0.14.1","@types/node":"^24.10.0","@eslint/json":"^0.14.0","@eslint/markdown":"^7.5.1","standard-version":"^9.5.0","typescript-eslint":"^8.46.3","@typescript-eslint/parser":"^8.46.3","@typescript-eslint/eslint-plugin":"^8.46.3"},"_npmOperationalInternal":{"tmp":"tmp/i18n-core_1.0.7_1762298880153_0.9681563131947513","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@anterofy/i18n-core","version":"1.0.9","author":{"name":"Antero Kangas"},"license":"ISC","_id":"@anterofy/i18n-core@1.0.9","maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"homepage":"http://localhost:8080/git/sakcms/language-selector","bugs":{"url":"http://localhost:8080/git/sakcms/language-selector/issues"},"dist":{"shasum":"b3295aa3e74728b6204cc66bcaf3663de8702845","tarball":"https://registry.npmjs.org/@anterofy/i18n-core/-/i18n-core-1.0.9.tgz","fileCount":24,"integrity":"sha512-Lfg1vUhJhoFk8QsnVKq2cRZAYOU/bo5qJSe+D9YwBzsgA2Z8ddi3mnUmJ5nZlO/n/HHvFeMw/UzG5C8ZhmQV3w==","signatures":[{"sig":"MEUCIQD7eQeNRkxUrzqA+1qwhbC8JPa8ZIQ4/W1Hnv3DUCX1mAIgOUe/a/swr7GXW/vfvUBrxodNVGwHUNOq6HyR5iFqj44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41570},"main":"./dist/index.js","type":"module","$meta":{"Name":"package.json","Path":"i18n-core/package.json","Repo":"i18n-core","Author":"Antero Kangas","Created":"2025-10-30","Description":"i18n-core-moduulin konfiguraatio. Tämä moduuli hallitsee kieliversioita ja käännöksiä sekä tarjoaa rajapintoja muiden moduulien käyttöön. Tässä tiedostossa määritellään riippuvuudet, skriptit ja muut konfiguraatiot."},"_from":"file:anterofy-i18n-core-1.0.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./interfaces/interface":{"types":"./dist/interfaces/interface.d.ts","import":"./dist/interfaces/interface.js"},"./utils/loadTranslations":{"types":"./dist/utils/loadTranslations.d.ts","import":"./dist/utils/loadTranslations.js"},"./config/languages.config":{"types":"./dist/config/languages.config.d.ts","import":"./dist/config/languages.config.js"}},"scripts":{"dev":"tsc -w","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"vitest run","build":"pnpm clean && tsc -p tsconfig.json","clean":"rimraf dist","preview":"node -e \"console.log('No preview for a library package')\"","release":"standard-version","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"anterofy","email":"antero.kangas@gmail.com"},"_resolved":"/private/var/folders/k4/c192nn9x0fx9m1yr6vzms2_m0000gn/T/7c9edb92dfbbddb716c5c133876ff909/anterofy-i18n-core-1.0.9.tgz","_integrity":"sha512-Lfg1vUhJhoFk8QsnVKq2cRZAYOU/bo5qJSe+D9YwBzsgA2Z8ddi3mnUmJ5nZlO/n/HHvFeMw/UzG5C8ZhmQV3w==","repository":{"url":"http://localhost:8080/git/sakcms/language-selector.git","type":"git"},"_npmVersion":"10.8.2","description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.4","dependencies":{"dayjs":"^1.11.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.1","rimraf":"^6.1.0","vitest":"^4.0.7","globals":"^16.5.0","ts-node":"^10.9.2","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.7","typescript":"^5.9.3","@eslint/css":"^0.14.1","@types/node":"^24.10.0","@eslint/json":"^0.14.0","@eslint/markdown":"^7.5.1","standard-version":"^9.5.0","typescript-eslint":"^8.46.3","@typescript-eslint/parser":"^8.46.3","@typescript-eslint/eslint-plugin":"^8.46.3"},"_npmOperationalInternal":{"tmp":"tmp/i18n-core_1.0.9_1762301057653_0.7157932253947394","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@anterofy/i18n-core","version":"1.0.11","author":{"name":"Antero Kangas"},"license":"ISC","_id":"@anterofy/i18n-core@1.0.11","maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"homepage":"http://localhost:8080/git/sakcms/language-selector","bugs":{"url":"http://localhost:8080/git/sakcms/language-selector/issues"},"dist":{"shasum":"be019bee2ca6128a4d175dd3049d921f8d160625","tarball":"https://registry.npmjs.org/@anterofy/i18n-core/-/i18n-core-1.0.11.tgz","fileCount":24,"integrity":"sha512-ZmE62nk7CJB59htoP+TeUitLyiXyh+DP3z8i2rdaaRbCkqs0nb3MlCGaG3HylvZvqCNClEK06JlB9cRypi+c5w==","signatures":[{"sig":"MEYCIQDYPb94lava+3nJYKc5H3+uJmJKaDJuO/6yred7juMsnQIhAJONfeo7KIcq47DaW2IpGT2xEJmNJLZTjR4YRfyOK1CS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41877},"main":"./dist/index.js","type":"module","$meta":{"Name":"package.json","Path":"i18n-core/package.json","Repo":"i18n-core","Author":"Antero Kangas","Created":"2025-10-30","Description":"i18n-core-moduulin konfiguraatio. Tämä moduuli hallitsee kieliversioita ja käännöksiä sekä tarjoaa rajapintoja muiden moduulien käyttöön. Tässä tiedostossa määritellään riippuvuudet, skriptit ja muut konfiguraatiot."},"_from":"file:anterofy-i18n-core-1.0.11.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./interfaces/interface":{"types":"./dist/interfaces/interface.d.ts","import":"./dist/interfaces/interface.js"},"./utils/loadTranslations":{"types":"./dist/utils/loadTranslations.d.ts","import":"./dist/utils/loadTranslations.js"},"./config/languages.config":{"types":"./dist/config/languages.config.d.ts","import":"./dist/config/languages.config.js"}},"scripts":{"dev":"tsc -w","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"vitest run","build":"pnpm clean && tsc -p tsconfig.json","clean":"rimraf dist","preview":"node -e \"console.log('No preview for a library package')\"","release":"standard-version","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"anterofy","email":"antero.kangas@gmail.com"},"_resolved":"/private/var/folders/k4/c192nn9x0fx9m1yr6vzms2_m0000gn/T/0a702c4e7342411bf44b0fa8e5ab4aef/anterofy-i18n-core-1.0.11.tgz","_integrity":"sha512-ZmE62nk7CJB59htoP+TeUitLyiXyh+DP3z8i2rdaaRbCkqs0nb3MlCGaG3HylvZvqCNClEK06JlB9cRypi+c5w==","repository":{"url":"http://localhost:8080/git/sakcms/language-selector.git","type":"git"},"_npmVersion":"10.8.2","description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.4","dependencies":{"dayjs":"^1.11.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.1","rimraf":"^6.1.0","vitest":"^4.0.7","globals":"^16.5.0","ts-node":"^10.9.2","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.7","typescript":"^5.9.3","@eslint/css":"^0.14.1","@types/node":"^24.10.0","@eslint/json":"^0.14.0","@eslint/markdown":"^7.5.1","standard-version":"^9.5.0","typescript-eslint":"^8.46.3","@typescript-eslint/parser":"^8.46.3","@typescript-eslint/eslint-plugin":"^8.46.3"},"_npmOperationalInternal":{"tmp":"tmp/i18n-core_1.0.11_1762301527487_0.26870226808596454","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@anterofy/i18n-core","version":"1.0.12","author":{"name":"Antero Kangas"},"license":"ISC","_id":"@anterofy/i18n-core@1.0.12","maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"homepage":"http://localhost:8080/git/sakcms/language-selector","bugs":{"url":"http://localhost:8080/git/sakcms/language-selector/issues"},"dist":{"shasum":"98d3f39fcdf2421f273269baa0c116355be4f361","tarball":"https://registry.npmjs.org/@anterofy/i18n-core/-/i18n-core-1.0.12.tgz","fileCount":24,"integrity":"sha512-VOkbd2k0GB1Fn7uV5Kei4ZWCNn1XI0LUyrjJGHVVzPieHvNZPLWSACOSs+ZpDnnIZGjB5M7bNiLXjnKLLRWuKg==","signatures":[{"sig":"MEUCICYrPXCjNmqhctx7M1F4ECI7Q/ktxg8QlJJJaXNJtYLGAiEAzaQSwd+4vRIYLuxrWG/ACI4JvdHhbvDYF9thjD7KF/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42005},"main":"./dist/index.js","type":"module","$meta":{"Name":"package.json","Path":"i18n-core/package.json","Repo":"i18n-core","Author":"Antero Kangas","Created":"2025-10-30","Description":"i18n-core-moduulin konfiguraatio. Tämä moduuli hallitsee kieliversioita ja käännöksiä sekä tarjoaa rajapintoja muiden moduulien käyttöön. Tässä tiedostossa määritellään riippuvuudet, skriptit ja muut konfiguraatiot."},"_from":"file:anterofy-i18n-core-1.0.12.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./interfaces/interface":{"types":"./dist/interfaces/interface.d.ts","import":"./dist/interfaces/interface.js"},"./utils/loadTranslations":{"types":"./dist/utils/loadTranslations.d.ts","import":"./dist/utils/loadTranslations.js"},"./config/languages.config":{"types":"./dist/config/languages.config.d.ts","import":"./dist/config/languages.config.js"}},"scripts":{"dev":"tsc -w","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"vitest run","build":"pnpm clean && tsc -p tsconfig.json","clean":"rimraf dist","preview":"node -e \"console.log('No preview for a library package')\"","release":"standard-version","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"anterofy","email":"antero.kangas@gmail.com"},"_resolved":"/private/var/folders/k4/c192nn9x0fx9m1yr6vzms2_m0000gn/T/09a6aae4368c790d1698210ae3bf52ac/anterofy-i18n-core-1.0.12.tgz","_integrity":"sha512-VOkbd2k0GB1Fn7uV5Kei4ZWCNn1XI0LUyrjJGHVVzPieHvNZPLWSACOSs+ZpDnnIZGjB5M7bNiLXjnKLLRWuKg==","repository":{"url":"http://localhost:8080/git/sakcms/language-selector.git","type":"git"},"_npmVersion":"10.8.2","description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.4","dependencies":{"dayjs":"^1.11.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.1","rimraf":"^6.1.0","vitest":"^4.0.7","globals":"^16.5.0","ts-node":"^10.9.2","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.7","typescript":"^5.9.3","@eslint/css":"^0.14.1","@types/node":"^24.10.0","@eslint/json":"^0.14.0","@eslint/markdown":"^7.5.1","standard-version":"^9.5.0","typescript-eslint":"^8.46.3","@typescript-eslint/parser":"^8.46.3","@typescript-eslint/eslint-plugin":"^8.46.3"},"_npmOperationalInternal":{"tmp":"tmp/i18n-core_1.0.12_1762301711090_0.42972910328981073","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@anterofy/i18n-core","version":"1.0.14","author":{"name":"Antero Kangas"},"license":"ISC","_id":"@anterofy/i18n-core@1.0.14","maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"homepage":"http://localhost:8080/git/sakcms/language-selector","bugs":{"url":"http://localhost:8080/git/sakcms/language-selector/issues"},"dist":{"shasum":"83a1bcfcbe1135d34bbe02b09e0c54bec61e7dc4","tarball":"https://registry.npmjs.org/@anterofy/i18n-core/-/i18n-core-1.0.14.tgz","fileCount":24,"integrity":"sha512-shKYqfO3mW+sl3C9P6PMHYFZ+5qZPuurva6ifXJV/cujEzhe3zD9dIgJlNeam/bJ38EkyijJcjaEQujOaIu9fw==","signatures":[{"sig":"MEUCIDKrUf/JOSGHvjZQGQYXbOgCRpjlKrvc3Sc6OvXHwEZHAiEAxBssOKR0WSJ42Z62Z35KM0oJd71LbgQUTXDr0Oastu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42192},"main":"./dist/index.js","type":"module","$meta":{"Name":"package.json","Path":"i18n-core/package.json","Repo":"i18n-core","Author":"Antero Kangas","Created":"2025-10-30","Description":"i18n-core-moduulin konfiguraatio. Tämä moduuli hallitsee kieliversioita ja käännöksiä sekä tarjoaa rajapintoja muiden moduulien käyttöön. Tässä tiedostossa määritellään riippuvuudet, skriptit ja muut konfiguraatiot."},"_from":"file:anterofy-i18n-core-1.0.14.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json","./interfaces/interface":{"types":"./dist/interfaces/interface.d.ts","import":"./dist/interfaces/interface.js"},"./utils/loadTranslations":{"types":"./dist/utils/loadTranslations.d.ts","import":"./dist/utils/loadTranslations.js"},"./config/languages.config":{"types":"./dist/config/languages.config.d.ts","import":"./dist/config/languages.config.js"}},"scripts":{"dev":"tsc -w","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"vitest run","build":"pnpm clean && tsc -p tsconfig.json","clean":"rimraf dist","preview":"node -e \"console.log('No preview for a library package')\"","release":"standard-version","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"anterofy","email":"antero.kangas@gmail.com"},"_resolved":"/private/var/folders/k4/c192nn9x0fx9m1yr6vzms2_m0000gn/T/375c0ad7a79f8c66f7c9719538b18abd/anterofy-i18n-core-1.0.14.tgz","_integrity":"sha512-shKYqfO3mW+sl3C9P6PMHYFZ+5qZPuurva6ifXJV/cujEzhe3zD9dIgJlNeam/bJ38EkyijJcjaEQujOaIu9fw==","repository":{"url":"http://localhost:8080/git/sakcms/language-selector.git","type":"git"},"_npmVersion":"10.8.2","description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.4","dependencies":{"dayjs":"^1.11.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.1","rimraf":"^6.1.0","vitest":"^4.0.7","globals":"^16.5.0","ts-node":"^10.9.2","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.7","typescript":"^5.9.3","@eslint/css":"^0.14.1","@types/node":"^24.10.0","@eslint/json":"^0.14.0","@eslint/markdown":"^7.5.1","standard-version":"^9.5.0","typescript-eslint":"^8.46.3","@typescript-eslint/parser":"^8.46.3","@typescript-eslint/eslint-plugin":"^8.46.3"},"_npmOperationalInternal":{"tmp":"tmp/i18n-core_1.0.14_1762302123705_0.13641405489376046","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"$meta":{"Repo":"i18n-core","Path":"i18n-core/package.json","Name":"package.json","Description":"i18n-core-moduulin konfiguraatio. Tämä moduuli hallitsee kieliversioita ja käännöksiä sekä tarjoaa rajapintoja muiden moduulien käyttöön. Tässä tiedostossa määritellään riippuvuudet, skriptit ja muut konfiguraatiot.","Created":"2025-10-30","Author":"Antero Kangas"},"name":"@anterofy/i18n-core","version":"1.0.16","description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./config/languages.config":{"types":"./dist/config/languages.config.d.ts","import":"./dist/config/languages.config.js"},"./utils/loadTranslations":{"types":"./dist/utils/loadTranslations.d.ts","import":"./dist/utils/loadTranslations.js"},"./interfaces/interface":{"types":"./dist/interfaces/interface.d.ts","import":"./dist/interfaces/interface.js"},"./package.json":"./package.json"},"sideEffects":false,"repository":{"type":"git","url":"http://localhost:8080/git/sakcms/language-selector.git"},"bugs":{"url":"http://localhost:8080/git/sakcms/language-selector/issues"},"homepage":"http://localhost:8080/git/sakcms/language-selector","author":{"name":"Antero Kangas"},"license":"ISC","engines":{"node":">=18"},"publishConfig":{"access":"public"},"devDependencies":{"@eslint/css":"^0.14.1","@eslint/js":"^9.39.1","@eslint/json":"^0.14.0","@eslint/markdown":"^7.5.1","@types/node":"^24.10.0","@typescript-eslint/eslint-plugin":"^8.46.3","@typescript-eslint/parser":"^8.46.3","@vitest/ui":"^4.0.7","eslint":"^9.39.1","globals":"^16.5.0","jiti":"^2.6.1","rimraf":"^6.1.0","standard-version":"^9.5.0","ts-node":"^10.9.2","typescript":"^5.9.3","typescript-eslint":"^8.46.3","vitest":"^4.0.7"},"dependencies":{"dayjs":"^1.11.19"},"scripts":{"dev":"tsc -w","build":"pnpm clean && tsc -p tsconfig.json","preview":"node -e \"console.log('No preview for a library package')\"","lint":"eslint \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","test":"vitest run","test:watch":"vitest --watch","clean":"rimraf dist","typecheck":"tsc --noEmit","check":"pnpm typecheck && pnpm lint && pnpm test","release":"standard-version","release:patch":"standard-version --release-as patch","release:minor":"standard-version --release-as minor","release:major":"standard-version --release-as major"},"_id":"@anterofy/i18n-core@1.0.16","_integrity":"sha512-smwTTHoQ/reLCEHZ724ginINEnpe1vIt7FWbzitkVWDN/UT1SqNHzxj3rX/hPqaTbFUEb5pJ24nI5t1hjIjAnQ==","_resolved":"/private/var/folders/k4/c192nn9x0fx9m1yr6vzms2_m0000gn/T/87e18f27e61a0444cd405fb7e1b2dba3/anterofy-i18n-core-1.0.16.tgz","_from":"file:anterofy-i18n-core-1.0.16.tgz","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-smwTTHoQ/reLCEHZ724ginINEnpe1vIt7FWbzitkVWDN/UT1SqNHzxj3rX/hPqaTbFUEb5pJ24nI5t1hjIjAnQ==","shasum":"2a7a44746662a089118c79e37e396bba7a8521c3","tarball":"https://registry.npmjs.org/@anterofy/i18n-core/-/i18n-core-1.0.16.tgz","fileCount":24,"unpackedSize":42086,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB9QMmEJUqF0W6o3Mv/My5cLb1G0zkgiuVhlBCIF+PH3AiEA4uiBqNuihz+tqMTSsBivaHqD8BwjCIa2MTNrHoNkVVQ="}]},"_npmUser":{"name":"anterofy","email":"antero.kangas@gmail.com"},"directories":{},"maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/i18n-core_1.0.16_1762336120810_0.9278931375322774"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-03T17:36:12.484Z","modified":"2025-11-05T09:48:41.205Z","1.0.1":"2025-11-03T17:36:12.806Z","1.0.2":"2025-11-03T17:58:30.336Z","1.0.6":"2025-11-04T23:00:58.998Z","1.0.7":"2025-11-04T23:28:00.341Z","1.0.9":"2025-11-05T00:04:17.925Z","1.0.11":"2025-11-05T00:12:07.686Z","1.0.12":"2025-11-05T00:15:11.333Z","1.0.14":"2025-11-05T00:22:03.937Z","1.0.16":"2025-11-05T09:48:41.003Z"},"bugs":{"url":"http://localhost:8080/git/sakcms/language-selector/issues"},"author":{"name":"Antero Kangas"},"license":"ISC","homepage":"http://localhost:8080/git/sakcms/language-selector","repository":{"type":"git","url":"http://localhost:8080/git/sakcms/language-selector.git"},"description":"Keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.","maintainers":[{"name":"anterofy","email":"antero.kangas@gmail.com"}],"readme":"i18n-core\n===============\n\n**Sisällysluettelo**\n\n[TOC]\n\n\n\n## Tavoite\n\nKeskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statuksia.\n\n**Tavoite** on luoda keskeinen moduuli, joka hallitsee kieliversioita, käännöksiä ja niiden statusseja. Tämä moduuli tarjoaa:\n\n- **Käännösten hallinta**: Mahdollisuus käyttää käännöksiä eri kielillä sovelluksessa, joko master- tai fallback-kielellä.\n- **Käännösstatus**: Seuraa, onko käännös tehty, onko käännös puutteellinen, ja mahdollistaa käännösten päivittämisen ja ylläpidon.\n- **Kieliversion hallinta**: Käytettävissä oleva kieli voidaan vaihtaa ja sen mukaan sovelluksen tekstit näkyvät oikeilla kielillä.\n- **Käännösten flättäys (flattening)**: Flättää monikieliset JSON-rakenteet yksinkertaisiksi avain-arvo-pareiksi, joita voi käyttää käännösjärjestelmässä (esim. i18next tai muu järjestelmä).\n\n### Toiminnot\n\n- Kieliversion valinta ja hallinta.\n- Käännösten flättäys.\n- Fallback-kielihallinta, jos käännös puuttuu.\n- Käännösstatus, kuten puuttuva, valmiiksi käännetty ja osittain käännetty.\n- Exportoi ja importoi käännökset eri moduuleihin, jotta muut moduulit voivat käyttää niitä.\n\n### Rajapinta\n\n- **API** käännöksille ja kieliversion hallinnalle.\n- Käännösten status: voimme tarkastella, missä käännöksissä on ongelmia ja päivittää niitä.\n- **Moduulirajapinta** muiden moduulien käyttöön: i18n-react ja muut front-endin komponentit käyttävät tätä moduulia käännösten lataamiseen ja näyttämiseen.\n\n### Testaus\n\n- Testataan, että käännösten flättäys toimii oikein eri kielillä.\n- Testataan, että fallback-kielituki toimii, jos käännöstä ei ole.\n- Testataan, että käännösstatus-päivitykset toimivat oikein.\n\n\n\n## Repo-rakenne\n\n```\ni18n-core/\n│\n├── src/\n│   ├── index.ts                 # Moduulin päähakemisto (yksi pääexportti)\n│   ├── i18n.ts                  # Kieliversion hallinta ja käännöksien logiikka\n│   ├── language-status.ts       # Käännösstatusten hallinta\n│   ├── dayjsLocale.ts           # Day.js - Locale-hallinta\n│   ├── translation-status.ts    # Käännösstatuksen käsittely ja tallentaminen\n│   └── utils/                   # Yhteiset apu- ja util-tiedostot\n│       ├── flattenTranslations.ts # Käännösten litistämistoiminnot\n│       ├── getLanguageCodes.ts  # Kielikoodien ja masterkielen haku\n│       └── constants.ts         # Yhteiset vakioarvot ja käännöksen avaimet\n│\n├── package.json                 # Moduulin metatiedot ja riippuvuudet\n├── tsconfig.json                # TypeScript-konfiguraatio\n├── README.md                    # Dokumentaatio ja käyttöohjeet\n└── tests/                       # Testikansio\n    ├── i18n.test.ts             # Testit moduulin toiminnoille\n    ├── language-status.test.ts  # Testit käännösstatuksen hallinnalle\n    └── translation-status.test.ts # Testit käännösstatuksen käsittelyyn\n```\n\n### Tiedostojen ja kansioiden kuvaus\n\n1. **src/index.ts**:\n   - Tämä tiedosto on pääexportti, joka yhdistää kaikki moduulin toiminnot ja vie ne ulospäin.\n2. **src/i18n.ts**:\n   - Tässä tiedostossa hallitaan kieliversioiden asetuksia ja niiden lataamista.\n   - Vastuussa masterkielistä ja fallback-kielistä.\n   - Esimerkiksi voidaan toteuttaa getMasterLanguage() ja getFallbackLanguages() -funktiot.\n3. **src/language-status.ts**:\n   - Tässä tiedostossa käsitellään kieliversion tilan hallintaa.\n   - Se voi sisältää logiikkaa, jolla tarkistetaan, onko käännöksen tila “OK”, “Puuttuu” jne.\n4. **src/dayjsLocale.ts**:\n   - Käytetään päivämäärien ja aikojen näyttämiseen eri kielillä Day.js-kirjaston avulla.\n   - Päivämäärämuotoilu- ja kielisidonnaiset asetukset.\n5. **src/translation-status.ts**:\n   - Vastaa käännösstatuksen säilyttämisestä ja hallinnasta.\n   - Esimerkiksi varmistetaan, että käännökset synkronoituvat masterkielen kanssa ja että oikea kieliversio on aktiivinen.\n6. **src/utils/flattenTranslations.ts**:\n   - Tämä apufunktio litistää monikielisen JSON-rakenteen niin, että käännösjärjestelmät (kuten i18next) voivat käyttää sitä suoraan.\n7. **src/utils/getLanguageCodes.ts**:\n   - Palvelu, joka palauttaa kaikki kielikoodit, jotka ovat määritetty i18n-core-moduulille.\n8. **src/utils/constants.ts**:\n   - Yhteiset vakioarvot ja käännöksen avaimet (esim. kielikoodit, masterkieli, fallback).\n9. **package.json**:\n   - Sisältää moduulin metatiedot, riippuvuudet ja skriptit.\n10. **tsconfig.json**:\n    - TypeScriptin asetukset.\n11. **tests/**:\n    - Testikansio, jossa on yksikkötestit moduulin toiminnoille.\n    - Esimerkiksi:\n      - **i18n.test.ts** testaa kieliversioiden lataamista ja hallintaa.\n      - **language-status.test.ts** testaa kieliversion statuksia.\n      - **translation-status.test.ts** testaa käännösten statuksia ja validointia.\n\n### Seuraavat Askeleet\n\n1. **Projekti ja alkuperäiset asetukset**:\n   - Suorita pnpm init ja luo tarvittavat package.json ja tsconfig.json -tiedostot.\n   - Asenna kaikki riippuvuudet, kuten typescript, dayjs, ts-node ja mahdollisesti muut tarvittavat kirjastot\n2. **Toteuta perusmoduulin rakenne**:\n   - Luo i18n.ts, language-status.ts, translation-status.ts ja utils/ -hakemisto.\n   - Alusta tiedostot yksinkertaisilla funktioilla, jotka suorittavat perustoiminnot, kuten käännösten hakeminen ja palautus.\n3. **Testit**:\n   - Lisää yksikkötestejä kaikille tärkeille toiminnoille.\n   - Varmista, että kieliversioiden ja käännösstatusten käsittely toimii oikein.\n4. **Dokumentointi**:\n   - Lisää alkukommentit jokaiseen tiedostoon ja toiminnon kuvaukset.\n   - Lisää README.md-tiedostoon käyttöohjeet ja esimerkkejä moduulin käytöstä.\n\n\n\nTässä on perusrunko, jonka avulla voit aloittaa i18n-core-moduulin toteuttamisen ja laajentaa sitä tarpeen mukaan. Jos tarvitset apua jonkin osa-alueen kanssa, voin auttaa tarkemmin.\n\n## **i18n-core-moduulin kuvaus**\n\n**Kuvaus:**\n\ni18n-core on keskeinen moduuli, joka hallitsee kieliversioiden ja käännösten hallintaa. Se tarjoaa rajapinnan käännöksille ja tukee dynaamista kieliversion valintaa. Moduuli tukee master-kielen fallbackia, käännösten lataamista ja käännösten tilan hallintaa. Käännöksiä voidaan käyttää sekä frontendissä (React) että backendissä, ja ne voivat olla joko staattisia JSON-tiedostoja tai dynaamisesti ladattuja tiedostoja.\n\n**Moduulin tarjoamat palvelut**:\n\n1. **Käännösten hakeminen**: Hakee käännöksiä määritetyltä kieleltä, ja jos käännös puuttuu, käyttää fallback-kieltä (esim. master-kieli).\n2. **Kieliversion hallinta**: Määrittää aktiiviset kielet ja tukee master-kielen määrittämistä.\n3. **Käännösten lataaminen**: Lataa käännöksiä dynaamisesti JSON-tiedostoista (esim. languages.config.json), ja tarjoaa ne käytettäväksi muissa moduuleissa.\n4. **Käännösten statukset**: Seuraa käännösten tilaa (esim. käännös valmis, puuttuu, epäonnistunut).\n5. **Tuki useille kielille**: Tukee monikielisiä käännöksiä ja niiden dynaamista latausta.\n\n### **Rajapinta**\n\n```\nexport type LanguageDef = {\n  code: string;\n  name: string;\n  flag: string;\n  active?: boolean;\n  masterLanguage?: boolean;\n  dayjsLocale?: string;\n  antdLocale?: string;\n};\n\nexport type TranslationResult = Record<string, string>;\n\nexport const getLanguages: () => LanguageDef[];\n\nexport const getTranslation: (key: string, lang: string) => string;\n\nexport const getMasterLanguage: () => string;\n\nexport const loadTranslations: (fileName: string) => Promise<Record<string, Record<string, string>>>;\n\nexport const getLanguageCodes: () => string[];\n\nexport const isLanguageSupported: (lang: string) => boolean;\n```\n\n### **Tarkempi selitys:**\n\n1. **getLanguages()**: Palauttaa listan kaikista määritellyistä kielistä (languages.config.json tai muista lähteistä ladattuna).\n2. **getTranslation(key: string, lang: string)**: Hakee käännöksen annetulta kieleltä ja palauttaa sen. Jos käännös ei ole saatavilla, palautetaan master-kielen käännös.\n3. **getMasterLanguage()**: Palauttaa master-kielen koodin (esim. fi).\n4. **loadTranslations(fileName: string)**: Lataa käännöksiä JSON-tiedostosta (esim. projects.json).\n5. **getLanguageCodes()**: Palauttaa kaikki tuetut kielikoodit.\n6. **isLanguageSupported(lang: string)**: Tarkistaa, onko kieli tuettu ja aktiivinen.\n\nTässä vaiheessa **i18n-core** on valmis, ja sen tarjoamia rajapintoja voi käyttää muihin moduuleihin kieliversion ja käännösten käsittelyyn. Seuraavaksi voidaan siirtyä muihin moduuleihin ja testata näiden rajapintojen integrointia muihin osiin sovellusta.","readmeFilename":"README.md"}