sleeke 1.0.0 → 1.0.2
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/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/templates/next-app/CLAUDE.md +5 -5
- package/dist/templates/next-app/src/i18n/load-messages.ts +1 -1
- package/dist/templates/next-app/src/i18n/routing.ts +3 -3
- package/dist/templates/next-app/src/proxy.ts +6 -6
- package/package.json +4 -4
- /package/dist/templates/next-app/{luxw.json → sleeke.json} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {Command}from'commander';import {intro,select,isCancel,cancel,spinner,outro,multiselect}from'@clack/prompts';import D from'fs-extra/esm';import m from'path';import {fileURLToPath}from'url';import N from'chalk';import P from'fs-extra';import se from'crypto';import f from'fs';var Z=Object.defineProperty;var p=(t,e)=>Z(t,"name",{value:e,configurable:true});var b=[{value:"ar",label:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629"},{value:"bn",label:"\u09AC\u09BE\u0982\u09B2\u09BE"},{value:"cs-cz",label:"\u010Ce\u0161tina"},{value:"da",label:"Dansk"},{value:"de",label:"Deutsch"},{value:"el-gr",label:"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC"},{value:"en",label:"English"},{value:"es",label:"Espa\xF1ol"},{value:"fi",label:"Suomi"},{value:"fr",label:"Fran\xE7ais"},{value:"he",label:"\u05E2\u05D1\u05E8\u05D9\u05EA"},{value:"hi",label:"\u0939\u093F\u0928\u094D\u0926\u0940"},{value:"hu-hu",label:"Magyar"},{value:"id-id",label:"Indonesia"},{value:"it",label:"Italiano"},{value:"ja",label:"\u65E5\u672C\u8A9E"},{value:"ko",label:"\uD55C\uAD6D\uC5B4"},{value:"ms-my",label:"Melayu"},{value:"mr",label:"\u092E\u0930\u093E\u0920\u0940"},{value:"nl",label:"Nederlands"},{value:"no",label:"Norsk"},{value:"pa",label:"\u0A2A\u0A70\u0A1C\u0A3E\u0A2C\u0A40"},{value:"fa",label:"\u0641\u0627\u0631\u0633\u06CC"},{value:"pl",label:"Polski"},{value:"pt-br",label:"Portugu\xEAs (Brasil)"},{value:"ro-ro",label:"Rom\xE2n\u0103"},{value:"ru",label:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"},{value:"sv",label:"Svenska"},{value:"tl",label:"Tagalog"},{value:"te",label:"\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41"},{value:"th-th",label:"\u0E44\u0E17\u0E22"},{value:"tr",label:"T\xFCrk\xE7e"},{value:"uk",label:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430"},{value:"vi-vn",label:"Ti\u1EBFng Vi\u1EC7t"},{value:"zh-cn",label:"\u4E2D\u6587 (\u7B80\u4F53)"},{value:"zh-tw",label:"\u4E2D\u6587 (\u7E41\u9AD4)"}],O={ar:"\u0645\u0631\u062D\u0628\u0627\u064B",bn:"\u09B8\u09CD\u09AC\u09BE\u0997\u09A4\u09AE","cs-cz":"V\xEDtejte",da:"Velkommen",de:"Willkommen","el-gr":"\u039A\u03B1\u03BB\u03CE\u03C2 \u03AE\u03C1\u03B8\u03B1\u03C4\u03B5",en:"Welcome",es:"Bienvenido",fi:"Tervetuloa",fr:"Bienvenue",he:"\u05D1\u05E8\u05D5\u05DA \u05D4\u05D1\u05D0",hi:"\u0938\u094D\u0935\u093E\u0917\u0924 \u0939\u0948","hu-hu":"\xDCdv\xF6z\xF6lj\xFCk","id-id":"Selamat datang",it:"Benvenuto",ja:"\u3088\u3046\u3053\u305D",ko:"\uD658\uC601\uD569\uB2C8\uB2E4","ms-my":"Selamat datang",mr:"\u0938\u094D\u0935\u093E\u0917\u0924 \u0906\u0939\u0947",nl:"Welkom",no:"Velkommen",pa:"\u0A38\u0A41\u0A06\u0A17\u0A24 \u0A39\u0A48",fa:"\u062E\u0648\u0634 \u0622\u0645\u062F\u06CC\u062F",pl:"Witamy","pt-br":"Bem-vindo","ro-ro":"Bun venit",ru:"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C",sv:"V\xE4lkommen",tl:"Maligayang pagdating",te:"\u0C38\u0C4D\u0C35\u0C3E\u0C17\u0C24\u0C02","th-th":"\u0E22\u0E34\u0E19\u0E14\u0E35\u0E15\u0E49\u0E2D\u0E19\u0E23\u0E31\u0E1A",tr:"Ho\u015F geldiniz",uk:"\u041B\u0430\u0441\u043A\u0430\u0432\u043E \u043F\u0440\u043E\u0441\u0438\u043C\u043E","vi-vn":"Ch\xE0o m\u1EEBng","zh-cn":"\u6B22\u8FCE","zh-tw":"\u6B61\u8FCE"},M={ar:"\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",bn:"\u09B9\u09CB\u09AE","cs-cz":"Dom\u016F",da:"Hjem",de:"Startseite","el-gr":"\u0391\u03C1\u03C7\u03B9\u03BA\u03AE",en:"Home",es:"Inicio",fi:"Etusivu",fr:"Accueil",he:"\u05D3\u05E3 \u05D4\u05D1\u05D9\u05EA",hi:"\u0939\u094B\u092E","hu-hu":"Kezd\u0151lap","id-id":"Beranda",it:"Home",ja:"\u30DB\u30FC\u30E0",ko:"\uD648","ms-my":"Laman utama",mr:"\u092E\u0941\u0916\u092A\u0943\u0937\u094D\u0920",nl:"Home",no:"Hjem",pa:"\u0A39\u0A4B\u0A2E",fa:"\u0635\u0641\u062D\u0647 \u0627\u0635\u0644\u06CC",pl:"Strona g\u0142\xF3wna","pt-br":"In\xEDcio","ro-ro":"Acas\u0103",ru:"\u0413\u043B\u0430\u0432\u043D\u0430\u044F",sv:"Hem",tl:"Tahanan",te:"\u0C39\u0C4B\u0C2E\u0C4D","th-th":"\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E23\u0E01",tr:"Ana Sayfa",uk:"\u0413\u043E\u043B\u043E\u0432\u043D\u0430","vi-vn":"Trang ch\u1EE7","zh-cn":"\u9996\u9875","zh-tw":"\u9996\u9801"},j={ar:{"site-name":"\u0627\u0633\u0645 \u0627\u0644\u0645\u0648\u0642\u0639",description:"\u0648\u0635\u0641 \u0645\u0648\u0642\u0639 \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643",keywords:"\u0643\u0644\u0645\u0629 \u0631\u0626\u064A\u0633\u064A\u06291, \u0643\u0644\u0645\u0629 \u0631\u0626\u064A\u0633\u064A\u06292, \u0643\u0644\u0645\u0629 \u0631\u0626\u064A\u0633\u064A\u06293"},bn:{"site-name":"\u09B8\u09BE\u0987\u099F\u09C7\u09B0 \u09A8\u09BE\u09AE",description:"\u0986\u09AA\u09A8\u09BE\u09B0 \u0993\u09AF\u09BC\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7\u09B0 \u09AC\u09BF\u09AC\u09B0\u09A3",keywords:"\u0995\u09C0\u0993\u09AF\u09BC\u09BE\u09B0\u09CD\u09A11, \u0995\u09C0\u0993\u09AF\u09BC\u09BE\u09B0\u09CD\u09A12, \u0995\u09C0\u0993\u09AF\u09BC\u09BE\u09B0\u09CD\u09A13"},"cs-cz":{"site-name":"N\xE1zev webu",description:"Popis va\u0161eho webu",keywords:"kl\xED\u010Dov\xE9-slovo1, kl\xED\u010Dov\xE9-slovo2, kl\xED\u010Dov\xE9-slovo3"},da:{"site-name":"Sidenavn",description:"Beskrivelse af din hjemmeside",keywords:"n\xF8gleord1, n\xF8gleord2, n\xF8gleord3"},de:{"site-name":"Seitenname",description:"Beschreibung Ihrer Website",keywords:"Schl\xFCsselwort1, Schl\xFCsselwort2, Schl\xFCsselwort3"},"el-gr":{"site-name":"\u038C\u03BD\u03BF\u03BC\u03B1 \u0399\u03C3\u03C4\u03CC\u03C4\u03BF\u03C0\u03BF\u03C5",description:"\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE \u03C4\u03BF\u03C5 \u03B9\u03C3\u03C4\u03CC\u03C4\u03BF\u03C0\u03BF\u03CD \u03C3\u03B1\u03C2",keywords:"\u03BB\u03AD\u03BE\u03B7-\u03BA\u03BB\u03B5\u03B9\u03B4\u03AF1, \u03BB\u03AD\u03BE\u03B7-\u03BA\u03BB\u03B5\u03B9\u03B4\u03AF2, \u03BB\u03AD\u03BE\u03B7-\u03BA\u03BB\u03B5\u03B9\u03B4\u03AF3"},en:{"site-name":"Site Name",description:"Your website description",keywords:"keyword1, keyword2, keyword3"},es:{"site-name":"Nombre del Sitio",description:"Descripci\xF3n de tu sitio web",keywords:"palabra-clave1, palabra-clave2, palabra-clave3"},fi:{"site-name":"Sivuston nimi",description:"Kuvaus verkkosivustostasi",keywords:"avainsana1, avainsana2, avainsana3"},fr:{"site-name":"Nom du Site",description:"Description de votre site web",keywords:"mot-cl\xE91, mot-cl\xE92, mot-cl\xE93"},he:{"site-name":"\u05E9\u05DD \u05D4\u05D0\u05EA\u05E8",description:"\u05EA\u05D9\u05D0\u05D5\u05E8 \u05D4\u05D0\u05EA\u05E8 \u05E9\u05DC\u05DA",keywords:"\u05DE\u05D9\u05DC\u05EA \u05DE\u05E4\u05EA\u05D71, \u05DE\u05D9\u05DC\u05EA \u05DE\u05E4\u05EA\u05D72, \u05DE\u05D9\u05DC\u05EA \u05DE\u05E4\u05EA\u05D73"},hi:{"site-name":"\u0938\u093E\u0907\u091F \u0915\u093E \u0928\u093E\u092E",description:"\u0906\u092A\u0915\u0940 \u0935\u0947\u092C\u0938\u093E\u0907\u091F \u0915\u093E \u0935\u093F\u0935\u0930\u0923",keywords:"\u0915\u0940\u0935\u0930\u094D\u09211, \u0915\u0940\u0935\u0930\u094D\u09212, \u0915\u0940\u0935\u0930\u094D\u09213"},"hu-hu":{"site-name":"Webhely neve",description:"A weboldal le\xEDr\xE1sa",keywords:"kulcssz\xF31, kulcssz\xF32, kulcssz\xF33"},"id-id":{"site-name":"Nama Situs",description:"Deskripsi situs web Anda",keywords:"kata-kunci1, kata-kunci2, kata-kunci3"},it:{"site-name":"Nome del Sito",description:"Descrizione del tuo sito web",keywords:"parola-chiave1, parola-chiave2, parola-chiave3"},ja:{"site-name":"\u30B5\u30A4\u30C8\u540D",description:"\u3042\u306A\u305F\u306E\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u306E\u8AAC\u660E",keywords:"\u30AD\u30FC\u30EF\u30FC\u30C91, \u30AD\u30FC\u30EF\u30FC\u30C92, \u30AD\u30FC\u30EF\u30FC\u30C93"},ko:{"site-name":"\uC0AC\uC774\uD2B8 \uC774\uB984",description:"\uADC0\uD558\uC758 \uC6F9\uC0AC\uC774\uD2B8 \uC124\uBA85",keywords:"\uD0A4\uC6CC\uB4DC1, \uD0A4\uC6CC\uB4DC2, \uD0A4\uC6CC\uB4DC3"},"ms-my":{"site-name":"Nama Laman",description:"Penerangan laman web anda",keywords:"kata-kunci1, kata-kunci2, kata-kunci3"},mr:{"site-name":"\u0938\u093E\u0907\u091F\u091A\u0947 \u0928\u093E\u0935",description:"\u0924\u0941\u092E\u091A\u094D\u092F\u093E \u0935\u0947\u092C\u0938\u093E\u0907\u091F\u091A\u0947 \u0935\u0930\u094D\u0923\u0928",keywords:"\u0915\u0940\u0935\u0930\u094D\u09211, \u0915\u0940\u0935\u0930\u094D\u09212, \u0915\u0940\u0935\u0930\u094D\u09213"},nl:{"site-name":"Sitenaam",description:"Beschrijving van uw website",keywords:"trefwoord1, trefwoord2, trefwoord3"},no:{"site-name":"Sidenavn",description:"Beskrivelse av nettstedet ditt",keywords:"n\xF8kkelord1, n\xF8kkelord2, n\xF8kkelord3"},pa:{"site-name":"\u0A38\u0A3E\u0A08\u0A1F \u0A26\u0A3E \u0A28\u0A3E\u0A02",description:"\u0A24\u0A41\u0A39\u0A3E\u0A21\u0A40 \u0A35\u0A48\u0A71\u0A2C\u0A38\u0A3E\u0A08\u0A1F \u0A26\u0A3E \u0A35\u0A47\u0A30\u0A35\u0A3E",keywords:"\u0A15\u0A40\u0A35\u0A30\u0A211, \u0A15\u0A40\u0A35\u0A30\u0A212, \u0A15\u0A40\u0A35\u0A30\u0A213"},fa:{"site-name":"\u0646\u0627\u0645 \u0633\u0627\u06CC\u062A",description:"\u062A\u0648\u0636\u06CC\u062D \u0648\u0628\u0633\u0627\u06CC\u062A \u0634\u0645\u0627",keywords:"\u06A9\u0644\u0645\u0647 \u06A9\u0644\u06CC\u062F\u06CC1, \u06A9\u0644\u0645\u0647 \u06A9\u0644\u06CC\u062F\u06CC2, \u06A9\u0644\u0645\u0647 \u06A9\u0644\u06CC\u062F\u06CC3"},pl:{"site-name":"Nazwa strony",description:"Opis Twojej strony internetowej",keywords:"s\u0142owo-kluczowe1, s\u0142owo-kluczowe2, s\u0142owo-kluczowe3"},"pt-br":{"site-name":"Nome do Site",description:"Descri\xE7\xE3o do seu site",keywords:"palavra-chave1, palavra-chave2, palavra-chave3"},"ro-ro":{"site-name":"Numele site-ului",description:"Descrierea site-ului dvs.",keywords:"cuv\xE2nt-cheie1, cuv\xE2nt-cheie2, cuv\xE2nt-cheie3"},ru:{"site-name":"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0430\u0439\u0442\u0430",description:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0430\u0439\u0442\u0430",keywords:"\u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0435-\u0441\u043B\u043E\u0432\u043E1, \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0435-\u0441\u043B\u043E\u0432\u043E2, \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0435-\u0441\u043B\u043E\u0432\u043E3"},sv:{"site-name":"Webbplatsens namn",description:"Beskrivning av din webbplats",keywords:"nyckelord1, nyckelord2, nyckelord3"},tl:{"site-name":"Pangalan ng site",description:"Paglalarawan ng iyong website",keywords:"keyword1, keyword2, keyword3"},te:{"site-name":"\u0C38\u0C48\u0C1F\u0C4D \u0C2A\u0C47\u0C30\u0C41",description:"\u0C2E\u0C40 \u0C35\u0C46\u0C2C\u0C4D\u200C\u0C38\u0C48\u0C1F\u0C4D \u0C35\u0C3F\u0C35\u0C30\u0C23",keywords:"\u0C15\u0C40\u0C35\u0C30\u0C4D\u0C21\u0C4D1, \u0C15\u0C40\u0C35\u0C30\u0C4D\u0C21\u0C4D2, \u0C15\u0C40\u0C35\u0C30\u0C4D\u0C21\u0C4D3"},"th-th":{"site-name":"\u0E0A\u0E37\u0E48\u0E2D\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E0B\u0E15\u0E4C",description:"\u0E04\u0E33\u0E2D\u0E18\u0E34\u0E1A\u0E32\u0E22\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E0B\u0E15\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",keywords:"\u0E04\u0E33\u0E2B\u0E25\u0E31\u0E011, \u0E04\u0E33\u0E2B\u0E25\u0E31\u0E012, \u0E04\u0E33\u0E2B\u0E25\u0E31\u0E013"},tr:{"site-name":"Site Ad\u0131",description:"Web sitenizin a\xE7\u0131klamas\u0131",keywords:"anahtar-kelime1, anahtar-kelime2, anahtar-kelime3"},uk:{"site-name":"\u041D\u0430\u0437\u0432\u0430 \u0441\u0430\u0439\u0442\u0443",description:"\u041E\u043F\u0438\u0441 \u0432\u0430\u0448\u043E\u0433\u043E \u0432\u0435\u0431\u0441\u0430\u0439\u0442\u0443",keywords:"\u043A\u043B\u044E\u0447\u043E\u0432\u0435-\u0441\u043B\u043E\u0432\u043E1, \u043A\u043B\u044E\u0447\u043E\u0432\u0435-\u0441\u043B\u043E\u0432\u043E2, \u043A\u043B\u044E\u0447\u043E\u0432\u0435-\u0441\u043B\u043E\u0432\u043E3"},"vi-vn":{"site-name":"T\xEAn trang web",description:"M\xF4 t\u1EA3 trang web c\u1EE7a b\u1EA1n",keywords:"t\u1EEB-kh\xF3a1, t\u1EEB-kh\xF3a2, t\u1EEB-kh\xF3a3"},"zh-cn":{"site-name":"\u7F51\u7AD9\u540D\u79F0",description:"\u60A8\u7684\u7F51\u7AD9\u63CF\u8FF0",keywords:"\u5173\u952E\u8BCD1, \u5173\u952E\u8BCD2, \u5173\u952E\u8BCD3"},"zh-tw":{"site-name":"\u7DB2\u7AD9\u540D\u7A31",description:"\u60A8\u7684\u7DB2\u7AD9\u63CF\u8FF0",keywords:"\u95DC\u9375\u5B571, \u95DC\u9375\u5B572, \u95DC\u9375\u5B573"}},$={ar:{notFoundTitle:"\u0627\u0644\u0635\u0641\u062D\u0629 \u063A\u064A\u0631 \u0645\u0648\u062C\u0648\u062F\u0629",notFoundDescription:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u062A\u064A \u062A\u0628\u062D\u062B \u0639\u0646\u0647\u0627 \u063A\u064A\u0631 \u0645\u0648\u062C\u0648\u062F\u0629.",notFoundAction:"\u0627\u0644\u0639\u0648\u062F\u0629 \u0625\u0644\u0649 \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",localeNotSupportedTitle:"\u0627\u0644\u0644\u063A\u0629 \u063A\u064A\u0631 \u0645\u062F\u0639\u0648\u0645\u0629",localeNotSupportedDescription:"\u0627\u0644\u0644\u063A\u0629 \u0627\u0644\u062A\u064A \u0627\u062E\u062A\u0631\u062A\u0647\u0627 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631\u0629 \u0628\u0639\u062F.",localeNotSupportedAction:"\u0627\u0644\u0639\u0648\u062F\u0629 \u0625\u0644\u0649 \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",internalTitle:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0645\u0627",internalDescription:"\u062D\u062F\u062B \u062E\u0637\u0623 \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639.",tryAgain:"\u062D\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649"},bn:{notFoundTitle:"\u09AA\u09C3\u09B7\u09CD\u09A0\u09BE\u099F\u09BF \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF",notFoundDescription:"\u0986\u09AA\u09A8\u09BF \u09AF\u09C7 \u09AA\u09C3\u09B7\u09CD\u09A0\u09BE\u099F\u09BF \u0996\u09C1\u0981\u099C\u099B\u09C7\u09A8 \u09A4\u09BE \u09AC\u09BF\u09A6\u09CD\u09AF\u09AE\u09BE\u09A8 \u09A8\u09C7\u0987\u0964",notFoundAction:"\u09B9\u09CB\u09AE\u09C7 \u09AF\u09BE\u09A8",localeNotSupportedTitle:"\u09AD\u09BE\u09B7\u09BE \u09B8\u09AE\u09B0\u09CD\u09A5\u09BF\u09A4 \u09A8\u09AF\u09BC",localeNotSupportedDescription:"\u0986\u09AA\u09A8\u09BE\u09B0 \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4 \u09AD\u09BE\u09B7\u09BE\u099F\u09BF \u098F\u0996\u09A8\u0993 \u0989\u09AA\u09B2\u09AC\u09CD\u09A7 \u09A8\u09AF\u09BC\u0964",localeNotSupportedAction:"\u09B9\u09CB\u09AE\u09C7 \u09AF\u09BE\u09A8",internalTitle:"\u0995\u09BF\u099B\u09C1 \u09AD\u09C1\u09B2 \u09B9\u09AF\u09BC\u09C7\u099B\u09C7",internalDescription:"\u098F\u0995\u099F\u09BF \u0985\u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 \u09A4\u09CD\u09B0\u09C1\u099F\u09BF \u0998\u099F\u09C7\u099B\u09C7\u0964",tryAgain:"\u0986\u09AC\u09BE\u09B0 \u099A\u09C7\u09B7\u09CD\u099F\u09BE \u0995\u09B0\u09C1\u09A8"},"cs-cz":{notFoundTitle:"Str\xE1nka nenalezena",notFoundDescription:"Str\xE1nka, kterou hled\xE1te, neexistuje.",notFoundAction:"Dom\u016F",localeNotSupportedTitle:"Jazyk nen\xED podporov\xE1n",localeNotSupportedDescription:"V\xE1mi vybran\xFD jazyk je\u0161t\u011B nen\xED k dispozici.",localeNotSupportedAction:"Dom\u016F",internalTitle:"N\u011Bco se pokazilo",internalDescription:"Do\u0161lo k neo\u010Dek\xE1van\xE9 chyb\u011B.",tryAgain:"Zkusit znovu"},da:{notFoundTitle:"Siden blev ikke fundet",notFoundDescription:"Den side, du leder efter, findes ikke.",notFoundAction:"G\xE5 til forsiden",localeNotSupportedTitle:"Sprog underst\xF8ttes ikke",localeNotSupportedDescription:"Det valgte sprog er endnu ikke tilg\xE6ngeligt.",localeNotSupportedAction:"G\xE5 til forsiden",internalTitle:"Noget gik galt",internalDescription:"Der opstod en uventet fejl.",tryAgain:"Pr\xF8v igen"},de:{notFoundTitle:"Seite nicht gefunden",notFoundDescription:"Die von Ihnen gesuchte Seite existiert nicht.",notFoundAction:"Zur Startseite",localeNotSupportedTitle:"Sprache nicht unterst\xFCtzt",localeNotSupportedDescription:"Die ausgew\xE4hlte Sprache ist noch nicht verf\xFCgbar.",localeNotSupportedAction:"Zur Startseite",internalTitle:"Etwas ist schiefgelaufen",internalDescription:"Ein unerwarteter Fehler ist aufgetreten.",tryAgain:"Erneut versuchen"},"el-gr":{notFoundTitle:"\u0397 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5",notFoundDescription:"\u0397 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03BD\u03B1\u03B6\u03B7\u03C4\u03AC\u03C4\u03B5 \u03B4\u03B5\u03BD \u03C5\u03C0\u03AC\u03C1\u03C7\u03B5\u03B9.",notFoundAction:"\u03A0\u03B7\u03B3\u03B1\u03AF\u03BD\u03B5\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B1\u03C1\u03C7\u03B9\u03BA\u03AE",localeNotSupportedTitle:"\u0397 \u03B3\u03BB\u03CE\u03C3\u03C3\u03B1 \u03B4\u03B5\u03BD \u03C5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03C4\u03B1\u03B9",localeNotSupportedDescription:"\u0397 \u03B3\u03BB\u03CE\u03C3\u03C3\u03B1 \u03C0\u03BF\u03C5 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B1\u03C4\u03B5 \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B1\u03BA\u03CC\u03BC\u03B1 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B7.",localeNotSupportedAction:"\u03A0\u03B7\u03B3\u03B1\u03AF\u03BD\u03B5\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B1\u03C1\u03C7\u03B9\u03BA\u03AE",internalTitle:"\u039A\u03AC\u03C4\u03B9 \u03C0\u03AE\u03B3\u03B5 \u03C3\u03C4\u03C1\u03B1\u03B2\u03AC",internalDescription:"\u03A0\u03C1\u03BF\u03AD\u03BA\u03C5\u03C8\u03B5 \u03AD\u03BD\u03B1 \u03B1\u03C0\u03C1\u03CC\u03C3\u03BC\u03B5\u03BD\u03BF \u03C3\u03C6\u03AC\u03BB\u03BC\u03B1.",tryAgain:"\u03A0\u03C1\u03BF\u03C3\u03C0\u03B1\u03B8\u03AE\u03C3\u03C4\u03B5 \u03BE\u03B1\u03BD\u03AC"},en:{notFoundTitle:"Page not found",notFoundDescription:"The page you're looking for doesn't exist.",notFoundAction:"Go home",localeNotSupportedTitle:"Locale not supported",localeNotSupportedDescription:"The language you selected is not yet available.",localeNotSupportedAction:"Go home",internalTitle:"Something went wrong",internalDescription:"An unexpected error occurred.",tryAgain:"Try again"},es:{notFoundTitle:"P\xE1gina no encontrada",notFoundDescription:"La p\xE1gina que buscas no existe.",notFoundAction:"Ir a inicio",localeNotSupportedTitle:"Idioma no compatible",localeNotSupportedDescription:"El idioma seleccionado a\xFAn no est\xE1 disponible.",localeNotSupportedAction:"Ir a inicio",internalTitle:"Algo sali\xF3 mal",internalDescription:"Ocurri\xF3 un error inesperado.",tryAgain:"Intentar de nuevo"},fi:{notFoundTitle:"Sivua ei l\xF6ydy",notFoundDescription:"Hakemaasi sivua ei ole olemassa.",notFoundAction:"Mene etusivulle",localeNotSupportedTitle:"Kielt\xE4 ei tueta",localeNotSupportedDescription:"Valitsemasi kieli ei ole viel\xE4 saatavilla.",localeNotSupportedAction:"Mene etusivulle",internalTitle:"Jotain meni pieleen",internalDescription:"Tapahtui odottamaton virhe.",tryAgain:"Yrit\xE4 uudelleen"},fr:{notFoundTitle:"Page non trouv\xE9e",notFoundDescription:"La page que vous cherchez n'existe pas.",notFoundAction:"Accueil",localeNotSupportedTitle:"Langue non prise en charge",localeNotSupportedDescription:"La langue s\xE9lectionn\xE9e n'est pas encore disponible.",localeNotSupportedAction:"Accueil",internalTitle:"Quelque chose s'est mal pass\xE9",internalDescription:"Une erreur inattendue s'est produite.",tryAgain:"R\xE9essayer"},he:{notFoundTitle:"\u05D4\u05D3\u05E3 \u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0",notFoundDescription:"\u05D4\u05D3\u05E3 \u05E9\u05D0\u05EA\u05D4 \u05DE\u05D7\u05E4\u05E9 \u05D0\u05D9\u05E0\u05D5 \u05E7\u05D9\u05D9\u05DD.",notFoundAction:"\u05E2\u05DE\u05D5\u05D3 \u05D4\u05D1\u05D9\u05EA",localeNotSupportedTitle:"\u05D4\u05E9\u05E4\u05D4 \u05D0\u05D9\u05E0\u05D4 \u05E0\u05EA\u05DE\u05DB\u05EA",localeNotSupportedDescription:"\u05D4\u05E9\u05E4\u05D4 \u05E9\u05D1\u05D7\u05E8\u05EA \u05E2\u05D3\u05D9\u05D9\u05DF \u05DC\u05D0 \u05D6\u05DE\u05D9\u05E0\u05D4.",localeNotSupportedAction:"\u05E2\u05DE\u05D5\u05D3 \u05D4\u05D1\u05D9\u05EA",internalTitle:"\u05DE\u05E9\u05D4\u05D5 \u05D4\u05E9\u05EA\u05D1\u05E9",internalDescription:"\u05D0\u05D9\u05E8\u05E2\u05D4 \u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05DC\u05EA\u05D9 \u05E6\u05E4\u05D5\u05D9\u05D4.",tryAgain:"\u05E0\u05E1\u05D4 \u05E9\u05D5\u05D1"},hi:{notFoundTitle:"\u092A\u0947\u091C \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",notFoundDescription:"\u0906\u092A \u091C\u093F\u0938 \u092A\u0947\u091C \u0915\u0940 \u0924\u0932\u093E\u0936 \u0915\u0930 \u0930\u0939\u0947 \u0939\u0948\u0902 \u0935\u0939 \u092E\u094C\u091C\u0942\u0926 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",notFoundAction:"\u0939\u094B\u092E \u092A\u0930 \u091C\u093E\u090F\u0902",localeNotSupportedTitle:"\u092D\u093E\u0937\u093E \u0938\u092E\u0930\u094D\u0925\u093F\u0924 \u0928\u0939\u0940\u0902 \u0939\u0948",localeNotSupportedDescription:"\u0906\u092A\u0915\u0947 \u0926\u094D\u0935\u093E\u0930\u093E \u091A\u0941\u0928\u0940 \u0917\u0908 \u092D\u093E\u0937\u093E \u0905\u092D\u0940 \u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",localeNotSupportedAction:"\u0939\u094B\u092E \u092A\u0930 \u091C\u093E\u090F\u0902",internalTitle:"\u0915\u0941\u091B \u0917\u0932\u0924 \u0939\u094B \u0917\u092F\u093E",internalDescription:"\u090F\u0915 \u0905\u092A\u094D\u0930\u0924\u094D\u092F\u093E\u0936\u093F\u0924 \u0924\u094D\u0930\u0941\u091F\u093F \u0939\u0941\u0908\u0964",tryAgain:"\u092A\u0941\u0928\u0903 \u092A\u094D\u0930\u092F\u093E\u0938 \u0915\u0930\u0947\u0902"},"hu-hu":{notFoundTitle:"Az oldal nem tal\xE1lhat\xF3",notFoundDescription:"A keresett oldal nem l\xE9tezik.",notFoundAction:"Ugr\xE1s a kezd\u0151lapra",localeNotSupportedTitle:"A nyelv nem t\xE1mogatott",localeNotSupportedDescription:"A kiv\xE1lasztott nyelv m\xE9g nem \xE9rhet\u0151 el.",localeNotSupportedAction:"Ugr\xE1s a kezd\u0151lapra",internalTitle:"Valami hiba t\xF6rt\xE9nt",internalDescription:"V\xE1ratlan hiba t\xF6rt\xE9nt.",tryAgain:"Pr\xF3b\xE1lja \xFAjra"},"id-id":{notFoundTitle:"Halaman tidak ditemukan",notFoundDescription:"Halaman yang Anda cari tidak ada.",notFoundAction:"Ke beranda",localeNotSupportedTitle:"Bahasa tidak didukung",localeNotSupportedDescription:"Bahasa yang Anda pilih belum tersedia.",localeNotSupportedAction:"Ke beranda",internalTitle:"Terjadi kesalahan",internalDescription:"Terjadi kesalahan yang tidak terduga.",tryAgain:"Coba lagi"},it:{notFoundTitle:"Pagina non trovata",notFoundDescription:"La pagina che cerchi non esiste.",notFoundAction:"Vai alla home",localeNotSupportedTitle:"Lingua non supportata",localeNotSupportedDescription:"La lingua selezionata non \xE8 ancora disponibile.",localeNotSupportedAction:"Vai alla home",internalTitle:"Qualcosa \xE8 andato storto",internalDescription:"Si \xE8 verificato un errore imprevisto.",tryAgain:"Riprova"},ja:{notFoundTitle:"\u30DA\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",notFoundDescription:"\u304A\u63A2\u3057\u306E\u30DA\u30FC\u30B8\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002",notFoundAction:"\u30DB\u30FC\u30E0\u306B\u623B\u308B",localeNotSupportedTitle:"\u8A00\u8A9E\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093",localeNotSupportedDescription:"\u9078\u629E\u3057\u305F\u8A00\u8A9E\u306F\u307E\u3060\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002",localeNotSupportedAction:"\u30DB\u30FC\u30E0\u306B\u623B\u308B",internalTitle:"\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F",internalDescription:"\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002",tryAgain:"\u518D\u8A66\u884C"},ko:{notFoundTitle:"\uD398\uC774\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",notFoundDescription:"\uCC3E\uACE0 \uACC4\uC2E0 \uD398\uC774\uC9C0\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",notFoundAction:"\uD648\uC73C\uB85C \uAC00\uAE30",localeNotSupportedTitle:"\uC5B8\uC5B4\uAC00 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",localeNotSupportedDescription:"\uC120\uD0DD\uD55C \uC5B8\uC5B4\uB97C \uC544\uC9C1 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",localeNotSupportedAction:"\uD648\uC73C\uB85C \uAC00\uAE30",internalTitle:"\uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4",internalDescription:"\uC608\uC0C1\uCE58 \uBABB\uD55C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.",tryAgain:"\uB2E4\uC2DC \uC2DC\uB3C4"},"ms-my":{notFoundTitle:"Halaman tidak dijumpai",notFoundDescription:"Halaman yang anda cari tidak wujud.",notFoundAction:"Ke laman utama",localeNotSupportedTitle:"Bahasa tidak disokong",localeNotSupportedDescription:"Bahasa yang anda pilih belum tersedia.",localeNotSupportedAction:"Ke laman utama",internalTitle:"Sesuatu telah berlaku",internalDescription:"Ralat tidak dijangka berlaku.",tryAgain:"Cuba lagi"},mr:{notFoundTitle:"\u092A\u0943\u0937\u094D\u0920 \u0938\u093E\u092A\u0921\u0932\u0947 \u0928\u093E\u0939\u0940",notFoundDescription:"\u0924\u0941\u092E\u094D\u0939\u0940 \u0936\u094B\u0927\u0924 \u0905\u0938\u0932\u0947\u0932\u0947 \u092A\u0943\u0937\u094D\u0920 \u0905\u0938\u094D\u0924\u093F\u0924\u094D\u0935\u093E\u0924 \u0928\u093E\u0939\u0940.",notFoundAction:"\u092E\u0941\u0916\u092A\u0943\u0937\u094D\u0920\u093E\u0935\u0930 \u091C\u093E",localeNotSupportedTitle:"\u092D\u093E\u0937\u093E \u0938\u092E\u0930\u094D\u0925\u093F\u0924 \u0928\u093E\u0939\u0940",localeNotSupportedDescription:"\u0924\u0941\u092E\u094D\u0939\u0940 \u0928\u093F\u0935\u0921\u0932\u0947\u0932\u0940 \u092D\u093E\u0937\u093E \u0905\u0926\u094D\u092F\u093E\u092A \u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u093E\u0939\u0940.",localeNotSupportedAction:"\u092E\u0941\u0916\u092A\u0943\u0937\u094D\u0920\u093E\u0935\u0930 \u091C\u093E",internalTitle:"\u0915\u093E\u0939\u0940\u0924\u0930\u0940 \u091A\u0942\u0915 \u091D\u093E\u0932\u0940",internalDescription:"\u090F\u0915 \u0905\u0928\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0924\u094D\u0930\u0941\u091F\u0940 \u0906\u0932\u0940.",tryAgain:"\u092A\u0941\u0928\u094D\u0939\u093E \u092A\u094D\u0930\u092F\u0924\u094D\u0928 \u0915\u0930\u093E"},nl:{notFoundTitle:"Pagina niet gevonden",notFoundDescription:"De pagina die u zoekt bestaat niet.",notFoundAction:"Naar home",localeNotSupportedTitle:"Taal niet ondersteund",localeNotSupportedDescription:"De geselecteerde taal is nog niet beschikbaar.",localeNotSupportedAction:"Naar home",internalTitle:"Er is iets misgegaan",internalDescription:"Er is een onverwachte fout opgetreden.",tryAgain:"Probeer opnieuw"},no:{notFoundTitle:"Siden ble ikke funnet",notFoundDescription:"Siden du leter etter finnes ikke.",notFoundAction:"G\xE5 til hjem",localeNotSupportedTitle:"Spr\xE5k st\xF8ttes ikke",localeNotSupportedDescription:"Det valgte spr\xE5ket er enn\xE5 ikke tilgjengelig.",localeNotSupportedAction:"G\xE5 til hjem",internalTitle:"Noe gikk galt",internalDescription:"Det oppsto en uventet feil.",tryAgain:"Pr\xF8v p\xE5 nytt"},pa:{notFoundTitle:"\u0A2A\u0A47\u0A1C \u0A28\u0A39\u0A40\u0A02 \u0A2E\u0A3F\u0A32\u0A3F\u0A06",notFoundDescription:"\u0A1C\u0A3F\u0A38 \u0A2A\u0A47\u0A1C \u0A26\u0A40 \u0A24\u0A41\u0A38\u0A40\u0A02 \u0A2D\u0A3E\u0A32 \u0A15\u0A30 \u0A30\u0A39\u0A47 \u0A39\u0A4B \u0A09\u0A39 \u0A2E\u0A4C\u0A1C\u0A42\u0A26 \u0A28\u0A39\u0A40\u0A02 \u0A39\u0A48\u0964",notFoundAction:"\u0A39\u0A4B\u0A2E \u0A24\u0A47 \u0A1C\u0A3E\u0A13",localeNotSupportedTitle:"\u0A2D\u0A3E\u0A38\u0A3C\u0A3E \u0A38\u0A2E\u0A30\u0A25\u0A3F\u0A24 \u0A28\u0A39\u0A40\u0A02 \u0A39\u0A48",localeNotSupportedDescription:"\u0A24\u0A41\u0A39\u0A3E\u0A21\u0A47 \u0A26\u0A41\u0A06\u0A30\u0A3E \u0A1A\u0A41\u0A23\u0A40 \u0A17\u0A08 \u0A2D\u0A3E\u0A38\u0A3C\u0A3E \u0A05\u0A1C\u0A47 \u0A09\u0A2A\u0A32\u0A2C\u0A27 \u0A28\u0A39\u0A40\u0A02 \u0A39\u0A48\u0964",localeNotSupportedAction:"\u0A39\u0A4B\u0A2E \u0A24\u0A47 \u0A1C\u0A3E\u0A13",internalTitle:"\u0A15\u0A41\u0A1D \u0A17\u0A32\u0A24 \u0A39\u0A4B \u0A17\u0A3F\u0A06",internalDescription:"\u0A07\u0A71\u0A15 \u0A05\u0A1A\u0A3E\u0A28\u0A15 \u0A17\u0A5C\u0A2C\u0A5C\u0A40 \u0A35\u0A3E\u0A2A\u0A30 \u0A17\u0A08\u0964",tryAgain:"\u0A2E\u0A41\u0A5C \u0A15\u0A4B\u0A38\u0A3C\u0A3F\u0A38\u0A3C \u0A15\u0A30\u0A4B"},fa:{notFoundTitle:"\u0635\u0641\u062D\u0647 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F",notFoundDescription:"\u0635\u0641\u062D\u0647\u200C\u0627\u06CC \u06A9\u0647 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u0622\u0646 \u0647\u0633\u062A\u06CC\u062F \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F.",notFoundAction:"\u0628\u0631\u0648 \u0628\u0647 \u062E\u0627\u0646\u0647",localeNotSupportedTitle:"\u0632\u0628\u0627\u0646 \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u0634\u0648\u062F",localeNotSupportedDescription:"\u0632\u0628\u0627\u0646\u06CC \u06A9\u0647 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0631\u062F\u0647\u200C\u0627\u06CC\u062F \u0647\u0646\u0648\u0632 \u062F\u0631 \u062F\u0633\u062A\u0631\u0633 \u0646\u06CC\u0633\u062A.",localeNotSupportedAction:"\u0628\u0631\u0648 \u0628\u0647 \u062E\u0627\u0646\u0647",internalTitle:"\u0645\u0634\u06A9\u0644\u06CC \u067E\u06CC\u0634 \u0622\u0645\u062F",internalDescription:"\u062E\u0637\u0627\u06CC \u063A\u06CC\u0631\u0645\u0646\u062A\u0638\u0631\u0647\u200C\u0627\u06CC \u0631\u062E \u062F\u0627\u062F.",tryAgain:"\u062F\u0648\u0628\u0627\u0631\u0647 \u062A\u0644\u0627\u0634 \u06A9\u0646\u06CC\u062F"},pl:{notFoundTitle:"Strona nie znaleziona",notFoundDescription:"Strona, kt\xF3rej szukasz, nie istnieje.",notFoundAction:"Przejd\u017A do strony g\u0142\xF3wnej",localeNotSupportedTitle:"J\u0119zyk nie jest obs\u0142ugiwany",localeNotSupportedDescription:"Wybrany j\u0119zyk nie jest jeszcze dost\u0119pny.",localeNotSupportedAction:"Przejd\u017A do strony g\u0142\xF3wnej",internalTitle:"Co\u015B posz\u0142o nie tak",internalDescription:"Wyst\u0105pi\u0142 nieoczekiwany b\u0142\u0105d.",tryAgain:"Spr\xF3buj ponownie"},"pt-br":{notFoundTitle:"P\xE1gina n\xE3o encontrada",notFoundDescription:"A p\xE1gina que voc\xEA procura n\xE3o existe.",notFoundAction:"Ir para o in\xEDcio",localeNotSupportedTitle:"Idioma n\xE3o suportado",localeNotSupportedDescription:"O idioma selecionado ainda n\xE3o est\xE1 dispon\xEDvel.",localeNotSupportedAction:"Ir para o in\xEDcio",internalTitle:"Algo deu errado",internalDescription:"Ocorreu um erro inesperado.",tryAgain:"Tentar novamente"},"ro-ro":{notFoundTitle:"Pagina nu a fost g\u0103sit\u0103",notFoundDescription:"Pagina pe care o c\u0103uta\u021Bi nu exist\u0103.",notFoundAction:"Mergi la pagina principal\u0103",localeNotSupportedTitle:"Limba nu este acceptat\u0103",localeNotSupportedDescription:"Limba selectat\u0103 nu este \xEEnc\u0103 disponibil\u0103.",localeNotSupportedAction:"Mergi la pagina principal\u0103",internalTitle:"Ceva a mers prost",internalDescription:"A ap\u0103rut o eroare nea\u0219teptat\u0103.",tryAgain:"\xCEncerca\u021Bi din nou"},ru:{notFoundTitle:"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430",notFoundDescription:"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0432\u044B \u0438\u0449\u0435\u0442\u0435, \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.",notFoundAction:"\u041D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E",localeNotSupportedTitle:"\u042F\u0437\u044B\u043A \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",localeNotSupportedDescription:"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u044F\u0437\u044B\u043A \u0435\u0449\u0435 \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.",localeNotSupportedAction:"\u041D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E",internalTitle:"\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A",internalDescription:"\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043D\u0435\u043E\u0436\u0438\u0434\u0430\u043D\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430.",tryAgain:"\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430"},sv:{notFoundTitle:"Sidan hittades inte",notFoundDescription:"Sidan du letar efter finns inte.",notFoundAction:"G\xE5 till hem",localeNotSupportedTitle:"Spr\xE5ket st\xF6ds inte",localeNotSupportedDescription:"Det valda spr\xE5ket \xE4r \xE4nnu inte tillg\xE4ngligt.",localeNotSupportedAction:"G\xE5 till hem",internalTitle:"N\xE5got gick fel",internalDescription:"Ett ov\xE4ntat fel intr\xE4ffade.",tryAgain:"F\xF6rs\xF6k igen"},tl:{notFoundTitle:"Hindi nahanap ang pahina",notFoundDescription:"Ang pahina na iyong hinahanap ay hindi umiiral.",notFoundAction:"Pumunta sa bahay",localeNotSupportedTitle:"Hindi suportado ang wika",localeNotSupportedDescription:"Ang wikang iyong pinili ay hindi pa available.",localeNotSupportedAction:"Pumunta sa bahay",internalTitle:"May maling nangyari",internalDescription:"Isang hindi inaasahang error ang nangyari.",tryAgain:"Subukan muli"},te:{notFoundTitle:"\u0C2A\u0C47\u0C1C\u0C40 \u0C15\u0C28\u0C41\u0C17\u0C4A\u0C28\u0C2C\u0C21\u0C32\u0C47\u0C26\u0C41",notFoundDescription:"\u0C2E\u0C40\u0C30\u0C41 \u0C35\u0C46\u0C24\u0C41\u0C15\u0C41\u0C24\u0C41\u0C28\u0C4D\u0C28 \u0C2A\u0C47\u0C1C\u0C40 \u0C09\u0C28\u0C3F\u0C15\u0C3F\u0C32\u0C4B \u0C32\u0C47\u0C26\u0C41.",notFoundAction:"\u0C39\u0C4B\u0C2E\u0C4D\u200C\u0C15\u0C41 \u0C35\u0C46\u0C33\u0C4D\u0C33\u0C02\u0C21\u0C3F",localeNotSupportedTitle:"\u0C2D\u0C3E\u0C37 \u0C2E\u0C26\u0C4D\u0C26\u0C24\u0C41 \u0C32\u0C47\u0C26\u0C41",localeNotSupportedDescription:"\u0C2E\u0C40\u0C30\u0C41 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C41\u0C28\u0C4D\u0C28 \u0C2D\u0C3E\u0C37 \u0C07\u0C02\u0C15\u0C3E \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B \u0C32\u0C47\u0C26\u0C41.",localeNotSupportedAction:"\u0C39\u0C4B\u0C2E\u0C4D\u200C\u0C15\u0C41 \u0C35\u0C46\u0C33\u0C4D\u0C33\u0C02\u0C21\u0C3F",internalTitle:"\u0C0F\u0C26\u0C4B \u0C24\u0C2A\u0C4D\u0C2A\u0C41 \u0C1C\u0C30\u0C3F\u0C17\u0C3F\u0C02\u0C26\u0C3F",internalDescription:"\u0C0A\u0C39\u0C3F\u0C02\u0C1A\u0C28\u0C3F \u0C32\u0C4B\u0C2A\u0C02 \u0C38\u0C02\u0C2D\u0C35\u0C3F\u0C02\u0C1A\u0C3F\u0C02\u0C26\u0C3F.",tryAgain:"\u0C2E\u0C33\u0C4D\u0C33\u0C40 \u0C2A\u0C4D\u0C30\u0C2F\u0C24\u0C4D\u0C28\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F"},"th-th":{notFoundTitle:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E2B\u0E19\u0E49\u0E32",notFoundDescription:"\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E01\u0E33\u0E25\u0E31\u0E07\u0E21\u0E2D\u0E07\u0E2B\u0E32\u0E44\u0E21\u0E48\u0E21\u0E35\u0E2D\u0E22\u0E39\u0E48",notFoundAction:"\u0E01\u0E25\u0E31\u0E1A\u0E44\u0E1B\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E23\u0E01",localeNotSupportedTitle:"\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E20\u0E32\u0E29\u0E32",localeNotSupportedDescription:"\u0E20\u0E32\u0E29\u0E32\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19",localeNotSupportedAction:"\u0E01\u0E25\u0E31\u0E1A\u0E44\u0E1B\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E23\u0E01",internalTitle:"\u0E40\u0E01\u0E34\u0E14\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14",internalDescription:"\u0E40\u0E01\u0E34\u0E14\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E04\u0E32\u0E14\u0E04\u0E34\u0E14",tryAgain:"\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07"},tr:{notFoundTitle:"Sayfa bulunamad\u0131",notFoundDescription:"Arad\u0131\u011F\u0131n\u0131z sayfa mevcut de\u011Fil.",notFoundAction:"Ana sayfaya git",localeNotSupportedTitle:"Dil desteklenmiyor",localeNotSupportedDescription:"Se\xE7ti\u011Finiz dil hen\xFCz mevcut de\u011Fil.",localeNotSupportedAction:"Ana sayfaya git",internalTitle:"Bir \u015Feyler yanl\u0131\u015F gitti",internalDescription:"Beklenmeyen bir hata olu\u015Ftu.",tryAgain:"Tekrar dene"},uk:{notFoundTitle:"\u0421\u0442\u043E\u0440\u0456\u043D\u043A\u0443 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E",notFoundDescription:"\u0421\u0442\u043E\u0440\u0456\u043D\u043A\u0430, \u044F\u043A\u0443 \u0432\u0438 \u0448\u0443\u043A\u0430\u0454\u0442\u0435, \u043D\u0435 \u0456\u0441\u043D\u0443\u0454.",notFoundAction:"\u041D\u0430 \u0433\u043E\u043B\u043E\u0432\u043D\u0443",localeNotSupportedTitle:"\u041C\u043E\u0432\u0430 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F",localeNotSupportedDescription:"\u0412\u0438\u0431\u0440\u0430\u043D\u0430 \u043C\u043E\u0432\u0430 \u0449\u0435 \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430.",localeNotSupportedAction:"\u041D\u0430 \u0433\u043E\u043B\u043E\u0432\u043D\u0443",internalTitle:"\u0429\u043E\u0441\u044C \u043F\u0456\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A",internalDescription:"\u0421\u0442\u0430\u043B\u0430\u0441\u044F \u043D\u0435\u043E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430.",tryAgain:"\u0421\u043F\u0440\u043E\u0431\u0443\u0432\u0430\u0442\u0438 \u0437\u043D\u043E\u0432\u0443"},"vi-vn":{notFoundTitle:"Trang kh\xF4ng t\xECm th\u1EA5y",notFoundDescription:"Trang b\u1EA1n \u0111ang t\xECm ki\u1EBFm kh\xF4ng t\u1ED3n t\u1EA1i.",notFoundAction:"V\u1EC1 trang ch\u1EE7",localeNotSupportedTitle:"Ng\xF4n ng\u1EEF kh\xF4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",localeNotSupportedDescription:"Ng\xF4n ng\u1EEF b\u1EA1n ch\u1ECDn ch\u01B0a c\xF3 s\u1EB5n.",localeNotSupportedAction:"V\u1EC1 trang ch\u1EE7",internalTitle:"\u0110\xE3 x\u1EA3y ra l\u1ED7i",internalDescription:"\u0110\xE3 x\u1EA3y ra l\u1ED7i kh\xF4ng mong \u0111\u1EE3i.",tryAgain:"Th\u1EED l\u1EA1i"},"zh-cn":{notFoundTitle:"\u9875\u9762\u672A\u627E\u5230",notFoundDescription:"\u60A8\u8981\u67E5\u627E\u7684\u9875\u9762\u4E0D\u5B58\u5728\u3002",notFoundAction:"\u8FD4\u56DE\u9996\u9875",localeNotSupportedTitle:"\u8BED\u8A00\u4E0D\u53D7\u652F\u6301",localeNotSupportedDescription:"\u60A8\u9009\u62E9\u7684\u8BED\u8A00\u5C1A\u4E0D\u53EF\u7528\u3002",localeNotSupportedAction:"\u8FD4\u56DE\u9996\u9875",internalTitle:"\u51FA\u73B0\u4E86\u95EE\u9898",internalDescription:"\u53D1\u751F\u4E86\u610F\u5916\u9519\u8BEF\u3002",tryAgain:"\u91CD\u8BD5"},"zh-tw":{notFoundTitle:"\u9801\u9762\u672A\u627E\u5230",notFoundDescription:"\u60A8\u8981\u67E5\u8A62\u7684\u9801\u9762\u4E0D\u5B58\u5728\u3002",notFoundAction:"\u8FD4\u56DE\u9996\u9801",localeNotSupportedTitle:"\u8A9E\u8A00\u4E0D\u53D7\u652F\u63F4",localeNotSupportedDescription:"\u60A8\u9078\u64C7\u7684\u8A9E\u8A00\u5C1A\u4E0D\u53EF\u7528\u3002",localeNotSupportedAction:"\u8FD4\u56DE\u9996\u9801",internalTitle:"\u51FA\u73FE\u554F\u984C",internalDescription:"\u767C\u751F\u610F\u5916\u932F\u8AA4\u3002",tryAgain:"\u91CD\u8A66"}};var G=new Command("init").name("init").description("Initialize a new Luxw project.").argument("<name>","The name for the new project.").action(async t=>ae(t));async function ae(t){try{let e=m.join(process.cwd(),t),n=m.join(m.dirname(fileURLToPath(import.meta.url)),"templates","next-app");if(D.pathExistsSync(e))throw new Error(`Cannot create Luxw project. The folder "${t}" already exists at "${e}".`);intro(`Creating Luxw project: ${t}`);let i=le(),r=await select({message:"Select the default locale:",initialValue:i,options:b.map(({value:s,label:l})=>({value:s,label:l,hint:s===i?"detected from your system":void 0}))});isCancel(r)&&(cancel("Operation cancelled."),process.exit(0));let a=spinner();a.start("Scaffolding project..."),D.copySync(n,e),await re(e,r),a.stop("Project scaffolded."),outro(`Project ready at ${e}
|
|
2
|
+
import {Command}from'commander';import {intro,select,isCancel,cancel,spinner,outro,multiselect}from'@clack/prompts';import D from'fs-extra/esm';import m from'path';import {fileURLToPath}from'url';import N from'chalk';import P from'fs-extra';import se from'crypto';import f from'fs';var Z=Object.defineProperty;var p=(t,e)=>Z(t,"name",{value:e,configurable:true});var b=[{value:"ar",label:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629"},{value:"bn",label:"\u09AC\u09BE\u0982\u09B2\u09BE"},{value:"cs-cz",label:"\u010Ce\u0161tina"},{value:"da",label:"Dansk"},{value:"de",label:"Deutsch"},{value:"el-gr",label:"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC"},{value:"en",label:"English"},{value:"es",label:"Espa\xF1ol"},{value:"fi",label:"Suomi"},{value:"fr",label:"Fran\xE7ais"},{value:"he",label:"\u05E2\u05D1\u05E8\u05D9\u05EA"},{value:"hi",label:"\u0939\u093F\u0928\u094D\u0926\u0940"},{value:"hu-hu",label:"Magyar"},{value:"id-id",label:"Indonesia"},{value:"it",label:"Italiano"},{value:"ja",label:"\u65E5\u672C\u8A9E"},{value:"ko",label:"\uD55C\uAD6D\uC5B4"},{value:"ms-my",label:"Melayu"},{value:"mr",label:"\u092E\u0930\u093E\u0920\u0940"},{value:"nl",label:"Nederlands"},{value:"no",label:"Norsk"},{value:"pa",label:"\u0A2A\u0A70\u0A1C\u0A3E\u0A2C\u0A40"},{value:"fa",label:"\u0641\u0627\u0631\u0633\u06CC"},{value:"pl",label:"Polski"},{value:"pt-br",label:"Portugu\xEAs (Brasil)"},{value:"ro-ro",label:"Rom\xE2n\u0103"},{value:"ru",label:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"},{value:"sv",label:"Svenska"},{value:"tl",label:"Tagalog"},{value:"te",label:"\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41"},{value:"th-th",label:"\u0E44\u0E17\u0E22"},{value:"tr",label:"T\xFCrk\xE7e"},{value:"uk",label:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430"},{value:"vi-vn",label:"Ti\u1EBFng Vi\u1EC7t"},{value:"zh-cn",label:"\u4E2D\u6587 (\u7B80\u4F53)"},{value:"zh-tw",label:"\u4E2D\u6587 (\u7E41\u9AD4)"}],O={ar:"\u0645\u0631\u062D\u0628\u0627\u064B",bn:"\u09B8\u09CD\u09AC\u09BE\u0997\u09A4\u09AE","cs-cz":"V\xEDtejte",da:"Velkommen",de:"Willkommen","el-gr":"\u039A\u03B1\u03BB\u03CE\u03C2 \u03AE\u03C1\u03B8\u03B1\u03C4\u03B5",en:"Welcome",es:"Bienvenido",fi:"Tervetuloa",fr:"Bienvenue",he:"\u05D1\u05E8\u05D5\u05DA \u05D4\u05D1\u05D0",hi:"\u0938\u094D\u0935\u093E\u0917\u0924 \u0939\u0948","hu-hu":"\xDCdv\xF6z\xF6lj\xFCk","id-id":"Selamat datang",it:"Benvenuto",ja:"\u3088\u3046\u3053\u305D",ko:"\uD658\uC601\uD569\uB2C8\uB2E4","ms-my":"Selamat datang",mr:"\u0938\u094D\u0935\u093E\u0917\u0924 \u0906\u0939\u0947",nl:"Welkom",no:"Velkommen",pa:"\u0A38\u0A41\u0A06\u0A17\u0A24 \u0A39\u0A48",fa:"\u062E\u0648\u0634 \u0622\u0645\u062F\u06CC\u062F",pl:"Witamy","pt-br":"Bem-vindo","ro-ro":"Bun venit",ru:"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C",sv:"V\xE4lkommen",tl:"Maligayang pagdating",te:"\u0C38\u0C4D\u0C35\u0C3E\u0C17\u0C24\u0C02","th-th":"\u0E22\u0E34\u0E19\u0E14\u0E35\u0E15\u0E49\u0E2D\u0E19\u0E23\u0E31\u0E1A",tr:"Ho\u015F geldiniz",uk:"\u041B\u0430\u0441\u043A\u0430\u0432\u043E \u043F\u0440\u043E\u0441\u0438\u043C\u043E","vi-vn":"Ch\xE0o m\u1EEBng","zh-cn":"\u6B22\u8FCE","zh-tw":"\u6B61\u8FCE"},M={ar:"\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",bn:"\u09B9\u09CB\u09AE","cs-cz":"Dom\u016F",da:"Hjem",de:"Startseite","el-gr":"\u0391\u03C1\u03C7\u03B9\u03BA\u03AE",en:"Home",es:"Inicio",fi:"Etusivu",fr:"Accueil",he:"\u05D3\u05E3 \u05D4\u05D1\u05D9\u05EA",hi:"\u0939\u094B\u092E","hu-hu":"Kezd\u0151lap","id-id":"Beranda",it:"Home",ja:"\u30DB\u30FC\u30E0",ko:"\uD648","ms-my":"Laman utama",mr:"\u092E\u0941\u0916\u092A\u0943\u0937\u094D\u0920",nl:"Home",no:"Hjem",pa:"\u0A39\u0A4B\u0A2E",fa:"\u0635\u0641\u062D\u0647 \u0627\u0635\u0644\u06CC",pl:"Strona g\u0142\xF3wna","pt-br":"In\xEDcio","ro-ro":"Acas\u0103",ru:"\u0413\u043B\u0430\u0432\u043D\u0430\u044F",sv:"Hem",tl:"Tahanan",te:"\u0C39\u0C4B\u0C2E\u0C4D","th-th":"\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E23\u0E01",tr:"Ana Sayfa",uk:"\u0413\u043E\u043B\u043E\u0432\u043D\u0430","vi-vn":"Trang ch\u1EE7","zh-cn":"\u9996\u9875","zh-tw":"\u9996\u9801"},$={ar:{"site-name":"\u0627\u0633\u0645 \u0627\u0644\u0645\u0648\u0642\u0639",description:"\u0648\u0635\u0641 \u0645\u0648\u0642\u0639 \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643",keywords:"\u0643\u0644\u0645\u0629 \u0631\u0626\u064A\u0633\u064A\u06291, \u0643\u0644\u0645\u0629 \u0631\u0626\u064A\u0633\u064A\u06292, \u0643\u0644\u0645\u0629 \u0631\u0626\u064A\u0633\u064A\u06293"},bn:{"site-name":"\u09B8\u09BE\u0987\u099F\u09C7\u09B0 \u09A8\u09BE\u09AE",description:"\u0986\u09AA\u09A8\u09BE\u09B0 \u0993\u09AF\u09BC\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7\u09B0 \u09AC\u09BF\u09AC\u09B0\u09A3",keywords:"\u0995\u09C0\u0993\u09AF\u09BC\u09BE\u09B0\u09CD\u09A11, \u0995\u09C0\u0993\u09AF\u09BC\u09BE\u09B0\u09CD\u09A12, \u0995\u09C0\u0993\u09AF\u09BC\u09BE\u09B0\u09CD\u09A13"},"cs-cz":{"site-name":"N\xE1zev webu",description:"Popis va\u0161eho webu",keywords:"kl\xED\u010Dov\xE9-slovo1, kl\xED\u010Dov\xE9-slovo2, kl\xED\u010Dov\xE9-slovo3"},da:{"site-name":"Sidenavn",description:"Beskrivelse af din hjemmeside",keywords:"n\xF8gleord1, n\xF8gleord2, n\xF8gleord3"},de:{"site-name":"Seitenname",description:"Beschreibung Ihrer Website",keywords:"Schl\xFCsselwort1, Schl\xFCsselwort2, Schl\xFCsselwort3"},"el-gr":{"site-name":"\u038C\u03BD\u03BF\u03BC\u03B1 \u0399\u03C3\u03C4\u03CC\u03C4\u03BF\u03C0\u03BF\u03C5",description:"\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE \u03C4\u03BF\u03C5 \u03B9\u03C3\u03C4\u03CC\u03C4\u03BF\u03C0\u03BF\u03CD \u03C3\u03B1\u03C2",keywords:"\u03BB\u03AD\u03BE\u03B7-\u03BA\u03BB\u03B5\u03B9\u03B4\u03AF1, \u03BB\u03AD\u03BE\u03B7-\u03BA\u03BB\u03B5\u03B9\u03B4\u03AF2, \u03BB\u03AD\u03BE\u03B7-\u03BA\u03BB\u03B5\u03B9\u03B4\u03AF3"},en:{"site-name":"Site Name",description:"Your website description",keywords:"keyword1, keyword2, keyword3"},es:{"site-name":"Nombre del Sitio",description:"Descripci\xF3n de tu sitio web",keywords:"palabra-clave1, palabra-clave2, palabra-clave3"},fi:{"site-name":"Sivuston nimi",description:"Kuvaus verkkosivustostasi",keywords:"avainsana1, avainsana2, avainsana3"},fr:{"site-name":"Nom du Site",description:"Description de votre site web",keywords:"mot-cl\xE91, mot-cl\xE92, mot-cl\xE93"},he:{"site-name":"\u05E9\u05DD \u05D4\u05D0\u05EA\u05E8",description:"\u05EA\u05D9\u05D0\u05D5\u05E8 \u05D4\u05D0\u05EA\u05E8 \u05E9\u05DC\u05DA",keywords:"\u05DE\u05D9\u05DC\u05EA \u05DE\u05E4\u05EA\u05D71, \u05DE\u05D9\u05DC\u05EA \u05DE\u05E4\u05EA\u05D72, \u05DE\u05D9\u05DC\u05EA \u05DE\u05E4\u05EA\u05D73"},hi:{"site-name":"\u0938\u093E\u0907\u091F \u0915\u093E \u0928\u093E\u092E",description:"\u0906\u092A\u0915\u0940 \u0935\u0947\u092C\u0938\u093E\u0907\u091F \u0915\u093E \u0935\u093F\u0935\u0930\u0923",keywords:"\u0915\u0940\u0935\u0930\u094D\u09211, \u0915\u0940\u0935\u0930\u094D\u09212, \u0915\u0940\u0935\u0930\u094D\u09213"},"hu-hu":{"site-name":"Webhely neve",description:"A weboldal le\xEDr\xE1sa",keywords:"kulcssz\xF31, kulcssz\xF32, kulcssz\xF33"},"id-id":{"site-name":"Nama Situs",description:"Deskripsi situs web Anda",keywords:"kata-kunci1, kata-kunci2, kata-kunci3"},it:{"site-name":"Nome del Sito",description:"Descrizione del tuo sito web",keywords:"parola-chiave1, parola-chiave2, parola-chiave3"},ja:{"site-name":"\u30B5\u30A4\u30C8\u540D",description:"\u3042\u306A\u305F\u306E\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u306E\u8AAC\u660E",keywords:"\u30AD\u30FC\u30EF\u30FC\u30C91, \u30AD\u30FC\u30EF\u30FC\u30C92, \u30AD\u30FC\u30EF\u30FC\u30C93"},ko:{"site-name":"\uC0AC\uC774\uD2B8 \uC774\uB984",description:"\uADC0\uD558\uC758 \uC6F9\uC0AC\uC774\uD2B8 \uC124\uBA85",keywords:"\uD0A4\uC6CC\uB4DC1, \uD0A4\uC6CC\uB4DC2, \uD0A4\uC6CC\uB4DC3"},"ms-my":{"site-name":"Nama Laman",description:"Penerangan laman web anda",keywords:"kata-kunci1, kata-kunci2, kata-kunci3"},mr:{"site-name":"\u0938\u093E\u0907\u091F\u091A\u0947 \u0928\u093E\u0935",description:"\u0924\u0941\u092E\u091A\u094D\u092F\u093E \u0935\u0947\u092C\u0938\u093E\u0907\u091F\u091A\u0947 \u0935\u0930\u094D\u0923\u0928",keywords:"\u0915\u0940\u0935\u0930\u094D\u09211, \u0915\u0940\u0935\u0930\u094D\u09212, \u0915\u0940\u0935\u0930\u094D\u09213"},nl:{"site-name":"Sitenaam",description:"Beschrijving van uw website",keywords:"trefwoord1, trefwoord2, trefwoord3"},no:{"site-name":"Sidenavn",description:"Beskrivelse av nettstedet ditt",keywords:"n\xF8kkelord1, n\xF8kkelord2, n\xF8kkelord3"},pa:{"site-name":"\u0A38\u0A3E\u0A08\u0A1F \u0A26\u0A3E \u0A28\u0A3E\u0A02",description:"\u0A24\u0A41\u0A39\u0A3E\u0A21\u0A40 \u0A35\u0A48\u0A71\u0A2C\u0A38\u0A3E\u0A08\u0A1F \u0A26\u0A3E \u0A35\u0A47\u0A30\u0A35\u0A3E",keywords:"\u0A15\u0A40\u0A35\u0A30\u0A211, \u0A15\u0A40\u0A35\u0A30\u0A212, \u0A15\u0A40\u0A35\u0A30\u0A213"},fa:{"site-name":"\u0646\u0627\u0645 \u0633\u0627\u06CC\u062A",description:"\u062A\u0648\u0636\u06CC\u062D \u0648\u0628\u0633\u0627\u06CC\u062A \u0634\u0645\u0627",keywords:"\u06A9\u0644\u0645\u0647 \u06A9\u0644\u06CC\u062F\u06CC1, \u06A9\u0644\u0645\u0647 \u06A9\u0644\u06CC\u062F\u06CC2, \u06A9\u0644\u0645\u0647 \u06A9\u0644\u06CC\u062F\u06CC3"},pl:{"site-name":"Nazwa strony",description:"Opis Twojej strony internetowej",keywords:"s\u0142owo-kluczowe1, s\u0142owo-kluczowe2, s\u0142owo-kluczowe3"},"pt-br":{"site-name":"Nome do Site",description:"Descri\xE7\xE3o do seu site",keywords:"palavra-chave1, palavra-chave2, palavra-chave3"},"ro-ro":{"site-name":"Numele site-ului",description:"Descrierea site-ului dvs.",keywords:"cuv\xE2nt-cheie1, cuv\xE2nt-cheie2, cuv\xE2nt-cheie3"},ru:{"site-name":"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0430\u0439\u0442\u0430",description:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0430\u0439\u0442\u0430",keywords:"\u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0435-\u0441\u043B\u043E\u0432\u043E1, \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0435-\u0441\u043B\u043E\u0432\u043E2, \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0435-\u0441\u043B\u043E\u0432\u043E3"},sv:{"site-name":"Webbplatsens namn",description:"Beskrivning av din webbplats",keywords:"nyckelord1, nyckelord2, nyckelord3"},tl:{"site-name":"Pangalan ng site",description:"Paglalarawan ng iyong website",keywords:"keyword1, keyword2, keyword3"},te:{"site-name":"\u0C38\u0C48\u0C1F\u0C4D \u0C2A\u0C47\u0C30\u0C41",description:"\u0C2E\u0C40 \u0C35\u0C46\u0C2C\u0C4D\u200C\u0C38\u0C48\u0C1F\u0C4D \u0C35\u0C3F\u0C35\u0C30\u0C23",keywords:"\u0C15\u0C40\u0C35\u0C30\u0C4D\u0C21\u0C4D1, \u0C15\u0C40\u0C35\u0C30\u0C4D\u0C21\u0C4D2, \u0C15\u0C40\u0C35\u0C30\u0C4D\u0C21\u0C4D3"},"th-th":{"site-name":"\u0E0A\u0E37\u0E48\u0E2D\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E0B\u0E15\u0E4C",description:"\u0E04\u0E33\u0E2D\u0E18\u0E34\u0E1A\u0E32\u0E22\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E0B\u0E15\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",keywords:"\u0E04\u0E33\u0E2B\u0E25\u0E31\u0E011, \u0E04\u0E33\u0E2B\u0E25\u0E31\u0E012, \u0E04\u0E33\u0E2B\u0E25\u0E31\u0E013"},tr:{"site-name":"Site Ad\u0131",description:"Web sitenizin a\xE7\u0131klamas\u0131",keywords:"anahtar-kelime1, anahtar-kelime2, anahtar-kelime3"},uk:{"site-name":"\u041D\u0430\u0437\u0432\u0430 \u0441\u0430\u0439\u0442\u0443",description:"\u041E\u043F\u0438\u0441 \u0432\u0430\u0448\u043E\u0433\u043E \u0432\u0435\u0431\u0441\u0430\u0439\u0442\u0443",keywords:"\u043A\u043B\u044E\u0447\u043E\u0432\u0435-\u0441\u043B\u043E\u0432\u043E1, \u043A\u043B\u044E\u0447\u043E\u0432\u0435-\u0441\u043B\u043E\u0432\u043E2, \u043A\u043B\u044E\u0447\u043E\u0432\u0435-\u0441\u043B\u043E\u0432\u043E3"},"vi-vn":{"site-name":"T\xEAn trang web",description:"M\xF4 t\u1EA3 trang web c\u1EE7a b\u1EA1n",keywords:"t\u1EEB-kh\xF3a1, t\u1EEB-kh\xF3a2, t\u1EEB-kh\xF3a3"},"zh-cn":{"site-name":"\u7F51\u7AD9\u540D\u79F0",description:"\u60A8\u7684\u7F51\u7AD9\u63CF\u8FF0",keywords:"\u5173\u952E\u8BCD1, \u5173\u952E\u8BCD2, \u5173\u952E\u8BCD3"},"zh-tw":{"site-name":"\u7DB2\u7AD9\u540D\u7A31",description:"\u60A8\u7684\u7DB2\u7AD9\u63CF\u8FF0",keywords:"\u95DC\u9375\u5B571, \u95DC\u9375\u5B572, \u95DC\u9375\u5B573"}},x={ar:{notFoundTitle:"\u0627\u0644\u0635\u0641\u062D\u0629 \u063A\u064A\u0631 \u0645\u0648\u062C\u0648\u062F\u0629",notFoundDescription:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u062A\u064A \u062A\u0628\u062D\u062B \u0639\u0646\u0647\u0627 \u063A\u064A\u0631 \u0645\u0648\u062C\u0648\u062F\u0629.",notFoundAction:"\u0627\u0644\u0639\u0648\u062F\u0629 \u0625\u0644\u0649 \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",localeNotSupportedTitle:"\u0627\u0644\u0644\u063A\u0629 \u063A\u064A\u0631 \u0645\u062F\u0639\u0648\u0645\u0629",localeNotSupportedDescription:"\u0627\u0644\u0644\u063A\u0629 \u0627\u0644\u062A\u064A \u0627\u062E\u062A\u0631\u062A\u0647\u0627 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631\u0629 \u0628\u0639\u062F.",localeNotSupportedAction:"\u0627\u0644\u0639\u0648\u062F\u0629 \u0625\u0644\u0649 \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",internalTitle:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0645\u0627",internalDescription:"\u062D\u062F\u062B \u062E\u0637\u0623 \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639.",tryAgain:"\u062D\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649"},bn:{notFoundTitle:"\u09AA\u09C3\u09B7\u09CD\u09A0\u09BE\u099F\u09BF \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF",notFoundDescription:"\u0986\u09AA\u09A8\u09BF \u09AF\u09C7 \u09AA\u09C3\u09B7\u09CD\u09A0\u09BE\u099F\u09BF \u0996\u09C1\u0981\u099C\u099B\u09C7\u09A8 \u09A4\u09BE \u09AC\u09BF\u09A6\u09CD\u09AF\u09AE\u09BE\u09A8 \u09A8\u09C7\u0987\u0964",notFoundAction:"\u09B9\u09CB\u09AE\u09C7 \u09AF\u09BE\u09A8",localeNotSupportedTitle:"\u09AD\u09BE\u09B7\u09BE \u09B8\u09AE\u09B0\u09CD\u09A5\u09BF\u09A4 \u09A8\u09AF\u09BC",localeNotSupportedDescription:"\u0986\u09AA\u09A8\u09BE\u09B0 \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4 \u09AD\u09BE\u09B7\u09BE\u099F\u09BF \u098F\u0996\u09A8\u0993 \u0989\u09AA\u09B2\u09AC\u09CD\u09A7 \u09A8\u09AF\u09BC\u0964",localeNotSupportedAction:"\u09B9\u09CB\u09AE\u09C7 \u09AF\u09BE\u09A8",internalTitle:"\u0995\u09BF\u099B\u09C1 \u09AD\u09C1\u09B2 \u09B9\u09AF\u09BC\u09C7\u099B\u09C7",internalDescription:"\u098F\u0995\u099F\u09BF \u0985\u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 \u09A4\u09CD\u09B0\u09C1\u099F\u09BF \u0998\u099F\u09C7\u099B\u09C7\u0964",tryAgain:"\u0986\u09AC\u09BE\u09B0 \u099A\u09C7\u09B7\u09CD\u099F\u09BE \u0995\u09B0\u09C1\u09A8"},"cs-cz":{notFoundTitle:"Str\xE1nka nenalezena",notFoundDescription:"Str\xE1nka, kterou hled\xE1te, neexistuje.",notFoundAction:"Dom\u016F",localeNotSupportedTitle:"Jazyk nen\xED podporov\xE1n",localeNotSupportedDescription:"V\xE1mi vybran\xFD jazyk je\u0161t\u011B nen\xED k dispozici.",localeNotSupportedAction:"Dom\u016F",internalTitle:"N\u011Bco se pokazilo",internalDescription:"Do\u0161lo k neo\u010Dek\xE1van\xE9 chyb\u011B.",tryAgain:"Zkusit znovu"},da:{notFoundTitle:"Siden blev ikke fundet",notFoundDescription:"Den side, du leder efter, findes ikke.",notFoundAction:"G\xE5 til forsiden",localeNotSupportedTitle:"Sprog underst\xF8ttes ikke",localeNotSupportedDescription:"Det valgte sprog er endnu ikke tilg\xE6ngeligt.",localeNotSupportedAction:"G\xE5 til forsiden",internalTitle:"Noget gik galt",internalDescription:"Der opstod en uventet fejl.",tryAgain:"Pr\xF8v igen"},de:{notFoundTitle:"Seite nicht gefunden",notFoundDescription:"Die von Ihnen gesuchte Seite existiert nicht.",notFoundAction:"Zur Startseite",localeNotSupportedTitle:"Sprache nicht unterst\xFCtzt",localeNotSupportedDescription:"Die ausgew\xE4hlte Sprache ist noch nicht verf\xFCgbar.",localeNotSupportedAction:"Zur Startseite",internalTitle:"Etwas ist schiefgelaufen",internalDescription:"Ein unerwarteter Fehler ist aufgetreten.",tryAgain:"Erneut versuchen"},"el-gr":{notFoundTitle:"\u0397 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5",notFoundDescription:"\u0397 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03BD\u03B1\u03B6\u03B7\u03C4\u03AC\u03C4\u03B5 \u03B4\u03B5\u03BD \u03C5\u03C0\u03AC\u03C1\u03C7\u03B5\u03B9.",notFoundAction:"\u03A0\u03B7\u03B3\u03B1\u03AF\u03BD\u03B5\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B1\u03C1\u03C7\u03B9\u03BA\u03AE",localeNotSupportedTitle:"\u0397 \u03B3\u03BB\u03CE\u03C3\u03C3\u03B1 \u03B4\u03B5\u03BD \u03C5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03C4\u03B1\u03B9",localeNotSupportedDescription:"\u0397 \u03B3\u03BB\u03CE\u03C3\u03C3\u03B1 \u03C0\u03BF\u03C5 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B1\u03C4\u03B5 \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B1\u03BA\u03CC\u03BC\u03B1 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B7.",localeNotSupportedAction:"\u03A0\u03B7\u03B3\u03B1\u03AF\u03BD\u03B5\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B1\u03C1\u03C7\u03B9\u03BA\u03AE",internalTitle:"\u039A\u03AC\u03C4\u03B9 \u03C0\u03AE\u03B3\u03B5 \u03C3\u03C4\u03C1\u03B1\u03B2\u03AC",internalDescription:"\u03A0\u03C1\u03BF\u03AD\u03BA\u03C5\u03C8\u03B5 \u03AD\u03BD\u03B1 \u03B1\u03C0\u03C1\u03CC\u03C3\u03BC\u03B5\u03BD\u03BF \u03C3\u03C6\u03AC\u03BB\u03BC\u03B1.",tryAgain:"\u03A0\u03C1\u03BF\u03C3\u03C0\u03B1\u03B8\u03AE\u03C3\u03C4\u03B5 \u03BE\u03B1\u03BD\u03AC"},en:{notFoundTitle:"Page not found",notFoundDescription:"The page you're looking for doesn't exist.",notFoundAction:"Go home",localeNotSupportedTitle:"Locale not supported",localeNotSupportedDescription:"The language you selected is not yet available.",localeNotSupportedAction:"Go home",internalTitle:"Something went wrong",internalDescription:"An unexpected error occurred.",tryAgain:"Try again"},es:{notFoundTitle:"P\xE1gina no encontrada",notFoundDescription:"La p\xE1gina que buscas no existe.",notFoundAction:"Ir a inicio",localeNotSupportedTitle:"Idioma no compatible",localeNotSupportedDescription:"El idioma seleccionado a\xFAn no est\xE1 disponible.",localeNotSupportedAction:"Ir a inicio",internalTitle:"Algo sali\xF3 mal",internalDescription:"Ocurri\xF3 un error inesperado.",tryAgain:"Intentar de nuevo"},fi:{notFoundTitle:"Sivua ei l\xF6ydy",notFoundDescription:"Hakemaasi sivua ei ole olemassa.",notFoundAction:"Mene etusivulle",localeNotSupportedTitle:"Kielt\xE4 ei tueta",localeNotSupportedDescription:"Valitsemasi kieli ei ole viel\xE4 saatavilla.",localeNotSupportedAction:"Mene etusivulle",internalTitle:"Jotain meni pieleen",internalDescription:"Tapahtui odottamaton virhe.",tryAgain:"Yrit\xE4 uudelleen"},fr:{notFoundTitle:"Page non trouv\xE9e",notFoundDescription:"La page que vous cherchez n'existe pas.",notFoundAction:"Accueil",localeNotSupportedTitle:"Langue non prise en charge",localeNotSupportedDescription:"La langue s\xE9lectionn\xE9e n'est pas encore disponible.",localeNotSupportedAction:"Accueil",internalTitle:"Quelque chose s'est mal pass\xE9",internalDescription:"Une erreur inattendue s'est produite.",tryAgain:"R\xE9essayer"},he:{notFoundTitle:"\u05D4\u05D3\u05E3 \u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0",notFoundDescription:"\u05D4\u05D3\u05E3 \u05E9\u05D0\u05EA\u05D4 \u05DE\u05D7\u05E4\u05E9 \u05D0\u05D9\u05E0\u05D5 \u05E7\u05D9\u05D9\u05DD.",notFoundAction:"\u05E2\u05DE\u05D5\u05D3 \u05D4\u05D1\u05D9\u05EA",localeNotSupportedTitle:"\u05D4\u05E9\u05E4\u05D4 \u05D0\u05D9\u05E0\u05D4 \u05E0\u05EA\u05DE\u05DB\u05EA",localeNotSupportedDescription:"\u05D4\u05E9\u05E4\u05D4 \u05E9\u05D1\u05D7\u05E8\u05EA \u05E2\u05D3\u05D9\u05D9\u05DF \u05DC\u05D0 \u05D6\u05DE\u05D9\u05E0\u05D4.",localeNotSupportedAction:"\u05E2\u05DE\u05D5\u05D3 \u05D4\u05D1\u05D9\u05EA",internalTitle:"\u05DE\u05E9\u05D4\u05D5 \u05D4\u05E9\u05EA\u05D1\u05E9",internalDescription:"\u05D0\u05D9\u05E8\u05E2\u05D4 \u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05DC\u05EA\u05D9 \u05E6\u05E4\u05D5\u05D9\u05D4.",tryAgain:"\u05E0\u05E1\u05D4 \u05E9\u05D5\u05D1"},hi:{notFoundTitle:"\u092A\u0947\u091C \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",notFoundDescription:"\u0906\u092A \u091C\u093F\u0938 \u092A\u0947\u091C \u0915\u0940 \u0924\u0932\u093E\u0936 \u0915\u0930 \u0930\u0939\u0947 \u0939\u0948\u0902 \u0935\u0939 \u092E\u094C\u091C\u0942\u0926 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",notFoundAction:"\u0939\u094B\u092E \u092A\u0930 \u091C\u093E\u090F\u0902",localeNotSupportedTitle:"\u092D\u093E\u0937\u093E \u0938\u092E\u0930\u094D\u0925\u093F\u0924 \u0928\u0939\u0940\u0902 \u0939\u0948",localeNotSupportedDescription:"\u0906\u092A\u0915\u0947 \u0926\u094D\u0935\u093E\u0930\u093E \u091A\u0941\u0928\u0940 \u0917\u0908 \u092D\u093E\u0937\u093E \u0905\u092D\u0940 \u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",localeNotSupportedAction:"\u0939\u094B\u092E \u092A\u0930 \u091C\u093E\u090F\u0902",internalTitle:"\u0915\u0941\u091B \u0917\u0932\u0924 \u0939\u094B \u0917\u092F\u093E",internalDescription:"\u090F\u0915 \u0905\u092A\u094D\u0930\u0924\u094D\u092F\u093E\u0936\u093F\u0924 \u0924\u094D\u0930\u0941\u091F\u093F \u0939\u0941\u0908\u0964",tryAgain:"\u092A\u0941\u0928\u0903 \u092A\u094D\u0930\u092F\u093E\u0938 \u0915\u0930\u0947\u0902"},"hu-hu":{notFoundTitle:"Az oldal nem tal\xE1lhat\xF3",notFoundDescription:"A keresett oldal nem l\xE9tezik.",notFoundAction:"Ugr\xE1s a kezd\u0151lapra",localeNotSupportedTitle:"A nyelv nem t\xE1mogatott",localeNotSupportedDescription:"A kiv\xE1lasztott nyelv m\xE9g nem \xE9rhet\u0151 el.",localeNotSupportedAction:"Ugr\xE1s a kezd\u0151lapra",internalTitle:"Valami hiba t\xF6rt\xE9nt",internalDescription:"V\xE1ratlan hiba t\xF6rt\xE9nt.",tryAgain:"Pr\xF3b\xE1lja \xFAjra"},"id-id":{notFoundTitle:"Halaman tidak ditemukan",notFoundDescription:"Halaman yang Anda cari tidak ada.",notFoundAction:"Ke beranda",localeNotSupportedTitle:"Bahasa tidak didukung",localeNotSupportedDescription:"Bahasa yang Anda pilih belum tersedia.",localeNotSupportedAction:"Ke beranda",internalTitle:"Terjadi kesalahan",internalDescription:"Terjadi kesalahan yang tidak terduga.",tryAgain:"Coba lagi"},it:{notFoundTitle:"Pagina non trovata",notFoundDescription:"La pagina che cerchi non esiste.",notFoundAction:"Vai alla home",localeNotSupportedTitle:"Lingua non supportata",localeNotSupportedDescription:"La lingua selezionata non \xE8 ancora disponibile.",localeNotSupportedAction:"Vai alla home",internalTitle:"Qualcosa \xE8 andato storto",internalDescription:"Si \xE8 verificato un errore imprevisto.",tryAgain:"Riprova"},ja:{notFoundTitle:"\u30DA\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",notFoundDescription:"\u304A\u63A2\u3057\u306E\u30DA\u30FC\u30B8\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002",notFoundAction:"\u30DB\u30FC\u30E0\u306B\u623B\u308B",localeNotSupportedTitle:"\u8A00\u8A9E\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093",localeNotSupportedDescription:"\u9078\u629E\u3057\u305F\u8A00\u8A9E\u306F\u307E\u3060\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002",localeNotSupportedAction:"\u30DB\u30FC\u30E0\u306B\u623B\u308B",internalTitle:"\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F",internalDescription:"\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002",tryAgain:"\u518D\u8A66\u884C"},ko:{notFoundTitle:"\uD398\uC774\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",notFoundDescription:"\uCC3E\uACE0 \uACC4\uC2E0 \uD398\uC774\uC9C0\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",notFoundAction:"\uD648\uC73C\uB85C \uAC00\uAE30",localeNotSupportedTitle:"\uC5B8\uC5B4\uAC00 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",localeNotSupportedDescription:"\uC120\uD0DD\uD55C \uC5B8\uC5B4\uB97C \uC544\uC9C1 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",localeNotSupportedAction:"\uD648\uC73C\uB85C \uAC00\uAE30",internalTitle:"\uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4",internalDescription:"\uC608\uC0C1\uCE58 \uBABB\uD55C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.",tryAgain:"\uB2E4\uC2DC \uC2DC\uB3C4"},"ms-my":{notFoundTitle:"Halaman tidak dijumpai",notFoundDescription:"Halaman yang anda cari tidak wujud.",notFoundAction:"Ke laman utama",localeNotSupportedTitle:"Bahasa tidak disokong",localeNotSupportedDescription:"Bahasa yang anda pilih belum tersedia.",localeNotSupportedAction:"Ke laman utama",internalTitle:"Sesuatu telah berlaku",internalDescription:"Ralat tidak dijangka berlaku.",tryAgain:"Cuba lagi"},mr:{notFoundTitle:"\u092A\u0943\u0937\u094D\u0920 \u0938\u093E\u092A\u0921\u0932\u0947 \u0928\u093E\u0939\u0940",notFoundDescription:"\u0924\u0941\u092E\u094D\u0939\u0940 \u0936\u094B\u0927\u0924 \u0905\u0938\u0932\u0947\u0932\u0947 \u092A\u0943\u0937\u094D\u0920 \u0905\u0938\u094D\u0924\u093F\u0924\u094D\u0935\u093E\u0924 \u0928\u093E\u0939\u0940.",notFoundAction:"\u092E\u0941\u0916\u092A\u0943\u0937\u094D\u0920\u093E\u0935\u0930 \u091C\u093E",localeNotSupportedTitle:"\u092D\u093E\u0937\u093E \u0938\u092E\u0930\u094D\u0925\u093F\u0924 \u0928\u093E\u0939\u0940",localeNotSupportedDescription:"\u0924\u0941\u092E\u094D\u0939\u0940 \u0928\u093F\u0935\u0921\u0932\u0947\u0932\u0940 \u092D\u093E\u0937\u093E \u0905\u0926\u094D\u092F\u093E\u092A \u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u093E\u0939\u0940.",localeNotSupportedAction:"\u092E\u0941\u0916\u092A\u0943\u0937\u094D\u0920\u093E\u0935\u0930 \u091C\u093E",internalTitle:"\u0915\u093E\u0939\u0940\u0924\u0930\u0940 \u091A\u0942\u0915 \u091D\u093E\u0932\u0940",internalDescription:"\u090F\u0915 \u0905\u0928\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0924\u094D\u0930\u0941\u091F\u0940 \u0906\u0932\u0940.",tryAgain:"\u092A\u0941\u0928\u094D\u0939\u093E \u092A\u094D\u0930\u092F\u0924\u094D\u0928 \u0915\u0930\u093E"},nl:{notFoundTitle:"Pagina niet gevonden",notFoundDescription:"De pagina die u zoekt bestaat niet.",notFoundAction:"Naar home",localeNotSupportedTitle:"Taal niet ondersteund",localeNotSupportedDescription:"De geselecteerde taal is nog niet beschikbaar.",localeNotSupportedAction:"Naar home",internalTitle:"Er is iets misgegaan",internalDescription:"Er is een onverwachte fout opgetreden.",tryAgain:"Probeer opnieuw"},no:{notFoundTitle:"Siden ble ikke funnet",notFoundDescription:"Siden du leter etter finnes ikke.",notFoundAction:"G\xE5 til hjem",localeNotSupportedTitle:"Spr\xE5k st\xF8ttes ikke",localeNotSupportedDescription:"Det valgte spr\xE5ket er enn\xE5 ikke tilgjengelig.",localeNotSupportedAction:"G\xE5 til hjem",internalTitle:"Noe gikk galt",internalDescription:"Det oppsto en uventet feil.",tryAgain:"Pr\xF8v p\xE5 nytt"},pa:{notFoundTitle:"\u0A2A\u0A47\u0A1C \u0A28\u0A39\u0A40\u0A02 \u0A2E\u0A3F\u0A32\u0A3F\u0A06",notFoundDescription:"\u0A1C\u0A3F\u0A38 \u0A2A\u0A47\u0A1C \u0A26\u0A40 \u0A24\u0A41\u0A38\u0A40\u0A02 \u0A2D\u0A3E\u0A32 \u0A15\u0A30 \u0A30\u0A39\u0A47 \u0A39\u0A4B \u0A09\u0A39 \u0A2E\u0A4C\u0A1C\u0A42\u0A26 \u0A28\u0A39\u0A40\u0A02 \u0A39\u0A48\u0964",notFoundAction:"\u0A39\u0A4B\u0A2E \u0A24\u0A47 \u0A1C\u0A3E\u0A13",localeNotSupportedTitle:"\u0A2D\u0A3E\u0A38\u0A3C\u0A3E \u0A38\u0A2E\u0A30\u0A25\u0A3F\u0A24 \u0A28\u0A39\u0A40\u0A02 \u0A39\u0A48",localeNotSupportedDescription:"\u0A24\u0A41\u0A39\u0A3E\u0A21\u0A47 \u0A26\u0A41\u0A06\u0A30\u0A3E \u0A1A\u0A41\u0A23\u0A40 \u0A17\u0A08 \u0A2D\u0A3E\u0A38\u0A3C\u0A3E \u0A05\u0A1C\u0A47 \u0A09\u0A2A\u0A32\u0A2C\u0A27 \u0A28\u0A39\u0A40\u0A02 \u0A39\u0A48\u0964",localeNotSupportedAction:"\u0A39\u0A4B\u0A2E \u0A24\u0A47 \u0A1C\u0A3E\u0A13",internalTitle:"\u0A15\u0A41\u0A1D \u0A17\u0A32\u0A24 \u0A39\u0A4B \u0A17\u0A3F\u0A06",internalDescription:"\u0A07\u0A71\u0A15 \u0A05\u0A1A\u0A3E\u0A28\u0A15 \u0A17\u0A5C\u0A2C\u0A5C\u0A40 \u0A35\u0A3E\u0A2A\u0A30 \u0A17\u0A08\u0964",tryAgain:"\u0A2E\u0A41\u0A5C \u0A15\u0A4B\u0A38\u0A3C\u0A3F\u0A38\u0A3C \u0A15\u0A30\u0A4B"},fa:{notFoundTitle:"\u0635\u0641\u062D\u0647 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F",notFoundDescription:"\u0635\u0641\u062D\u0647\u200C\u0627\u06CC \u06A9\u0647 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u0622\u0646 \u0647\u0633\u062A\u06CC\u062F \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F.",notFoundAction:"\u0628\u0631\u0648 \u0628\u0647 \u062E\u0627\u0646\u0647",localeNotSupportedTitle:"\u0632\u0628\u0627\u0646 \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u0634\u0648\u062F",localeNotSupportedDescription:"\u0632\u0628\u0627\u0646\u06CC \u06A9\u0647 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0631\u062F\u0647\u200C\u0627\u06CC\u062F \u0647\u0646\u0648\u0632 \u062F\u0631 \u062F\u0633\u062A\u0631\u0633 \u0646\u06CC\u0633\u062A.",localeNotSupportedAction:"\u0628\u0631\u0648 \u0628\u0647 \u062E\u0627\u0646\u0647",internalTitle:"\u0645\u0634\u06A9\u0644\u06CC \u067E\u06CC\u0634 \u0622\u0645\u062F",internalDescription:"\u062E\u0637\u0627\u06CC \u063A\u06CC\u0631\u0645\u0646\u062A\u0638\u0631\u0647\u200C\u0627\u06CC \u0631\u062E \u062F\u0627\u062F.",tryAgain:"\u062F\u0648\u0628\u0627\u0631\u0647 \u062A\u0644\u0627\u0634 \u06A9\u0646\u06CC\u062F"},pl:{notFoundTitle:"Strona nie znaleziona",notFoundDescription:"Strona, kt\xF3rej szukasz, nie istnieje.",notFoundAction:"Przejd\u017A do strony g\u0142\xF3wnej",localeNotSupportedTitle:"J\u0119zyk nie jest obs\u0142ugiwany",localeNotSupportedDescription:"Wybrany j\u0119zyk nie jest jeszcze dost\u0119pny.",localeNotSupportedAction:"Przejd\u017A do strony g\u0142\xF3wnej",internalTitle:"Co\u015B posz\u0142o nie tak",internalDescription:"Wyst\u0105pi\u0142 nieoczekiwany b\u0142\u0105d.",tryAgain:"Spr\xF3buj ponownie"},"pt-br":{notFoundTitle:"P\xE1gina n\xE3o encontrada",notFoundDescription:"A p\xE1gina que voc\xEA procura n\xE3o existe.",notFoundAction:"Ir para o in\xEDcio",localeNotSupportedTitle:"Idioma n\xE3o suportado",localeNotSupportedDescription:"O idioma selecionado ainda n\xE3o est\xE1 dispon\xEDvel.",localeNotSupportedAction:"Ir para o in\xEDcio",internalTitle:"Algo deu errado",internalDescription:"Ocorreu um erro inesperado.",tryAgain:"Tentar novamente"},"ro-ro":{notFoundTitle:"Pagina nu a fost g\u0103sit\u0103",notFoundDescription:"Pagina pe care o c\u0103uta\u021Bi nu exist\u0103.",notFoundAction:"Mergi la pagina principal\u0103",localeNotSupportedTitle:"Limba nu este acceptat\u0103",localeNotSupportedDescription:"Limba selectat\u0103 nu este \xEEnc\u0103 disponibil\u0103.",localeNotSupportedAction:"Mergi la pagina principal\u0103",internalTitle:"Ceva a mers prost",internalDescription:"A ap\u0103rut o eroare nea\u0219teptat\u0103.",tryAgain:"\xCEncerca\u021Bi din nou"},ru:{notFoundTitle:"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430",notFoundDescription:"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0432\u044B \u0438\u0449\u0435\u0442\u0435, \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.",notFoundAction:"\u041D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E",localeNotSupportedTitle:"\u042F\u0437\u044B\u043A \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",localeNotSupportedDescription:"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u044F\u0437\u044B\u043A \u0435\u0449\u0435 \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.",localeNotSupportedAction:"\u041D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E",internalTitle:"\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A",internalDescription:"\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043D\u0435\u043E\u0436\u0438\u0434\u0430\u043D\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430.",tryAgain:"\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430"},sv:{notFoundTitle:"Sidan hittades inte",notFoundDescription:"Sidan du letar efter finns inte.",notFoundAction:"G\xE5 till hem",localeNotSupportedTitle:"Spr\xE5ket st\xF6ds inte",localeNotSupportedDescription:"Det valda spr\xE5ket \xE4r \xE4nnu inte tillg\xE4ngligt.",localeNotSupportedAction:"G\xE5 till hem",internalTitle:"N\xE5got gick fel",internalDescription:"Ett ov\xE4ntat fel intr\xE4ffade.",tryAgain:"F\xF6rs\xF6k igen"},tl:{notFoundTitle:"Hindi nahanap ang pahina",notFoundDescription:"Ang pahina na iyong hinahanap ay hindi umiiral.",notFoundAction:"Pumunta sa bahay",localeNotSupportedTitle:"Hindi suportado ang wika",localeNotSupportedDescription:"Ang wikang iyong pinili ay hindi pa available.",localeNotSupportedAction:"Pumunta sa bahay",internalTitle:"May maling nangyari",internalDescription:"Isang hindi inaasahang error ang nangyari.",tryAgain:"Subukan muli"},te:{notFoundTitle:"\u0C2A\u0C47\u0C1C\u0C40 \u0C15\u0C28\u0C41\u0C17\u0C4A\u0C28\u0C2C\u0C21\u0C32\u0C47\u0C26\u0C41",notFoundDescription:"\u0C2E\u0C40\u0C30\u0C41 \u0C35\u0C46\u0C24\u0C41\u0C15\u0C41\u0C24\u0C41\u0C28\u0C4D\u0C28 \u0C2A\u0C47\u0C1C\u0C40 \u0C09\u0C28\u0C3F\u0C15\u0C3F\u0C32\u0C4B \u0C32\u0C47\u0C26\u0C41.",notFoundAction:"\u0C39\u0C4B\u0C2E\u0C4D\u200C\u0C15\u0C41 \u0C35\u0C46\u0C33\u0C4D\u0C33\u0C02\u0C21\u0C3F",localeNotSupportedTitle:"\u0C2D\u0C3E\u0C37 \u0C2E\u0C26\u0C4D\u0C26\u0C24\u0C41 \u0C32\u0C47\u0C26\u0C41",localeNotSupportedDescription:"\u0C2E\u0C40\u0C30\u0C41 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C41\u0C28\u0C4D\u0C28 \u0C2D\u0C3E\u0C37 \u0C07\u0C02\u0C15\u0C3E \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B \u0C32\u0C47\u0C26\u0C41.",localeNotSupportedAction:"\u0C39\u0C4B\u0C2E\u0C4D\u200C\u0C15\u0C41 \u0C35\u0C46\u0C33\u0C4D\u0C33\u0C02\u0C21\u0C3F",internalTitle:"\u0C0F\u0C26\u0C4B \u0C24\u0C2A\u0C4D\u0C2A\u0C41 \u0C1C\u0C30\u0C3F\u0C17\u0C3F\u0C02\u0C26\u0C3F",internalDescription:"\u0C0A\u0C39\u0C3F\u0C02\u0C1A\u0C28\u0C3F \u0C32\u0C4B\u0C2A\u0C02 \u0C38\u0C02\u0C2D\u0C35\u0C3F\u0C02\u0C1A\u0C3F\u0C02\u0C26\u0C3F.",tryAgain:"\u0C2E\u0C33\u0C4D\u0C33\u0C40 \u0C2A\u0C4D\u0C30\u0C2F\u0C24\u0C4D\u0C28\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F"},"th-th":{notFoundTitle:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E2B\u0E19\u0E49\u0E32",notFoundDescription:"\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E01\u0E33\u0E25\u0E31\u0E07\u0E21\u0E2D\u0E07\u0E2B\u0E32\u0E44\u0E21\u0E48\u0E21\u0E35\u0E2D\u0E22\u0E39\u0E48",notFoundAction:"\u0E01\u0E25\u0E31\u0E1A\u0E44\u0E1B\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E23\u0E01",localeNotSupportedTitle:"\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E20\u0E32\u0E29\u0E32",localeNotSupportedDescription:"\u0E20\u0E32\u0E29\u0E32\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19",localeNotSupportedAction:"\u0E01\u0E25\u0E31\u0E1A\u0E44\u0E1B\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E23\u0E01",internalTitle:"\u0E40\u0E01\u0E34\u0E14\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14",internalDescription:"\u0E40\u0E01\u0E34\u0E14\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E04\u0E32\u0E14\u0E04\u0E34\u0E14",tryAgain:"\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07"},tr:{notFoundTitle:"Sayfa bulunamad\u0131",notFoundDescription:"Arad\u0131\u011F\u0131n\u0131z sayfa mevcut de\u011Fil.",notFoundAction:"Ana sayfaya git",localeNotSupportedTitle:"Dil desteklenmiyor",localeNotSupportedDescription:"Se\xE7ti\u011Finiz dil hen\xFCz mevcut de\u011Fil.",localeNotSupportedAction:"Ana sayfaya git",internalTitle:"Bir \u015Feyler yanl\u0131\u015F gitti",internalDescription:"Beklenmeyen bir hata olu\u015Ftu.",tryAgain:"Tekrar dene"},uk:{notFoundTitle:"\u0421\u0442\u043E\u0440\u0456\u043D\u043A\u0443 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E",notFoundDescription:"\u0421\u0442\u043E\u0440\u0456\u043D\u043A\u0430, \u044F\u043A\u0443 \u0432\u0438 \u0448\u0443\u043A\u0430\u0454\u0442\u0435, \u043D\u0435 \u0456\u0441\u043D\u0443\u0454.",notFoundAction:"\u041D\u0430 \u0433\u043E\u043B\u043E\u0432\u043D\u0443",localeNotSupportedTitle:"\u041C\u043E\u0432\u0430 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F",localeNotSupportedDescription:"\u0412\u0438\u0431\u0440\u0430\u043D\u0430 \u043C\u043E\u0432\u0430 \u0449\u0435 \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430.",localeNotSupportedAction:"\u041D\u0430 \u0433\u043E\u043B\u043E\u0432\u043D\u0443",internalTitle:"\u0429\u043E\u0441\u044C \u043F\u0456\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A",internalDescription:"\u0421\u0442\u0430\u043B\u0430\u0441\u044F \u043D\u0435\u043E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430.",tryAgain:"\u0421\u043F\u0440\u043E\u0431\u0443\u0432\u0430\u0442\u0438 \u0437\u043D\u043E\u0432\u0443"},"vi-vn":{notFoundTitle:"Trang kh\xF4ng t\xECm th\u1EA5y",notFoundDescription:"Trang b\u1EA1n \u0111ang t\xECm ki\u1EBFm kh\xF4ng t\u1ED3n t\u1EA1i.",notFoundAction:"V\u1EC1 trang ch\u1EE7",localeNotSupportedTitle:"Ng\xF4n ng\u1EEF kh\xF4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",localeNotSupportedDescription:"Ng\xF4n ng\u1EEF b\u1EA1n ch\u1ECDn ch\u01B0a c\xF3 s\u1EB5n.",localeNotSupportedAction:"V\u1EC1 trang ch\u1EE7",internalTitle:"\u0110\xE3 x\u1EA3y ra l\u1ED7i",internalDescription:"\u0110\xE3 x\u1EA3y ra l\u1ED7i kh\xF4ng mong \u0111\u1EE3i.",tryAgain:"Th\u1EED l\u1EA1i"},"zh-cn":{notFoundTitle:"\u9875\u9762\u672A\u627E\u5230",notFoundDescription:"\u60A8\u8981\u67E5\u627E\u7684\u9875\u9762\u4E0D\u5B58\u5728\u3002",notFoundAction:"\u8FD4\u56DE\u9996\u9875",localeNotSupportedTitle:"\u8BED\u8A00\u4E0D\u53D7\u652F\u6301",localeNotSupportedDescription:"\u60A8\u9009\u62E9\u7684\u8BED\u8A00\u5C1A\u4E0D\u53EF\u7528\u3002",localeNotSupportedAction:"\u8FD4\u56DE\u9996\u9875",internalTitle:"\u51FA\u73B0\u4E86\u95EE\u9898",internalDescription:"\u53D1\u751F\u4E86\u610F\u5916\u9519\u8BEF\u3002",tryAgain:"\u91CD\u8BD5"},"zh-tw":{notFoundTitle:"\u9801\u9762\u672A\u627E\u5230",notFoundDescription:"\u60A8\u8981\u67E5\u8A62\u7684\u9801\u9762\u4E0D\u5B58\u5728\u3002",notFoundAction:"\u8FD4\u56DE\u9996\u9801",localeNotSupportedTitle:"\u8A9E\u8A00\u4E0D\u53D7\u652F\u63F4",localeNotSupportedDescription:"\u60A8\u9078\u64C7\u7684\u8A9E\u8A00\u5C1A\u4E0D\u53EF\u7528\u3002",localeNotSupportedAction:"\u8FD4\u56DE\u9996\u9801",internalTitle:"\u51FA\u73FE\u554F\u984C",internalDescription:"\u767C\u751F\u610F\u5916\u932F\u8AA4\u3002",tryAgain:"\u91CD\u8A66"}};var G=new Command("init").name("init").description("Initialize a new Sleeke project.").argument("<name>","The name for the new project.").action(async t=>ae(t));async function ae(t){try{let e=m.join(process.cwd(),t),n=m.join(m.dirname(fileURLToPath(import.meta.url)),"templates","next-app");if(D.pathExistsSync(e))throw new Error(`Cannot create Sleeke project. The folder "${t}" already exists at "${e}".`);intro(`Creating Sleeke project: ${t}`);let i=le(),r=await select({message:"Select the default locale:",initialValue:i,options:b.map(({value:s,label:l})=>({value:s,label:l,hint:s===i?"detected from your system":void 0}))});isCancel(r)&&(cancel("Operation cancelled."),process.exit(0));let a=spinner();a.start("Scaffolding project..."),D.copySync(n,e),await re(e,r),a.stop("Project scaffolded."),outro(`Project ready at ${e}
|
|
3
3
|
|
|
4
4
|
cd ${t}
|
|
5
5
|
pnpm install
|
|
6
|
-
pnpm dev`);}catch(e){console.error(e instanceof Error?e.message:"An unknown error occurred."),process.exit(1);}}p(ae,"main");async function re(t,e){let n=m.join(t,"
|
|
7
|
-
`;P.appendFileSync(this.auditFile,a);}formatLink(e){return e.replace(/\\/g,"/")}info(e,n=true){console.log(`${e}`),n&&this.writeToAudit("info",e);}success(e,n=true){console.log(`${N.green(e)}`),n&&this.writeToAudit("success",e);}warn(e,n=true){console.log(`${N.yellow(e)}`),n&&this.writeToAudit("warn",e);}error(e,n,i=true){let r=n instanceof Error?n.message:String(n||""),a=`fatal: ${e} ${r}`;console.error(`${N.red(a)}`),i&&(this.writeToAudit("error",a),n instanceof Error&&n.stack&&this.writeToAudit("debug",`Stack: ${n.stack}`));}debug(e,n,i=true){process.env.DEBUG&&(console.log(`${N.gray(e)}`),n&&console.dir(n,{depth:null,colors:true}));let r=n?`${e} ${JSON.stringify(n)}`:e;i&&this.writeToAudit("debug",r);}},o=z.getInstance();function
|
|
6
|
+
pnpm dev`);}catch(e){console.error(e instanceof Error?e.message:"An unknown error occurred."),process.exit(1);}}p(ae,"main");async function re(t,e){let n=m.join(t,"sleeke.json"),i=await D.readJson(n);i.i18n.defaultLocale=e,i.i18n.locales=[e],i.i18n.supportedLocales=[e],await D.writeJson(n,i,{spaces:2});let r=i.i18n.localeDirectory,a=m.join(t,r,e);await D.ensureDir(a);let s=$[e]??$.en;await D.outputJson(m.join(a,"common.json"),{common:{meta:{"site-name":s["site-name"],description:s.description,keywords:s.keywords,openGraph:{image:"/og-image.png"},twitter:{card:"summary_large_image",profile:"@yourhandle"}}}},{spaces:2});let l=x[e]??x.en;await D.outputJson(m.join(a,"errors.json"),{errors:{"not-found":{title:l.notFoundTitle,description:l.notFoundDescription,action:l.notFoundAction},"locale-not-supported":{title:l.localeNotSupportedTitle,description:l.localeNotSupportedDescription,action:l.localeNotSupportedAction},internal:{title:l.internalTitle,description:l.internalDescription,"try-again":l.tryAgain}}},{spaces:2}),await D.outputJson(m.join(a,"routes/home.json"),{home:{meta:{title:M[e],description:s.description},page:{title:O[e]}}},{spaces:2});}p(re,"applyLocale");function le(){let e=(process.env.LANG||process.env.LANGUAGE||process.env.LC_ALL||Intl.DateTimeFormat().resolvedOptions().locale).split(".")[0].replace("_","-").toLowerCase();return b.map(i=>i.value).includes(e)?e:"en"}p(le,"detectSystemLocale");var z=class t{static{p(this,"Logger");}static instance;logDir;auditFile;sessionId;projectRoot;constructor(){this.projectRoot=process.cwd(),this.sessionId=se.randomBytes(4).toString("hex").substring(0,7);}setProjectRoot(e){this.projectRoot=e,this.logDir=void 0,this.auditFile=void 0;}ensureAuditFile(){if(!this.logDir||!this.auditFile){this.logDir=m.join(this.projectRoot,"logs");let n=new Date().toISOString().split("T")[0];this.auditFile=m.join(this.logDir,`${n}.log`),P.existsSync(this.logDir)||P.mkdirpSync(this.logDir);}}static getInstance(){return t.instance||(t.instance=new t),t.instance}getSessionID(){return this.sessionId}getFullCommand(){return process.argv.slice(2).join(" ")}getAuditPath(){return this.ensureAuditFile(),m.relative(process.cwd(),this.auditFile)}writeToAudit(e,n){this.ensureAuditFile();let i=new Date().toISOString().replace("T"," ").split(".")[0],r=n.replace(/\u001b\[[0-9;]*m/g,"").replace(/\u001b\]8;;.*?\u001b\\/g,"").replace(/\u001b\]8;;\u001b\\/g,""),a=`${i} ${e.toUpperCase()} c.command : [session : ${this.sessionId}] : ${r}
|
|
7
|
+
`;P.appendFileSync(this.auditFile,a);}formatLink(e){return e.replace(/\\/g,"/")}info(e,n=true){console.log(`${e}`),n&&this.writeToAudit("info",e);}success(e,n=true){console.log(`${N.green(e)}`),n&&this.writeToAudit("success",e);}warn(e,n=true){console.log(`${N.yellow(e)}`),n&&this.writeToAudit("warn",e);}error(e,n,i=true){let r=n instanceof Error?n.message:String(n||""),a=`fatal: ${e} ${r}`;console.error(`${N.red(a)}`),i&&(this.writeToAudit("error",a),n instanceof Error&&n.stack&&this.writeToAudit("debug",`Stack: ${n.stack}`));}debug(e,n,i=true){process.env.DEBUG&&(console.log(`${N.gray(e)}`),n&&console.dir(n,{depth:null,colors:true}));let r=n?`${e} ${JSON.stringify(n)}`:e;i&&this.writeToAudit("debug",r);}},o=z.getInstance();function j(t,...e){let i=t.reduce((a,s,l)=>a+s+(e[l]??""),"").split(`
|
|
8
8
|
`);i[0].trim()===""&&i.shift(),i.length>0&&i[i.length-1].trim()===""&&i.pop();let r=i.filter(a=>a.trim()!=="").reduce((a,s)=>{let l=s.match(/^\s*/)?.[0].length??0;return Math.min(a,l)},1/0);return i.map(a=>a.trim()===""?"":a.slice(r)).join(`
|
|
9
|
-
`)}p(
|
|
9
|
+
`)}p(j,"dedent");var B=new Command("create-page").name("create-page").description("create a new page.").argument("<names...>","the names for the new pages.").option("-p, --private","create new pages in private groups.",false).action(async(t,e)=>{await pe(t,e);});async function pe(t,e){try{let n=m.join(process.cwd(),"sleeke.json");if(!f.existsSync(n))throw new Error("not a sleeke project (or any of the parent directories): sleeke.json");let i=JSON.parse(f.readFileSync(n,"utf8")),r=e.private?"private":"public",a=i.i18n?.defaultLocale??"en",s=i.i18n?.localeDirectory??"src/locales",l=m.join(process.cwd(),s,a,"routes");o.info(`Enumerating pages: ${t.length}, done.`);for(let v=0;v<t.length;v++){let u=t[v],d=`${v+1}/${t.length}`,w=m.join(process.cwd(),"src","app","[locale]",`(${r})`,u);if(f.existsSync(w)){o.warn(`Skipping page: ${d}, ${o.formatLink(m.join(u,"page.tsx"))} (already exists)`,!1);continue}f.mkdirSync(w,{recursive:!0}),f.writeFileSync(m.join(w,"page.tsx"),de(u),"utf8"),o.info(`Writing page: ${d}, ${o.formatLink(m.join(u,"page.tsx"))}`,!1);let y=m.join(l,`${u}.json`);f.existsSync(y)||(f.mkdirSync(l,{recursive:!0}),f.writeFileSync(y,ue(u),"utf8"),o.info(`Writing locale: ${d}, ${o.formatLink(m.join(s,a,"routes",`${u}.json`))}`,!1)),i.routes[`${r}Routes`].push(u);}f.writeFileSync(n,JSON.stringify(i,null,2),"utf8");let c=m.join(process.cwd(),"src","app","[locale]",`(${r})`,"layout.tsx");f.existsSync(c)||(f.mkdirSync(m.dirname(c),{recursive:!0}),f.writeFileSync(c,r==="public"?me():ge(),"utf8")),o.info(`Resolving pages: 100% (${t.length}/${t.length}), done.`,!1),o.info(`Session: ${o.getSessionID()}`,!1),o.info(` ${o.formatLink(o.getAuditPath())}`,!1);}catch(n){o.error(n instanceof Error?n.message:"An unknown error occurred."),process.exit(1);}}p(pe,"main");function de(t){return j`
|
|
10
10
|
import { useTranslations } from "next-intl";
|
|
11
11
|
import { getTranslations } from "next-intl/server";
|
|
12
12
|
import type { Metadata } from "next";
|
|
@@ -29,14 +29,14 @@ import {Command}from'commander';import {intro,select,isCancel,cancel,spinner,out
|
|
|
29
29
|
<div></div>
|
|
30
30
|
);
|
|
31
31
|
}
|
|
32
|
-
`}p(
|
|
33
|
-
`}p(
|
|
32
|
+
`}p(de,"pageTemplate");function ue(t){let e=t.charAt(0).toUpperCase()+t.slice(1);return JSON.stringify({[t]:{meta:{title:e,description:`${e} page description`}}},null,2)+`
|
|
33
|
+
`}p(ue,"localeTemplate");function me(){return j`
|
|
34
34
|
type Props = { children: React.ReactNode };
|
|
35
35
|
|
|
36
36
|
export default async function PublicLayout({ children }: Props) {
|
|
37
37
|
return <>{children}</>;
|
|
38
38
|
}
|
|
39
|
-
`}p(me,"publicLayoutTemplate");function ge(){return
|
|
39
|
+
`}p(me,"publicLayoutTemplate");function ge(){return j`
|
|
40
40
|
import type { Metadata } from "next";
|
|
41
41
|
|
|
42
42
|
export const metadata: Metadata = {
|
|
@@ -51,5 +51,5 @@ import {Command}from'commander';import {intro,select,isCancel,cancel,spinner,out
|
|
|
51
51
|
export default async function PrivateLayout({ children }: Props) {
|
|
52
52
|
return <>{children}</>;
|
|
53
53
|
}
|
|
54
|
-
`}p(ge,"privateLayoutTemplate");var Ae=b.map(t=>t.value),J=new Command("add-locale").name("add-locale").description("add a new locale to your project.").argument("[locales...]","the locales to add (e.g., pt-br es fr).").action(async t=>{await De(t);});async function De(t){try{let e=m.join(process.cwd(),"
|
|
54
|
+
`}p(ge,"privateLayoutTemplate");var Ae=b.map(t=>t.value),J=new Command("add-locale").name("add-locale").description("add a new locale to your project.").argument("[locales...]","the locales to add (e.g., pt-br es fr).").action(async t=>{await De(t);});async function De(t){try{let e=m.join(process.cwd(),"sleeke.json");if(!f.existsSync(e))throw new Error("not a sleeke project (or any of the parent directories): sleeke.json");let n=JSON.parse(f.readFileSync(e,"utf8")),i=n.i18n?.locales??[],r=t;if(r.length===0){intro("Add locales");let a=b.filter(l=>!i.includes(l.value)).map(l=>({value:l.value,label:`${l.label} (${l.value})`}));if(a.length===0){outro("All supported locales are already added.");return}let s=await multiselect({message:"Select locales to add:",options:a,required:!1});isCancel(s)&&(cancel("Operation cancelled."),process.exit(0)),r=s;}if(r.length===0){o.info("No locales to add.");return}o.info(`Enumerating locales: ${r.length}, done.`);for(let a=0;a<r.length;a++){let s=r[a],l=`${a+1}/${r.length}`;if(!Ae.includes(s)){o.warn(`Skipping locale: ${l}, "${s}" (unsupported locale)`,!1);continue}if(i.includes(s)){o.warn(`Skipping locale: ${l}, "${s}" (already exists)`,!1);continue}i.push(s),o.info(`Adding locale: ${l}, "${s}"`,!1);}n.i18n.locales=i,f.writeFileSync(e,JSON.stringify(n,null,2),"utf8"),o.info(`Resolving locales: 100% (${r.length}/${r.length}), done.`,!1),o.info(`Session: ${o.getSessionID()}`,!1),o.info(` ${o.formatLink(o.getAuditPath())}`,!1);}catch(e){o.error(e instanceof Error?e.message:"An unknown error occurred."),process.exit(1);}}p(De,"main");var H=new Command("add").description("add resources to your project").addCommand(B.name("page")).addCommand(J.name("locale"));var V=new Command("delete-page").description("Delete an existing page.").argument("<name...>","The name of the page.").option("-p, --private","Delete a page in private groups.",false).action(async(t,e)=>{await be(t,e);});async function be(t,e){try{let n=m.join(process.cwd(),"sleeke.json");if(!f.existsSync(n))throw new Error("fatal: not a sleeke project (or any of the parent directories): sleeke.json");let i=e.private?"private":"public",r=m.join(process.cwd(),"src","app","[locale]",`(${i})`),a=JSON.parse(f.readFileSync(n,"utf8"));o.info(`Enumerating pages: ${t.length}, done.`);let s=1;for(let c of t){let v=m.join(r,c);if(f.existsSync(v)){f.rmSync(v,{recursive:!0,force:!0});let u=a.routes[`${i}Routes`];a.routes[`${i}Routes`]=u.filter(A=>A!==c),o.info(`Deleting page: ${s}/${t.length}, ${o.formatLink(m.join(c,"page.tsx"))}`,!1);let d=a.i18n?.defaultLocale??"en",w=a.i18n?.localeDirectory??"src/locales",y=m.join(process.cwd(),w,d,"routes",`${c}.json`);f.existsSync(y)&&(f.rmSync(y),o.info(`Deleting locale: ${s}/${t.length}, ${o.formatLink(m.join(w,d,"routes",`${c}.json`))}`,!1),a.i18n.files??=[],a.i18n.files=a.i18n.files.filter(A=>A!==c));}else o.warn(`Skipping page: ${s}/${t.length}, ${o.formatLink(m.join(c,"page.tsx"))} (The page does not exist)`,!1);s++;}f.existsSync(r)||process.exit(0),f.readdirSync(r).filter(c=>c!=="layout.tsx"&&c!==".DS_Store").length===0&&f.rmSync(r,{recursive:!0,force:!0}),f.writeFileSync(n,JSON.stringify(a,null,2),"utf8"),o.info(`Resolving pages: 100% (${t.length}/${t.length}), done.`,!1),o.info(`Session: ${o.getSessionID()}`,!1),o.info(` ${o.formatLink(o.getAuditPath())}`,!1);}catch(n){o.error(n instanceof Error?n.message:"An unknown error occurred."),process.exit(1);}}p(be,"main");var W=new Command("remove-locale").name("remove-locale").description("remove a locale from your project.").argument("<locales...>","the locales to remove (e.g., pt-br es fr).").action(async t=>{await $e(t);});async function $e(t){try{let e=m.join(process.cwd(),"sleeke.json");if(!f.existsSync(e))throw new Error("not a sleeke project (or any of the parent directories): sleeke.json");let n=JSON.parse(f.readFileSync(e,"utf8")),i=n.i18n?.locales??[];o.info(`Enumerating locales: ${t.length}, done.`);for(let r=0;r<t.length;r++){let a=t[r],s=`${r+1}/${t.length}`;if(a===n.i18n.defaultLocale){o.warn(`Skipping locale: ${s}, "${a}" (cannot remove default locale)`,!1);continue}if(!i.includes(a)){o.warn(`Skipping locale: ${s}, "${a}" (not found in locales)`,!1);continue}let l=i.indexOf(a);i.splice(l,1),o.info(`Removing locale: ${s}, "${a}"`,!1);}n.i18n.locales=i,f.writeFileSync(e,JSON.stringify(n,null,2),"utf8"),o.info(`Resolving locales: 100% (${t.length}/${t.length}), done.`,!1),o.info(`Session: ${o.getSessionID()}`,!1),o.info(` ${o.formatLink(o.getAuditPath())}`,!1);}catch(e){o.error(e instanceof Error?e.message:"An unknown error occurred."),process.exit(1);}}p($e,"main");var U=new Command("rm").description("remove resources from your project").addCommand(V.name("page")).addCommand(W.name("locale"));var _=new Command("rename-page").name("rename-page").description("Rename an existing page.").argument("<oldName>","The current name of the page.").argument("<newName>","The new name for the page.").option("-p, --private","Move the page to the private group.",false).action(async(t,e,n)=>Le(t,e,n));async function Le(t,e,n){try{let i=m.join(process.cwd(),"sleeke.json");if(!f.existsSync(i))throw new Error("fatal: not a sleeke project (or any of the parent directories): sleeke.json");let r=m.join(process.cwd(),"src","app","[locale]"),a=m.join(r,"(public)",t),s=m.join(r,"(private)",t),l=null;if(f.existsSync(a)?l="public":f.existsSync(s)&&(l="private"),!l)throw new Error(`Page "${t}" does not exist in any group.`);let c=n.private?"private":"public",v=m.join(r,`(${l})`,t),u=m.join(r,`(${c})`,e);if(f.existsSync(u))throw new Error(`Page "${e}" already exists in the ${c} group.`);if(o.info(`Renaming page: ${t} \u2192 ${e}...`),f.mkdirSync(m.dirname(u),{recursive:!0}),f.renameSync(v,u),o.info(`Renamed page: ${o.formatLink(m.join(t,"page.tsx"))} \u2192 ${o.formatLink(m.join(e,"page.tsx"))}`,!1),l!==c){o.info(`Moved page: (${l}) \u2192 (${c})`,!1);let g=m.join(r,`(${l})`);f.existsSync(g)&&f.readdirSync(g).filter(I=>I!=="layout.tsx"&&I!==".DS_Store").length===0&&(f.rmSync(g,{recursive:!0,force:!0}),o.info(`Removed empty group: (${l})`,!1));}let d=JSON.parse(f.readFileSync(i,"utf8")),w=d.routes[`${l}Routes`]??[];if(d.routes[`${l}Routes`]=w.filter(g=>g!==t),l===c)d.routes[`${c}Routes`]=d.routes[`${c}Routes`].map(g=>g===t?e:g);else {let g=d.routes[`${c}Routes`]??[];d.routes[`${c}Routes`]=[...g,e];}let y=d.i18n?.defaultLocale??"en",A=d.i18n?.localeDirectory??"src/locales",C=m.join(process.cwd(),A,y,"routes",`${t}.json`),q=m.join(process.cwd(),A,y,"routes",`${e}.json`);if(f.existsSync(C)){f.renameSync(C,q),o.info(`Renamed locale: ${o.formatLink(m.join(A,y,"routes",`${t}.json`))} \u2192 ${o.formatLink(m.join(A,y,"routes",`${e}.json`))}`,!1),d.i18n.files??=[];let g=d.i18n.files.indexOf(t);g!==-1?d.i18n.files[g]=e:d.i18n.files.push(e);}f.writeFileSync(i,JSON.stringify(d,null,2),"utf8"),o.info(`Session: ${o.getSessionID()}`,!1),o.info(` ${o.formatLink(o.getAuditPath())}`,!1);}catch(i){o.error(i instanceof Error?i.message:"An unknown error occurred."),process.exit(1);}}p(Le,"main");var K=new Command("mv").description("move resources from your project").addCommand(_.name("page"));async function Re(){let t=new Command;t.name("sleeke").description("a modern generator for nextjs projects").version("1.0.0"),t.addCommand(G).addCommand(H).addCommand(U).addCommand(K),t.parse();}p(Re,"main");Re();//# sourceMappingURL=index.js.map
|
|
55
55
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants/locale-data.ts","../src/commands/init.ts","../src/utils/logger-service.ts","../src/utils/dedent.ts","../src/commands/create-page.ts","../src/commands/add-locale.ts","../src/commands/add.ts","../src/commands/delete-page.ts","../src/commands/remove-locale.ts","../src/commands/rm.ts","../src/commands/rename-page.ts","../src/commands/mv.ts","../src/index.ts"],"names":["SUPPORTED_LOCALES","value","label","GREETINGS","ar","bn","da","de","en","es","fi","fr","he","hi","it","ja","ko","mr","nl","no","pa","fa","pl","ru","sv","tl","te","tr","uk","HOME_META","SITE_META","description","keywords","ERROR_MESSAGES","notFoundTitle","notFoundDescription","notFoundAction","localeNotSupportedTitle","localeNotSupportedDescription","localeNotSupportedAction","internalTitle","internalDescription","tryAgain","init","Command","name","argument","action","main","rootPath","path","join","process","cwd","templatePath","dirname","fileURLToPath","url","fsExtra","pathExistsSync","Error","intro","detectedLocale","detectSystemLocale","rawLocale","select","message","initialValue","options","map","hint","undefined","isCancel","cancel","exit","s","spinner","start","copySync","applyLocale","stop","outro","err","console","error","locale","luxwPath","luxwConfig","readJson","i18n","defaultLocale","locales","supportedLocales","writeJson","spaces","localeDirectory","localeDirPath","ensureDir","meta","outputJson","common","openGraph","image","twitter","card","profile","msgs","title","home","page","normalized","env","LANG","LANGUAGE","LC_ALL","Intl","DateTimeFormat","resolvedOptions","split","replace","toLowerCase","l","includes","Logger","instance","logDir","auditFile","sessionId","projectRoot","crypto","randomBytes","toString","substring","setProjectRoot","root","ensureAuditFile","timestamp","Date","toISOString","fs","existsSync","mkdirpSync","getInstance","getSessionID","getFullCommand","argv","slice","getAuditPath","relative","writeToAudit","level","cleanMessage","logEntry","toUpperCase","appendFileSync","formatLink","text","info","isAudited","log","success","chalk","green","warn","yellow","errorMessage","String","fullMessage","red","stack","debug","data","DEBUG","gray","dir","depth","colors","auditMsg","JSON","stringify","logger","dedent","strings","values","lines","reduce","acc","str","i","trim","shift","length","pop","minIndent","filter","line","min","indent","match","Math","Infinity","createPage","option","names","parse","readFileSync","group","private","pageName","count","pagePath","mkdirSync","recursive","writeFileSync","pageTemplate","localeFilePath","localeTemplate","routes","push","groupLayoutPath","publicLayoutTemplate","privateLayoutTemplate","charAt","supportedValues","addLocale","existing","selectedLocales","available","raw","multiselect","required","add","addCommand","deletePage","groupPagesPath","rmSync","force","route","files","f","readdirSync","file","removeLocale","idx","indexOf","splice","rm","renamePage","oldName","newName","appLocalePath","publicPagePath","privatePagePath","sourceGroup","destGroup","oldPagePath","newPagePath","renameSync","sourceGroupPath","sourceRoutes","r","destRoutes","oldLocaleFilePath","newLocaleFilePath","mv","program","version"],"mappings":"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","file":"index.js","sourcesContent":["export const SUPPORTED_LOCALES = [\n { value: \"ar\", label: \"العربية\" },\n { value: \"bn\", label: \"বাংলা\" },\n { value: \"cs-cz\", label: \"Čeština\" },\n { value: \"da\", label: \"Dansk\" },\n { value: \"de\", label: \"Deutsch\" },\n { value: \"el-gr\", label: \"Ελληνικά\" },\n { value: \"en\", label: \"English\" },\n { value: \"es\", label: \"Español\" },\n { value: \"fi\", label: \"Suomi\" },\n { value: \"fr\", label: \"Français\" },\n { value: \"he\", label: \"עברית\" },\n { value: \"hi\", label: \"हिन्दी\" },\n { value: \"hu-hu\", label: \"Magyar\" },\n { value: \"id-id\", label: \"Indonesia\" },\n { value: \"it\", label: \"Italiano\" },\n { value: \"ja\", label: \"日本語\" },\n { value: \"ko\", label: \"한국어\" },\n { value: \"ms-my\", label: \"Melayu\" },\n { value: \"mr\", label: \"मराठी\" },\n { value: \"nl\", label: \"Nederlands\" },\n { value: \"no\", label: \"Norsk\" },\n { value: \"pa\", label: \"ਪੰਜਾਬੀ\" },\n { value: \"fa\", label: \"فارسی\" },\n { value: \"pl\", label: \"Polski\" },\n { value: \"pt-br\", label: \"Português (Brasil)\" },\n { value: \"ro-ro\", label: \"Română\" },\n { value: \"ru\", label: \"Русский\" },\n { value: \"sv\", label: \"Svenska\" },\n { value: \"tl\", label: \"Tagalog\" },\n { value: \"te\", label: \"తెలుగు\" },\n { value: \"th-th\", label: \"ไทย\" },\n { value: \"tr\", label: \"Türkçe\" },\n { value: \"uk\", label: \"Українська\" },\n { value: \"vi-vn\", label: \"Tiếng Việt\" },\n { value: \"zh-cn\", label: \"中文 (简体)\" },\n { value: \"zh-tw\", label: \"中文 (繁體)\" },\n] as const;\n\nexport const GREETINGS: Record<string, string> = {\n ar: \"مرحباً\",\n bn: \"স্বাগতম\",\n \"cs-cz\": \"Vítejte\",\n da: \"Velkommen\",\n de: \"Willkommen\",\n \"el-gr\": \"Καλώς ήρθατε\",\n en: \"Welcome\",\n es: \"Bienvenido\",\n fi: \"Tervetuloa\",\n fr: \"Bienvenue\",\n he: \"ברוך הבא\",\n hi: \"स्वागत है\",\n \"hu-hu\": \"Üdvözöljük\",\n \"id-id\": \"Selamat datang\",\n it: \"Benvenuto\",\n ja: \"ようこそ\",\n ko: \"환영합니다\",\n \"ms-my\": \"Selamat datang\",\n mr: \"स्वागत आहे\",\n nl: \"Welkom\",\n no: \"Velkommen\",\n pa: \"ਸੁਆਗਤ ਹੈ\",\n fa: \"خوش آمدید\",\n pl: \"Witamy\",\n \"pt-br\": \"Bem-vindo\",\n \"ro-ro\": \"Bun venit\",\n ru: \"Добро пожаловать\",\n sv: \"Välkommen\",\n tl: \"Maligayang pagdating\",\n te: \"స్వాగతం\",\n \"th-th\": \"ยินดีต้อนรับ\",\n tr: \"Hoş geldiniz\",\n uk: \"Ласкаво просимо\",\n \"vi-vn\": \"Chào mừng\",\n \"zh-cn\": \"欢迎\",\n \"zh-tw\": \"歡迎\",\n};\n\nexport const HOME_META: Record<string, string> = {\n ar: \"الرئيسية\",\n bn: \"হোম\",\n \"cs-cz\": \"Domů\",\n da: \"Hjem\",\n de: \"Startseite\",\n \"el-gr\": \"Αρχική\",\n en: \"Home\",\n es: \"Inicio\",\n fi: \"Etusivu\",\n fr: \"Accueil\",\n he: \"דף הבית\",\n hi: \"होम\",\n \"hu-hu\": \"Kezdőlap\",\n \"id-id\": \"Beranda\",\n it: \"Home\",\n ja: \"ホーム\",\n ko: \"홈\",\n \"ms-my\": \"Laman utama\",\n mr: \"मुखपृष्ठ\",\n nl: \"Home\",\n no: \"Hjem\",\n pa: \"ਹੋਮ\",\n fa: \"صفحه اصلی\",\n pl: \"Strona główna\",\n \"pt-br\": \"Início\",\n \"ro-ro\": \"Acasă\",\n ru: \"Главная\",\n sv: \"Hem\",\n tl: \"Tahanan\",\n te: \"హోమ్\",\n \"th-th\": \"หน้าแรก\",\n tr: \"Ana Sayfa\",\n uk: \"Головна\",\n \"vi-vn\": \"Trang chủ\",\n \"zh-cn\": \"首页\",\n \"zh-tw\": \"首頁\",\n};\n\nexport type ErrorMessages = {\n notFoundTitle: string;\n notFoundDescription: string;\n notFoundAction: string;\n localeNotSupportedTitle: string;\n localeNotSupportedDescription: string;\n localeNotSupportedAction: string;\n internalTitle: string;\n internalDescription: string;\n tryAgain: string;\n};\n\nexport type SiteMeta = {\n \"site-name\": string;\n description: string;\n keywords: string;\n};\n\nexport const SITE_META: Record<string, SiteMeta> = {\n ar: { \"site-name\": \"اسم الموقع\", description: \"وصف موقع الويب الخاص بك\", keywords: \"كلمة رئيسية1, كلمة رئيسية2, كلمة رئيسية3\" },\n bn: { \"site-name\": \"সাইটের নাম\", description: \"আপনার ওয়েবসাইটের বিবরণ\", keywords: \"কীওয়ার্ড1, কীওয়ার্ড2, কীওয়ার্ড3\" },\n \"cs-cz\": { \"site-name\": \"Název webu\", description: \"Popis vašeho webu\", keywords: \"klíčové-slovo1, klíčové-slovo2, klíčové-slovo3\" },\n da: { \"site-name\": \"Sidenavn\", description: \"Beskrivelse af din hjemmeside\", keywords: \"nøgleord1, nøgleord2, nøgleord3\" },\n de: { \"site-name\": \"Seitenname\", description: \"Beschreibung Ihrer Website\", keywords: \"Schlüsselwort1, Schlüsselwort2, Schlüsselwort3\" },\n \"el-gr\": { \"site-name\": \"Όνομα Ιστότοπου\", description: \"Περιγραφή του ιστότοπού σας\", keywords: \"λέξη-κλειδί1, λέξη-κλειδί2, λέξη-κλειδί3\" },\n en: { \"site-name\": \"Site Name\", description: \"Your website description\", keywords: \"keyword1, keyword2, keyword3\" },\n es: { \"site-name\": \"Nombre del Sitio\", description: \"Descripción de tu sitio web\", keywords: \"palabra-clave1, palabra-clave2, palabra-clave3\" },\n fi: { \"site-name\": \"Sivuston nimi\", description: \"Kuvaus verkkosivustostasi\", keywords: \"avainsana1, avainsana2, avainsana3\" },\n fr: { \"site-name\": \"Nom du Site\", description: \"Description de votre site web\", keywords: \"mot-clé1, mot-clé2, mot-clé3\" },\n he: { \"site-name\": \"שם האתר\", description: \"תיאור האתר שלך\", keywords: \"מילת מפתח1, מילת מפתח2, מילת מפתח3\" },\n hi: { \"site-name\": \"साइट का नाम\", description: \"आपकी वेबसाइट का विवरण\", keywords: \"कीवर्ड1, कीवर्ड2, कीवर्ड3\" },\n \"hu-hu\": { \"site-name\": \"Webhely neve\", description: \"A weboldal leírása\", keywords: \"kulcsszó1, kulcsszó2, kulcsszó3\" },\n \"id-id\": { \"site-name\": \"Nama Situs\", description: \"Deskripsi situs web Anda\", keywords: \"kata-kunci1, kata-kunci2, kata-kunci3\" },\n it: { \"site-name\": \"Nome del Sito\", description: \"Descrizione del tuo sito web\", keywords: \"parola-chiave1, parola-chiave2, parola-chiave3\" },\n ja: { \"site-name\": \"サイト名\", description: \"あなたのウェブサイトの説明\", keywords: \"キーワード1, キーワード2, キーワード3\" },\n ko: { \"site-name\": \"사이트 이름\", description: \"귀하의 웹사이트 설명\", keywords: \"키워드1, 키워드2, 키워드3\" },\n \"ms-my\": { \"site-name\": \"Nama Laman\", description: \"Penerangan laman web anda\", keywords: \"kata-kunci1, kata-kunci2, kata-kunci3\" },\n mr: { \"site-name\": \"साइटचे नाव\", description: \"तुमच्या वेबसाइटचे वर्णन\", keywords: \"कीवर्ड1, कीवर्ड2, कीवर्ड3\" },\n nl: { \"site-name\": \"Sitenaam\", description: \"Beschrijving van uw website\", keywords: \"trefwoord1, trefwoord2, trefwoord3\" },\n no: { \"site-name\": \"Sidenavn\", description: \"Beskrivelse av nettstedet ditt\", keywords: \"nøkkelord1, nøkkelord2, nøkkelord3\" },\n pa: { \"site-name\": \"ਸਾਈਟ ਦਾ ਨਾਂ\", description: \"ਤੁਹਾਡੀ ਵੈੱਬਸਾਈਟ ਦਾ ਵੇਰਵਾ\", keywords: \"ਕੀਵਰਡ1, ਕੀਵਰਡ2, ਕੀਵਰਡ3\" },\n fa: { \"site-name\": \"نام سایت\", description: \"توضیح وبسایت شما\", keywords: \"کلمه کلیدی1, کلمه کلیدی2, کلمه کلیدی3\" },\n pl: { \"site-name\": \"Nazwa strony\", description: \"Opis Twojej strony internetowej\", keywords: \"słowo-kluczowe1, słowo-kluczowe2, słowo-kluczowe3\" },\n \"pt-br\": { \"site-name\": \"Nome do Site\", description: \"Descrição do seu site\", keywords: \"palavra-chave1, palavra-chave2, palavra-chave3\" },\n \"ro-ro\": { \"site-name\": \"Numele site-ului\", description: \"Descrierea site-ului dvs.\", keywords: \"cuvânt-cheie1, cuvânt-cheie2, cuvânt-cheie3\" },\n ru: { \"site-name\": \"Название сайта\", description: \"Описание вашего сайта\", keywords: \"ключевое-слово1, ключевое-слово2, ключевое-слово3\" },\n sv: { \"site-name\": \"Webbplatsens namn\", description: \"Beskrivning av din webbplats\", keywords: \"nyckelord1, nyckelord2, nyckelord3\" },\n tl: { \"site-name\": \"Pangalan ng site\", description: \"Paglalarawan ng iyong website\", keywords: \"keyword1, keyword2, keyword3\" },\n te: { \"site-name\": \"సైట్ పేరు\", description: \"మీ వెబ్సైట్ వివరణ\", keywords: \"కీవర్డ్1, కీవర్డ్2, కీవర్డ్3\" },\n \"th-th\": { \"site-name\": \"ชื่อเว็บไซต์\", description: \"คำอธิบายเว็บไซต์ของคุณ\", keywords: \"คำหลัก1, คำหลัก2, คำหลัก3\" },\n tr: { \"site-name\": \"Site Adı\", description: \"Web sitenizin açıklaması\", keywords: \"anahtar-kelime1, anahtar-kelime2, anahtar-kelime3\" },\n uk: { \"site-name\": \"Назва сайту\", description: \"Опис вашого вебсайту\", keywords: \"ключове-слово1, ключове-слово2, ключове-слово3\" },\n \"vi-vn\": { \"site-name\": \"Tên trang web\", description: \"Mô tả trang web của bạn\", keywords: \"từ-khóa1, từ-khóa2, từ-khóa3\" },\n \"zh-cn\": { \"site-name\": \"网站名称\", description: \"您的网站描述\", keywords: \"关键词1, 关键词2, 关键词3\" },\n \"zh-tw\": { \"site-name\": \"網站名稱\", description: \"您的網站描述\", keywords: \"關鍵字1, 關鍵字2, 關鍵字3\" },\n};\n\nexport const ERROR_MESSAGES: Record<string, ErrorMessages> = {\n ar: { notFoundTitle: \"الصفحة غير موجودة\", notFoundDescription: \"الصفحة التي تبحث عنها غير موجودة.\", notFoundAction: \"العودة إلى الرئيسية\", localeNotSupportedTitle: \"اللغة غير مدعومة\", localeNotSupportedDescription: \"اللغة التي اخترتها غير متوفرة بعد.\", localeNotSupportedAction: \"العودة إلى الرئيسية\", internalTitle: \"حدث خطأ ما\", internalDescription: \"حدث خطأ غير متوقع.\", tryAgain: \"حاول مرة أخرى\" },\n bn: { notFoundTitle: \"পৃষ্ঠাটি পাওয়া যায়নি\", notFoundDescription: \"আপনি যে পৃষ্ঠাটি খুঁজছেন তা বিদ্যমান নেই।\", notFoundAction: \"হোমে যান\", localeNotSupportedTitle: \"ভাষা সমর্থিত নয়\", localeNotSupportedDescription: \"আপনার নির্বাচিত ভাষাটি এখনও উপলব্ধ নয়।\", localeNotSupportedAction: \"হোমে যান\", internalTitle: \"কিছু ভুল হয়েছে\", internalDescription: \"একটি অপ্রত্যাশিত ত্রুটি ঘটেছে।\", tryAgain: \"আবার চেষ্টা করুন\" },\n \"cs-cz\": { notFoundTitle: \"Stránka nenalezena\", notFoundDescription: \"Stránka, kterou hledáte, neexistuje.\", notFoundAction: \"Domů\", localeNotSupportedTitle: \"Jazyk není podporován\", localeNotSupportedDescription: \"Vámi vybraný jazyk ještě není k dispozici.\", localeNotSupportedAction: \"Domů\", internalTitle: \"Něco se pokazilo\", internalDescription: \"Došlo k neočekávané chybě.\", tryAgain: \"Zkusit znovu\" },\n da: { notFoundTitle: \"Siden blev ikke fundet\", notFoundDescription: \"Den side, du leder efter, findes ikke.\", notFoundAction: \"Gå til forsiden\", localeNotSupportedTitle: \"Sprog understøttes ikke\", localeNotSupportedDescription: \"Det valgte sprog er endnu ikke tilgængeligt.\", localeNotSupportedAction: \"Gå til forsiden\", internalTitle: \"Noget gik galt\", internalDescription: \"Der opstod en uventet fejl.\", tryAgain: \"Prøv igen\" },\n de: { notFoundTitle: \"Seite nicht gefunden\", notFoundDescription: \"Die von Ihnen gesuchte Seite existiert nicht.\", notFoundAction: \"Zur Startseite\", localeNotSupportedTitle: \"Sprache nicht unterstützt\", localeNotSupportedDescription: \"Die ausgewählte Sprache ist noch nicht verfügbar.\", localeNotSupportedAction: \"Zur Startseite\", internalTitle: \"Etwas ist schiefgelaufen\", internalDescription: \"Ein unerwarteter Fehler ist aufgetreten.\", tryAgain: \"Erneut versuchen\" },\n \"el-gr\": { notFoundTitle: \"Η σελίδα δεν βρέθηκε\", notFoundDescription: \"Η σελίδα που αναζητάτε δεν υπάρχει.\", notFoundAction: \"Πηγαίνετε στην αρχική\", localeNotSupportedTitle: \"Η γλώσσα δεν υποστηρίζεται\", localeNotSupportedDescription: \"Η γλώσσα που επιλέξατε δεν είναι ακόμα διαθέσιμη.\", localeNotSupportedAction: \"Πηγαίνετε στην αρχική\", internalTitle: \"Κάτι πήγε στραβά\", internalDescription: \"Προέκυψε ένα απρόσμενο σφάλμα.\", tryAgain: \"Προσπαθήστε ξανά\" },\n en: { notFoundTitle: \"Page not found\", notFoundDescription: \"The page you're looking for doesn't exist.\", notFoundAction: \"Go home\", localeNotSupportedTitle: \"Locale not supported\", localeNotSupportedDescription: \"The language you selected is not yet available.\", localeNotSupportedAction: \"Go home\", internalTitle: \"Something went wrong\", internalDescription: \"An unexpected error occurred.\", tryAgain: \"Try again\" },\n es: { notFoundTitle: \"Página no encontrada\", notFoundDescription: \"La página que buscas no existe.\", notFoundAction: \"Ir a inicio\", localeNotSupportedTitle: \"Idioma no compatible\", localeNotSupportedDescription: \"El idioma seleccionado aún no está disponible.\", localeNotSupportedAction: \"Ir a inicio\", internalTitle: \"Algo salió mal\", internalDescription: \"Ocurrió un error inesperado.\", tryAgain: \"Intentar de nuevo\" },\n fi: { notFoundTitle: \"Sivua ei löydy\", notFoundDescription: \"Hakemaasi sivua ei ole olemassa.\", notFoundAction: \"Mene etusivulle\", localeNotSupportedTitle: \"Kieltä ei tueta\", localeNotSupportedDescription: \"Valitsemasi kieli ei ole vielä saatavilla.\", localeNotSupportedAction: \"Mene etusivulle\", internalTitle: \"Jotain meni pieleen\", internalDescription: \"Tapahtui odottamaton virhe.\", tryAgain: \"Yritä uudelleen\" },\n fr: { notFoundTitle: \"Page non trouvée\", notFoundDescription: \"La page que vous cherchez n'existe pas.\", notFoundAction: \"Accueil\", localeNotSupportedTitle: \"Langue non prise en charge\", localeNotSupportedDescription: \"La langue sélectionnée n'est pas encore disponible.\", localeNotSupportedAction: \"Accueil\", internalTitle: \"Quelque chose s'est mal passé\", internalDescription: \"Une erreur inattendue s'est produite.\", tryAgain: \"Réessayer\" },\n he: { notFoundTitle: \"הדף לא נמצא\", notFoundDescription: \"הדף שאתה מחפש אינו קיים.\", notFoundAction: \"עמוד הבית\", localeNotSupportedTitle: \"השפה אינה נתמכת\", localeNotSupportedDescription: \"השפה שבחרת עדיין לא זמינה.\", localeNotSupportedAction: \"עמוד הבית\", internalTitle: \"משהו השתבש\", internalDescription: \"אירעה שגיאה בלתי צפויה.\", tryAgain: \"נסה שוב\" },\n hi: { notFoundTitle: \"पेज नहीं मिला\", notFoundDescription: \"आप जिस पेज की तलाश कर रहे हैं वह मौजूद नहीं है।\", notFoundAction: \"होम पर जाएं\", localeNotSupportedTitle: \"भाषा समर्थित नहीं है\", localeNotSupportedDescription: \"आपके द्वारा चुनी गई भाषा अभी उपलब्ध नहीं है।\", localeNotSupportedAction: \"होम पर जाएं\", internalTitle: \"कुछ गलत हो गया\", internalDescription: \"एक अप्रत्याशित त्रुटि हुई।\", tryAgain: \"पुनः प्रयास करें\" },\n \"hu-hu\": { notFoundTitle: \"Az oldal nem található\", notFoundDescription: \"A keresett oldal nem létezik.\", notFoundAction: \"Ugrás a kezdőlapra\", localeNotSupportedTitle: \"A nyelv nem támogatott\", localeNotSupportedDescription: \"A kiválasztott nyelv még nem érhető el.\", localeNotSupportedAction: \"Ugrás a kezdőlapra\", internalTitle: \"Valami hiba történt\", internalDescription: \"Váratlan hiba történt.\", tryAgain: \"Próbálja újra\" },\n \"id-id\": { notFoundTitle: \"Halaman tidak ditemukan\", notFoundDescription: \"Halaman yang Anda cari tidak ada.\", notFoundAction: \"Ke beranda\", localeNotSupportedTitle: \"Bahasa tidak didukung\", localeNotSupportedDescription: \"Bahasa yang Anda pilih belum tersedia.\", localeNotSupportedAction: \"Ke beranda\", internalTitle: \"Terjadi kesalahan\", internalDescription: \"Terjadi kesalahan yang tidak terduga.\", tryAgain: \"Coba lagi\" },\n it: { notFoundTitle: \"Pagina non trovata\", notFoundDescription: \"La pagina che cerchi non esiste.\", notFoundAction: \"Vai alla home\", localeNotSupportedTitle: \"Lingua non supportata\", localeNotSupportedDescription: \"La lingua selezionata non è ancora disponibile.\", localeNotSupportedAction: \"Vai alla home\", internalTitle: \"Qualcosa è andato storto\", internalDescription: \"Si è verificato un errore imprevisto.\", tryAgain: \"Riprova\" },\n ja: { notFoundTitle: \"ページが見つかりません\", notFoundDescription: \"お探しのページは存在しません。\", notFoundAction: \"ホームに戻る\", localeNotSupportedTitle: \"言語がサポートされていません\", localeNotSupportedDescription: \"選択した言語はまだ利用できません。\", localeNotSupportedAction: \"ホームに戻る\", internalTitle: \"エラーが発生しました\", internalDescription: \"予期しないエラーが発生しました。\", tryAgain: \"再試行\" },\n ko: { notFoundTitle: \"페이지를 찾을 수 없습니다\", notFoundDescription: \"찾고 계신 페이지가 존재하지 않습니다.\", notFoundAction: \"홈으로 가기\", localeNotSupportedTitle: \"언어가 지원되지 않습니다\", localeNotSupportedDescription: \"선택한 언어를 아직 사용할 수 없습니다.\", localeNotSupportedAction: \"홈으로 가기\", internalTitle: \"문제가 발생했습니다\", internalDescription: \"예상치 못한 오류가 발생했습니다.\", tryAgain: \"다시 시도\" },\n \"ms-my\": { notFoundTitle: \"Halaman tidak dijumpai\", notFoundDescription: \"Halaman yang anda cari tidak wujud.\", notFoundAction: \"Ke laman utama\", localeNotSupportedTitle: \"Bahasa tidak disokong\", localeNotSupportedDescription: \"Bahasa yang anda pilih belum tersedia.\", localeNotSupportedAction: \"Ke laman utama\", internalTitle: \"Sesuatu telah berlaku\", internalDescription: \"Ralat tidak dijangka berlaku.\", tryAgain: \"Cuba lagi\" },\n mr: { notFoundTitle: \"पृष्ठ सापडले नाही\", notFoundDescription: \"तुम्ही शोधत असलेले पृष्ठ अस्तित्वात नाही.\", notFoundAction: \"मुखपृष्ठावर जा\", localeNotSupportedTitle: \"भाषा समर्थित नाही\", localeNotSupportedDescription: \"तुम्ही निवडलेली भाषा अद्याप उपलब्ध नाही.\", localeNotSupportedAction: \"मुखपृष्ठावर जा\", internalTitle: \"काहीतरी चूक झाली\", internalDescription: \"एक अनपेक्षित त्रुटी आली.\", tryAgain: \"पुन्हा प्रयत्न करा\" },\n nl: { notFoundTitle: \"Pagina niet gevonden\", notFoundDescription: \"De pagina die u zoekt bestaat niet.\", notFoundAction: \"Naar home\", localeNotSupportedTitle: \"Taal niet ondersteund\", localeNotSupportedDescription: \"De geselecteerde taal is nog niet beschikbaar.\", localeNotSupportedAction: \"Naar home\", internalTitle: \"Er is iets misgegaan\", internalDescription: \"Er is een onverwachte fout opgetreden.\", tryAgain: \"Probeer opnieuw\" },\n no: { notFoundTitle: \"Siden ble ikke funnet\", notFoundDescription: \"Siden du leter etter finnes ikke.\", notFoundAction: \"Gå til hjem\", localeNotSupportedTitle: \"Språk støttes ikke\", localeNotSupportedDescription: \"Det valgte språket er ennå ikke tilgjengelig.\", localeNotSupportedAction: \"Gå til hjem\", internalTitle: \"Noe gikk galt\", internalDescription: \"Det oppsto en uventet feil.\", tryAgain: \"Prøv på nytt\" },\n pa: { notFoundTitle: \"ਪੇਜ ਨਹੀਂ ਮਿਲਿਆ\", notFoundDescription: \"ਜਿਸ ਪੇਜ ਦੀ ਤੁਸੀਂ ਭਾਲ ਕਰ ਰਹੇ ਹੋ ਉਹ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।\", notFoundAction: \"ਹੋਮ ਤੇ ਜਾਓ\", localeNotSupportedTitle: \"ਭਾਸ਼ਾ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ\", localeNotSupportedDescription: \"ਤੁਹਾਡੇ ਦੁਆਰਾ ਚੁਣੀ ਗਈ ਭਾਸ਼ਾ ਅਜੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।\", localeNotSupportedAction: \"ਹੋਮ ਤੇ ਜਾਓ\", internalTitle: \"ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ\", internalDescription: \"ਇੱਕ ਅਚਾਨਕ ਗੜਬੜੀ ਵਾਪਰ ਗਈ।\", tryAgain: \"ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ\" },\n fa: { notFoundTitle: \"صفحه پیدا نشد\", notFoundDescription: \"صفحهای که به دنبال آن هستید وجود ندارد.\", notFoundAction: \"برو به خانه\", localeNotSupportedTitle: \"زبان پشتیبانی نمیشود\", localeNotSupportedDescription: \"زبانی که انتخاب کردهاید هنوز در دسترس نیست.\", localeNotSupportedAction: \"برو به خانه\", internalTitle: \"مشکلی پیش آمد\", internalDescription: \"خطای غیرمنتظرهای رخ داد.\", tryAgain: \"دوباره تلاش کنید\" },\n pl: { notFoundTitle: \"Strona nie znaleziona\", notFoundDescription: \"Strona, której szukasz, nie istnieje.\", notFoundAction: \"Przejdź do strony głównej\", localeNotSupportedTitle: \"Język nie jest obsługiwany\", localeNotSupportedDescription: \"Wybrany język nie jest jeszcze dostępny.\", localeNotSupportedAction: \"Przejdź do strony głównej\", internalTitle: \"Coś poszło nie tak\", internalDescription: \"Wystąpił nieoczekiwany błąd.\", tryAgain: \"Spróbuj ponownie\" },\n \"pt-br\": { notFoundTitle: \"Página não encontrada\", notFoundDescription: \"A página que você procura não existe.\", notFoundAction: \"Ir para o início\", localeNotSupportedTitle: \"Idioma não suportado\", localeNotSupportedDescription: \"O idioma selecionado ainda não está disponível.\", localeNotSupportedAction: \"Ir para o início\", internalTitle: \"Algo deu errado\", internalDescription: \"Ocorreu um erro inesperado.\", tryAgain: \"Tentar novamente\" },\n \"ro-ro\": { notFoundTitle: \"Pagina nu a fost găsită\", notFoundDescription: \"Pagina pe care o căutați nu există.\", notFoundAction: \"Mergi la pagina principală\", localeNotSupportedTitle: \"Limba nu este acceptată\", localeNotSupportedDescription: \"Limba selectată nu este încă disponibilă.\", localeNotSupportedAction: \"Mergi la pagina principală\", internalTitle: \"Ceva a mers prost\", internalDescription: \"A apărut o eroare neașteptată.\", tryAgain: \"Încercați din nou\" },\n ru: { notFoundTitle: \"Страница не найдена\", notFoundDescription: \"Страница, которую вы ищете, не существует.\", notFoundAction: \"На главную\", localeNotSupportedTitle: \"Язык не поддерживается\", localeNotSupportedDescription: \"Выбранный язык еще не доступен.\", localeNotSupportedAction: \"На главную\", internalTitle: \"Что-то пошло не так\", internalDescription: \"Произошла неожиданная ошибка.\", tryAgain: \"Попробовать снова\" },\n sv: { notFoundTitle: \"Sidan hittades inte\", notFoundDescription: \"Sidan du letar efter finns inte.\", notFoundAction: \"Gå till hem\", localeNotSupportedTitle: \"Språket stöds inte\", localeNotSupportedDescription: \"Det valda språket är ännu inte tillgängligt.\", localeNotSupportedAction: \"Gå till hem\", internalTitle: \"Något gick fel\", internalDescription: \"Ett oväntat fel inträffade.\", tryAgain: \"Försök igen\" },\n tl: { notFoundTitle: \"Hindi nahanap ang pahina\", notFoundDescription: \"Ang pahina na iyong hinahanap ay hindi umiiral.\", notFoundAction: \"Pumunta sa bahay\", localeNotSupportedTitle: \"Hindi suportado ang wika\", localeNotSupportedDescription: \"Ang wikang iyong pinili ay hindi pa available.\", localeNotSupportedAction: \"Pumunta sa bahay\", internalTitle: \"May maling nangyari\", internalDescription: \"Isang hindi inaasahang error ang nangyari.\", tryAgain: \"Subukan muli\" },\n te: { notFoundTitle: \"పేజీ కనుగొనబడలేదు\", notFoundDescription: \"మీరు వెతుకుతున్న పేజీ ఉనికిలో లేదు.\", notFoundAction: \"హోమ్కు వెళ్ళండి\", localeNotSupportedTitle: \"భాష మద్దతు లేదు\", localeNotSupportedDescription: \"మీరు ఎంచుకున్న భాష ఇంకా అందుబాటులో లేదు.\", localeNotSupportedAction: \"హోమ్కు వెళ్ళండి\", internalTitle: \"ఏదో తప్పు జరిగింది\", internalDescription: \"ఊహించని లోపం సంభవించింది.\", tryAgain: \"మళ్ళీ ప్రయత్నించండి\" },\n \"th-th\": { notFoundTitle: \"ไม่พบหน้า\", notFoundDescription: \"หน้าที่คุณกำลังมองหาไม่มีอยู่\", notFoundAction: \"กลับไปหน้าแรก\", localeNotSupportedTitle: \"ไม่รองรับภาษา\", localeNotSupportedDescription: \"ภาษาที่คุณเลือกยังไม่พร้อมใช้งาน\", localeNotSupportedAction: \"กลับไปหน้าแรก\", internalTitle: \"เกิดข้อผิดพลาด\", internalDescription: \"เกิดข้อผิดพลาดที่ไม่คาดคิด\", tryAgain: \"ลองอีกครั้ง\" },\n tr: { notFoundTitle: \"Sayfa bulunamadı\", notFoundDescription: \"Aradığınız sayfa mevcut değil.\", notFoundAction: \"Ana sayfaya git\", localeNotSupportedTitle: \"Dil desteklenmiyor\", localeNotSupportedDescription: \"Seçtiğiniz dil henüz mevcut değil.\", localeNotSupportedAction: \"Ana sayfaya git\", internalTitle: \"Bir şeyler yanlış gitti\", internalDescription: \"Beklenmeyen bir hata oluştu.\", tryAgain: \"Tekrar dene\" },\n uk: { notFoundTitle: \"Сторінку не знайдено\", notFoundDescription: \"Сторінка, яку ви шукаєте, не існує.\", notFoundAction: \"На головну\", localeNotSupportedTitle: \"Мова не підтримується\", localeNotSupportedDescription: \"Вибрана мова ще не доступна.\", localeNotSupportedAction: \"На головну\", internalTitle: \"Щось пішло не так\", internalDescription: \"Сталася неочікувана помилка.\", tryAgain: \"Спробувати знову\" },\n \"vi-vn\": { notFoundTitle: \"Trang không tìm thấy\", notFoundDescription: \"Trang bạn đang tìm kiếm không tồn tại.\", notFoundAction: \"Về trang chủ\", localeNotSupportedTitle: \"Ngôn ngữ không được hỗ trợ\", localeNotSupportedDescription: \"Ngôn ngữ bạn chọn chưa có sẵn.\", localeNotSupportedAction: \"Về trang chủ\", internalTitle: \"Đã xảy ra lỗi\", internalDescription: \"Đã xảy ra lỗi không mong đợi.\", tryAgain: \"Thử lại\" },\n \"zh-cn\": { notFoundTitle: \"页面未找到\", notFoundDescription: \"您要查找的页面不存在。\", notFoundAction: \"返回首页\", localeNotSupportedTitle: \"语言不受支持\", localeNotSupportedDescription: \"您选择的语言尚不可用。\", localeNotSupportedAction: \"返回首页\", internalTitle: \"出现了问题\", internalDescription: \"发生了意外错误。\", tryAgain: \"重试\" },\n \"zh-tw\": { notFoundTitle: \"頁面未找到\", notFoundDescription: \"您要查詢的頁面不存在。\", notFoundAction: \"返回首頁\", localeNotSupportedTitle: \"語言不受支援\", localeNotSupportedDescription: \"您選擇的語言尚不可用。\", localeNotSupportedAction: \"返回首頁\", internalTitle: \"出現問題\", internalDescription: \"發生意外錯誤。\", tryAgain: \"重試\" },\n};\n","import {\n intro,\n outro,\n select,\n spinner,\n isCancel,\n cancel,\n} from \"@clack/prompts\";\nimport { Command } from \"commander\";\nimport fsExtra from \"fs-extra/esm\";\nimport path from \"path\";\nimport { fileURLToPath } from \"url\";\nimport { SUPPORTED_LOCALES, GREETINGS, ERROR_MESSAGES, SITE_META, HOME_META } from \"@/constants/locale-data\";\n\nexport const init = new Command(\"init\")\n .name(\"init\")\n .description(\"Initialize a new Luxw project.\")\n .argument(\"<name>\", \"The name for the new project.\")\n .action(async (name: string) => main(name));\n\nasync function main(name: string): Promise<void> {\n try {\n const rootPath = path.join(process.cwd(), name);\n const templatePath = path.join(\n path.dirname(fileURLToPath(import.meta.url)),\n \"templates\",\n \"next-app\"\n );\n\n if (fsExtra.pathExistsSync(rootPath)) {\n throw new Error(\n `Cannot create Luxw project. The folder \"${name}\" already exists at \"${rootPath}\".`\n );\n }\n\n intro(`Creating Luxw project: ${name}`);\n\n const detectedLocale = detectSystemLocale();\n\n const rawLocale = await select({\n message: \"Select the default locale:\",\n initialValue: detectedLocale,\n options: SUPPORTED_LOCALES.map(({ value, label }) => ({\n value,\n label,\n hint:\n value === detectedLocale ? \"detected from your system\" : undefined,\n })),\n });\n\n if (isCancel(rawLocale)) {\n cancel(\"Operation cancelled.\");\n process.exit(0);\n }\n\n const s = spinner();\n s.start(\"Scaffolding project...\");\n\n fsExtra.copySync(templatePath, rootPath);\n await applyLocale(rootPath, rawLocale);\n\n s.stop(\"Project scaffolded.\");\n\n outro(\n `Project ready at ${rootPath}\\n\\n cd ${name}\\n pnpm install\\n pnpm dev`\n );\n } catch (err: unknown) {\n console.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n\nasync function applyLocale(rootPath: string, locale: string): Promise<void> {\n const luxwPath = path.join(rootPath, \"luxw.json\");\n const luxwConfig = await fsExtra.readJson(luxwPath);\n\n luxwConfig.i18n.defaultLocale = locale;\n luxwConfig.i18n.locales = [locale];\n luxwConfig.i18n.supportedLocales = [locale];\n\n await fsExtra.writeJson(luxwPath, luxwConfig, { spaces: 2 });\n\n const localeDirectory = luxwConfig.i18n.localeDirectory;\n const localeDirPath = path.join(rootPath, localeDirectory, locale);\n\n await fsExtra.ensureDir(localeDirPath);\n\n const meta = SITE_META[locale] ?? SITE_META.en;\n await fsExtra.outputJson(\n path.join(localeDirPath, \"common.json\"),\n {\n common: {\n meta: {\n \"site-name\": meta[\"site-name\"],\n description: meta.description,\n keywords: meta.keywords,\n openGraph : {\n image: \"/og-image.png\",\n },\n twitter: {\n card: \"summary_large_image\",\n profile: \"@yourhandle\",\n }\n },\n },\n },\n { spaces: 2 }\n );\n\n const msgs = ERROR_MESSAGES[locale] ?? ERROR_MESSAGES.en;\n await fsExtra.outputJson(\n path.join(localeDirPath, \"errors.json\"),\n {\n \"errors\": {\n \"not-found\": { title: msgs.notFoundTitle, description: msgs.notFoundDescription, action: msgs.notFoundAction },\n \"locale-not-supported\": { title: msgs.localeNotSupportedTitle, description: msgs.localeNotSupportedDescription, action: msgs.localeNotSupportedAction },\n \"internal\": { title: msgs.internalTitle, description: msgs.internalDescription, \"try-again\": msgs.tryAgain },\n }\n },\n { spaces: 2 }\n );\n await fsExtra.outputJson(\n path.join(localeDirPath, \"routes/home.json\"),\n { home: { meta: { title: HOME_META[locale], description: meta.description }, page: { title: GREETINGS[locale] } } },\n { spaces: 2 }\n );\n}\n\nfunction detectSystemLocale(): string {\n const raw =\n process.env.LANG ||\n process.env.LANGUAGE ||\n process.env.LC_ALL ||\n Intl.DateTimeFormat().resolvedOptions().locale;\n\n const normalized = raw.split(\".\")[0].replace(\"_\", \"-\").toLowerCase();\n const supported = SUPPORTED_LOCALES.map((l) => l.value);\n\n return supported.includes(\n normalized as (typeof SUPPORTED_LOCALES)[number][\"value\"]\n )\n ? normalized\n : \"en\";\n}\n","import chalk from \"chalk\";\r\nimport fs from \"fs-extra\";\r\nimport path from \"path\";\r\nimport crypto from \"crypto\";\r\n\r\nexport type LogLevel = \"info\" | \"success\" | \"warn\" | \"error\" | \"debug\";\r\n\r\nexport class Logger {\r\n private static instance: Logger;\r\n private logDir?: string;\r\n private auditFile?: string;\r\n private sessionId: string;\r\n private projectRoot: string;\r\n\r\n private constructor() {\r\n this.projectRoot = process.cwd();\r\n this.sessionId = crypto.randomBytes(4).toString(\"hex\").substring(0, 7);\r\n }\r\n\r\n public setProjectRoot(root: string) {\r\n this.projectRoot = root;\r\n this.logDir = undefined;\r\n this.auditFile = undefined;\r\n }\r\n\r\n private ensureAuditFile() {\r\n if (!this.logDir || !this.auditFile) {\r\n this.logDir = path.join(this.projectRoot, \"logs\");\r\n const now = new Date();\r\n const timestamp = now.toISOString().split(\"T\")[0];\r\n this.auditFile = path.join(this.logDir, `${timestamp}.log`);\r\n \r\n if (!fs.existsSync(this.logDir)) {\r\n fs.mkdirpSync(this.logDir);\r\n }\r\n }\r\n }\r\n\r\n public static getInstance(): Logger {\r\n if (!Logger.instance) {\r\n Logger.instance = new Logger();\r\n }\r\n return Logger.instance;\r\n }\r\n\r\n public getSessionID(): string {\r\n return this.sessionId;\r\n }\r\n\r\n public getFullCommand(): string {\r\n return process.argv.slice(2).join(\" \");\r\n }\r\n\r\n public getAuditPath(): string {\r\n this.ensureAuditFile();\r\n return path.relative(process.cwd(), this.auditFile!);\r\n }\r\n\r\n private writeToAudit(level: LogLevel, message: string) {\r\n this.ensureAuditFile();\r\n const timestamp = new Date().toISOString().replace(\"T\", \" \").split(\".\")[0];\r\n // Strip ANSI escape codes for the audit log\r\n const cleanMessage = message.replace(/\\u001b\\[[0-9;]*m/g, \"\").replace(/\\u001b\\]8;;.*?\\u001b\\\\/g, \"\").replace(/\\u001b\\]8;;\\u001b\\\\/g, \"\");\r\n const logEntry = `${timestamp} ${level.toUpperCase()} c.command : [session : ${this.sessionId}] : ${cleanMessage}\\n`;\r\n fs.appendFileSync(this.auditFile!, logEntry);\r\n }\r\n\r\n public formatLink(text: string): string {\r\n return text.replace(/\\\\/g, \"/\");\r\n }\r\n\r\n public info(message: string, isAudited: boolean = true) {\r\n console.log(`${message}`);\r\n if (isAudited) {\r\n this.writeToAudit(\"info\", message);\r\n }\r\n }\r\n\r\n public success(message: string, isAudited: boolean = true) {\r\n console.log(`${chalk.green(message)}`);\r\n if (isAudited) {\r\n this.writeToAudit(\"success\", message);\r\n }\r\n }\r\n\r\n public warn(message: string, isAudited: boolean = true) {\r\n console.log(`${chalk.yellow(message)}`);\r\n if (isAudited) {\r\n this.writeToAudit(\"warn\", message);\r\n }\r\n }\r\n\r\n public error(message: string, error?: unknown, isAudited: boolean = true) {\r\n const errorMessage = error instanceof Error ? error.message : String(error || \"\");\r\n const fullMessage = `fatal: ${message} ${errorMessage}`;\r\n \r\n console.error(`${chalk.red(fullMessage)}`);\r\n if (isAudited) {\r\n this.writeToAudit(\"error\", fullMessage);\r\n if (error instanceof Error && error.stack) {\r\n this.writeToAudit(\"debug\", `Stack: ${error.stack}`);\r\n }\r\n }\r\n }\r\n\r\n public debug(message: string, data?: unknown, isAudited: boolean = true) {\r\n if (process.env.DEBUG) {\r\n console.log(`${chalk.gray(message)}`);\r\n if (data) console.dir(data, { depth: null, colors: true });\r\n }\r\n const auditMsg = data ? `${message} ${JSON.stringify(data)}` : message;\r\n if (isAudited) {\r\n this.writeToAudit(\"debug\", auditMsg);\r\n }\r\n }\r\n}\r\n\r\nexport const logger: Logger = Logger.getInstance();\r\n\r\n","export function dedent(strings: TemplateStringsArray, ...values: any[]) {\n const fullString = strings.reduce((acc, str, i) => acc + str + (values[i] ?? \"\"), \"\");\n\n // Split into lines\n const lines = fullString.split(\"\\n\");\n\n // Skip the first line if it's empty (common in multi-line templates)\n if (lines[0].trim() === \"\") lines.shift();\n // Skip the last line if it's empty\n if (lines.length > 0 && lines[lines.length - 1].trim() === \"\") lines.pop();\n\n // Find the minimum indentation of non-empty lines\n const minIndent = lines\n .filter((line) => line.trim() !== \"\")\n .reduce((min, line) => {\n const indent = line.match(/^\\s*/)?.[0].length ?? 0;\n return Math.min(min, indent);\n }, Infinity);\n\n // Remove the minimum indentation from each line\n return lines\n .map((line) => (line.trim() === \"\" ? \"\" : line.slice(minIndent)))\n .join(\"\\n\");\n}\n","import { Command } from \"commander\";\nimport { logger } from \"@/utils/logger-service\";\nimport { dedent } from \"@/utils/dedent\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nexport const createPage = new Command(\"create-page\")\n .name(\"create-page\")\n .description(\"create a new page.\")\n .argument(\"<names...>\", \"the names for the new pages.\")\n .option(\"-p, --private\", \"create new pages in private groups.\", false)\n .action(async (names: string[], options: { private: boolean }) => {\n await main(names, options);\n });\n\nasync function main(\n names: string[],\n options: { private: boolean }\n): Promise<void> {\n try {\n const luxwPath = path.join(process.cwd(), \"luxw.json\");\n\n if (!fs.existsSync(luxwPath)) {\n throw new Error(\n \"not a luxw project (or any of the parent directories): luxw.json\"\n );\n }\n\n const luxwConfig = JSON.parse(fs.readFileSync(luxwPath, \"utf8\"));\n const group = options.private ? \"private\" : \"public\";\n const defaultLocale = luxwConfig.i18n?.defaultLocale ?? \"en\";\n const localeDirectory = luxwConfig.i18n?.localeDirectory ?? \"src/locales\";\n const localeDirPath = path.join(\n process.cwd(),\n localeDirectory,\n defaultLocale,\n \"routes\"\n );\n\n logger.info(`Enumerating pages: ${names.length}, done.`);\n\n for (let i = 0; i < names.length; i++) {\n const pageName = names[i];\n const count = `${i + 1}/${names.length}`;\n const pagePath = path.join(\n process.cwd(),\n \"src\",\n \"app\",\n \"[locale]\",\n `(${group})`,\n pageName\n );\n\n if (fs.existsSync(pagePath)) {\n logger.warn(\n `Skipping page: ${count}, ${logger.formatLink(path.join(pageName, \"page.tsx\"))} (already exists)`,\n false\n );\n continue;\n }\n\n fs.mkdirSync(pagePath, { recursive: true });\n fs.writeFileSync(path.join(pagePath, \"page.tsx\"), pageTemplate(pageName), \"utf8\");\n logger.info(\n `Writing page: ${count}, ${logger.formatLink(path.join(pageName, \"page.tsx\"))}`,\n false\n );\n\n const localeFilePath = path.join(localeDirPath, `${pageName}.json`);\n\n if (!fs.existsSync(localeFilePath)) {\n fs.mkdirSync(localeDirPath, { recursive: true });\n fs.writeFileSync(localeFilePath, localeTemplate(pageName), \"utf8\");\n logger.info(\n `Writing locale: ${count}, ${logger.formatLink(path.join(localeDirectory, defaultLocale, \"routes\", `${pageName}.json`))}`,\n false\n );\n }\n\n luxwConfig.routes[`${group}Routes`].push(pageName);\n }\n\n fs.writeFileSync(luxwPath, JSON.stringify(luxwConfig, null, 2), \"utf8\");\n\n const groupLayoutPath = path.join(\n process.cwd(),\n \"src\",\n \"app\",\n \"[locale]\",\n `(${group})`,\n \"layout.tsx\"\n );\n\n if (!fs.existsSync(groupLayoutPath)) {\n fs.mkdirSync(path.dirname(groupLayoutPath), { recursive: true });\n fs.writeFileSync(\n groupLayoutPath,\n group === \"public\" ? publicLayoutTemplate() : privateLayoutTemplate(),\n \"utf8\"\n );\n }\n\n logger.info(\n `Resolving pages: 100% (${names.length}/${names.length}), done.`,\n false\n );\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n\nfunction pageTemplate(pageName: string): string {\n return dedent`\n import { useTranslations } from \"next-intl\";\n import { getTranslations } from \"next-intl/server\";\n import type { Metadata } from \"next\";\n\n type Props = { params: Promise<{ locale: string }> };\n\n export async function generateMetadata({ params }: Props): Promise<Metadata> {\n const { locale } = await params;\n const t = await getTranslations({ locale, namespace: \"${pageName}\" });\n const common = await getTranslations({ locale, namespace: \"common\" });\n return {\n title: \\`\\${t(\"meta.title\")} | \\${common(\"meta.site-name\")}\\`,\n description: t(\"meta.description\"),\n };\n }\n\n export default function Page() {\n const t = useTranslations(\"${pageName}\");\n return (\n <div></div>\n );\n }\n `;\n}\n\nfunction localeTemplate(pageName: string): string {\n const name = pageName.charAt(0).toUpperCase() + pageName.slice(1);\n return JSON.stringify({\n [pageName]: {\n meta: {\n title: name,\n description: `${name} page description`,\n },\n },\n }, null, 2) + \"\\n\";\n}\n\nfunction publicLayoutTemplate(): string {\n return dedent`\n type Props = { children: React.ReactNode };\n\n export default async function PublicLayout({ children }: Props) {\n return <>{children}</>;\n }\n `;\n}\n\nfunction privateLayoutTemplate(): string {\n return dedent`\n import type { Metadata } from \"next\";\n\n export const metadata: Metadata = {\n robots: { index: false, follow: false },\n other: {\n \"googlebot\": \"noindex, nofollow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\",\n },\n };\n\n type Props = { children: React.ReactNode };\n\n export default async function PrivateLayout({ children }: Props) {\n return <>{children}</>;\n }\n `;\n}\n","import {\n intro,\n outro,\n multiselect,\n isCancel,\n cancel,\n} from \"@clack/prompts\";\nimport { Command } from \"commander\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { logger } from \"@/utils/logger-service\";\nimport { SUPPORTED_LOCALES } from \"@/constants/locale-data\";\n\nconst supportedValues: string[] = SUPPORTED_LOCALES.map((l) => l.value);\n\nexport const addLocale = new Command(\"add-locale\")\n .name(\"add-locale\")\n .description(\"add a new locale to your project.\")\n .argument(\"[locales...]\", \"the locales to add (e.g., pt-br es fr).\")\n .action(async (locales: string[]) => {\n await main(locales);\n });\n\nasync function main(locales: string[]): Promise<void> {\n try {\n const luxwPath = path.join(process.cwd(), \"luxw.json\");\n\n if (!fs.existsSync(luxwPath)) {\n throw new Error(\n \"not a luxw project (or any of the parent directories): luxw.json\"\n );\n }\n\n const luxwConfig = JSON.parse(fs.readFileSync(luxwPath, \"utf8\"));\n const existing: string[] = luxwConfig.i18n?.locales ?? [];\n\n let selectedLocales = locales;\n\n if (selectedLocales.length === 0) {\n intro(\"Add locales\");\n\n const available = SUPPORTED_LOCALES\n .filter((l) => !existing.includes(l.value))\n .map((l) => ({ value: l.value, label: `${l.label} (${l.value})` }));\n\n if (available.length === 0) {\n outro(\"All supported locales are already added.\");\n return;\n }\n\n const raw = await multiselect({\n message: \"Select locales to add:\",\n options: available,\n required: false,\n });\n\n if (isCancel(raw)) {\n cancel(\"Operation cancelled.\");\n process.exit(0);\n }\n\n selectedLocales = raw as string[];\n }\n\n if (selectedLocales.length === 0) {\n logger.info(\"No locales to add.\");\n return;\n }\n\n logger.info(`Enumerating locales: ${selectedLocales.length}, done.`);\n\n for (let i = 0; i < selectedLocales.length; i++) {\n const locale = selectedLocales[i];\n const count = `${i + 1}/${selectedLocales.length}`;\n\n if (!supportedValues.includes(locale)) {\n logger.warn(\n `Skipping locale: ${count}, \"${locale}\" (unsupported locale)`,\n false\n );\n continue;\n }\n\n if (existing.includes(locale)) {\n logger.warn(\n `Skipping locale: ${count}, \"${locale}\" (already exists)`,\n false\n );\n continue;\n }\n\n existing.push(locale);\n logger.info(`Adding locale: ${count}, \"${locale}\"`, false);\n }\n\n luxwConfig.i18n.locales = existing;\n fs.writeFileSync(luxwPath, JSON.stringify(luxwConfig, null, 2), \"utf8\");\n\n logger.info(`Resolving locales: 100% (${selectedLocales.length}/${selectedLocales.length}), done.`, false);\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n","import { Command } from \"commander\";\nimport { createPage } from \"@/commands/create-page\";\nimport { addLocale } from \"@/commands/add-locale\";\n\nexport const add = new Command(\"add\")\n .description(\"add resources to your project\")\n .addCommand(createPage.name(\"page\"))\n .addCommand(addLocale.name(\"locale\"));\n","import { Command } from \"commander\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport { logger } from \"@/utils/logger-service\";\n\nexport const deletePage = new Command(\"delete-page\")\n .description(\"Delete an existing page.\")\n .argument(\"<name...>\", \"The name of the page.\")\n .option(\"-p, --private\", \"Delete a page in private groups.\", false)\n .action(async (names: string[], options: { private: boolean }) => {\n await main(names, options);\n });\n\nasync function main(\n names: string[],\n options: { private: boolean }\n): Promise<void> {\n try {\n const luxwPath = path.join(process.cwd(), \"luxw.json\");\n\n if (!fs.existsSync(luxwPath)) {\n throw new Error(\n \"fatal: not a luxw project (or any of the parent directories): luxw.json\"\n );\n }\n\n const group = options.private ? \"private\" : \"public\";\n const groupPagesPath = path.join(\n process.cwd(),\n \"src\",\n \"app\",\n \"[locale]\",\n `(${group})`\n );\n\n const luxwConfig = JSON.parse(fs.readFileSync(luxwPath, \"utf8\"));\n logger.info(`Enumerating pages: ${names.length}, done.`);\n let count = 1;\n\n for (const pageName of names) {\n const pagePath = path.join(groupPagesPath, pageName);\n\n if (fs.existsSync(pagePath)) {\n fs.rmSync(pagePath, { recursive: true, force: true });\n\n const routes: string[] = luxwConfig.routes[`${group}Routes`];\n luxwConfig.routes[`${group}Routes`] = routes.filter(\n (route: string) => route !== pageName\n );\n\n logger.info(\n `Deleting page: ${count}/${names.length}, ${logger.formatLink(path.join(pageName, \"page.tsx\"))}`,\n false\n );\n\n const defaultLocale = luxwConfig.i18n?.defaultLocale ?? \"en\";\n const localeDirectory =\n luxwConfig.i18n?.localeDirectory ?? \"src/locales\";\n const localeFilePath = path.join(\n process.cwd(),\n localeDirectory,\n defaultLocale,\n \"routes\",\n `${pageName}.json`\n );\n\n if (fs.existsSync(localeFilePath)) {\n fs.rmSync(localeFilePath);\n logger.info(\n `Deleting locale: ${count}/${names.length}, ${logger.formatLink(path.join(localeDirectory, defaultLocale, \"routes\", `${pageName}.json`))}`,\n false\n );\n\n luxwConfig.i18n.files ??= [];\n luxwConfig.i18n.files = luxwConfig.i18n.files.filter(\n (f: string) => f !== pageName\n );\n }\n } else {\n logger.warn(\n `Skipping page: ${count}/${names.length}, ${logger.formatLink(path.join(pageName, \"page.tsx\"))} (The page does not exist)`,\n false\n );\n }\n count++;\n }\n\n if (!fs.existsSync(groupPagesPath)) {\n process.exit(0);\n }\n\n const remainingFiles = fs\n .readdirSync(groupPagesPath)\n .filter((file) => file !== \"layout.tsx\" && file !== \".DS_Store\");\n\n if (remainingFiles.length === 0) {\n fs.rmSync(groupPagesPath, { recursive: true, force: true });\n }\n\n fs.writeFileSync(luxwPath, JSON.stringify(luxwConfig, null, 2), \"utf8\");\n\n logger.info(\n `Resolving pages: 100% (${names.length}/${names.length}), done.`,\n false\n );\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n","import { Command } from \"commander\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { logger } from \"@/utils/logger-service\";\n\nexport const removeLocale = new Command(\"remove-locale\")\n .name(\"remove-locale\")\n .description(\"remove a locale from your project.\")\n .argument(\"<locales...>\", \"the locales to remove (e.g., pt-br es fr).\")\n .action(async (locales: string[]) => {\n await main(locales);\n });\n\nasync function main(locales: string[]): Promise<void> {\n try {\n const luxwPath = path.join(process.cwd(), \"luxw.json\");\n\n if (!fs.existsSync(luxwPath)) {\n throw new Error(\n \"not a luxw project (or any of the parent directories): luxw.json\"\n );\n }\n\n const luxwConfig = JSON.parse(fs.readFileSync(luxwPath, \"utf8\"));\n const existing: string[] = luxwConfig.i18n?.locales ?? [];\n\n logger.info(`Enumerating locales: ${locales.length}, done.`);\n\n for (let i = 0; i < locales.length; i++) {\n const locale = locales[i];\n const count = `${i + 1}/${locales.length}`;\n\n if (locale === luxwConfig.i18n.defaultLocale) {\n logger.warn(\n `Skipping locale: ${count}, \"${locale}\" (cannot remove default locale)`,\n false\n );\n continue;\n }\n\n if (!existing.includes(locale)) {\n logger.warn(\n `Skipping locale: ${count}, \"${locale}\" (not found in locales)`,\n false\n );\n continue;\n }\n\n const idx = existing.indexOf(locale);\n existing.splice(idx, 1);\n logger.info(`Removing locale: ${count}, \"${locale}\"`, false);\n }\n\n luxwConfig.i18n.locales = existing;\n fs.writeFileSync(luxwPath, JSON.stringify(luxwConfig, null, 2), \"utf8\");\n\n logger.info(`Resolving locales: 100% (${locales.length}/${locales.length}), done.`, false);\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n","import { Command } from \"commander\";\nimport { deletePage } from \"@/commands/delete-page\";\nimport { removeLocale } from \"@/commands/remove-locale\";\n\nexport const rm = new Command(\"rm\")\n .description(\"remove resources from your project\")\n .addCommand(deletePage.name(\"page\"))\n .addCommand(removeLocale.name(\"locale\"));\n","import { Command } from \"commander\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { logger } from \"@/utils/logger-service\";\n\nexport const renamePage = new Command(\"rename-page\")\n .name(\"rename-page\")\n .description(\"Rename an existing page.\")\n .argument(\"<oldName>\", \"The current name of the page.\")\n .argument(\"<newName>\", \"The new name for the page.\")\n .option(\"-p, --private\", \"Move the page to the private group.\", false)\n .action(\n async (oldName: string, newName: string, options: { private: boolean }) =>\n main(oldName, newName, options)\n );\n\nasync function main(\n oldName: string,\n newName: string,\n options: { private: boolean }\n): Promise<void> {\n try {\n const luxwPath = path.join(process.cwd(), \"luxw.json\");\n\n if (!fs.existsSync(luxwPath)) {\n throw new Error(\n \"fatal: not a luxw project (or any of the parent directories): luxw.json\"\n );\n }\n\n const appLocalePath = path.join(process.cwd(), \"src\", \"app\", \"[locale]\");\n\n // Discover which group the page currently lives in\n const publicPagePath = path.join(appLocalePath, \"(public)\", oldName);\n const privatePagePath = path.join(appLocalePath, \"(private)\", oldName);\n\n let sourceGroup: \"public\" | \"private\" | null = null;\n\n if (fs.existsSync(publicPagePath)) {\n sourceGroup = \"public\";\n } else if (fs.existsSync(privatePagePath)) {\n sourceGroup = \"private\";\n }\n\n if (!sourceGroup) {\n throw new Error(`Page \"${oldName}\" does not exist in any group.`);\n }\n\n const destGroup = options.private ? \"private\" : \"public\";\n\n const oldPagePath = path.join(appLocalePath, `(${sourceGroup})`, oldName);\n const newPagePath = path.join(appLocalePath, `(${destGroup})`, newName);\n\n if (fs.existsSync(newPagePath)) {\n throw new Error(\n `Page \"${newName}\" already exists in the ${destGroup} group.`\n );\n }\n\n logger.info(`Renaming page: ${oldName} → ${newName}...`);\n\n // Ensure the destination group folder exists before moving\n fs.mkdirSync(path.dirname(newPagePath), { recursive: true });\n fs.renameSync(oldPagePath, newPagePath);\n\n logger.info(\n `Renamed page: ${logger.formatLink(path.join(oldName, \"page.tsx\"))} → ${logger.formatLink(path.join(newName, \"page.tsx\"))}`,\n false\n );\n\n if (sourceGroup !== destGroup) {\n logger.info(`Moved page: (${sourceGroup}) → (${destGroup})`, false);\n\n const sourceGroupPath = path.join(appLocalePath, `(${sourceGroup})`);\n\n if (fs.existsSync(sourceGroupPath)) {\n const remainingFiles = fs\n .readdirSync(sourceGroupPath)\n .filter((file) => file !== \"layout.tsx\" && file !== \".DS_Store\");\n\n if (remainingFiles.length === 0) {\n fs.rmSync(sourceGroupPath, { recursive: true, force: true });\n logger.info(`Removed empty group: (${sourceGroup})`, false);\n }\n }\n }\n\n // Update luxw.json routes\n const luxwConfig = JSON.parse(fs.readFileSync(luxwPath, \"utf8\"));\n\n // Remove from source group\n const sourceRoutes: string[] =\n luxwConfig.routes[`${sourceGroup}Routes`] ?? [];\n luxwConfig.routes[`${sourceGroup}Routes`] = sourceRoutes.filter(\n (r: string) => r !== oldName\n );\n\n // Add/rename in destination group\n if (sourceGroup === destGroup) {\n luxwConfig.routes[`${destGroup}Routes`] = (\n luxwConfig.routes[`${destGroup}Routes`] as string[]\n ).map((r: string) => (r === oldName ? newName : r));\n } else {\n const destRoutes: string[] =\n luxwConfig.routes[`${destGroup}Routes`] ?? [];\n luxwConfig.routes[`${destGroup}Routes`] = [...destRoutes, newName];\n }\n\n // Rename locale JSON file\n const defaultLocale = luxwConfig.i18n?.defaultLocale ?? \"en\";\n const localeDirectory = luxwConfig.i18n?.localeDirectory ?? \"src/locales\";\n const oldLocaleFilePath = path.join(\n process.cwd(),\n localeDirectory,\n defaultLocale,\n \"routes\",\n `${oldName}.json`\n );\n const newLocaleFilePath = path.join(\n process.cwd(),\n localeDirectory,\n defaultLocale,\n \"routes\",\n `${newName}.json`\n );\n\n if (fs.existsSync(oldLocaleFilePath)) {\n fs.renameSync(oldLocaleFilePath, newLocaleFilePath);\n logger.info(\n `Renamed locale: ${logger.formatLink(path.join(localeDirectory, defaultLocale, \"routes\", `${oldName}.json`))} → ${logger.formatLink(path.join(localeDirectory, defaultLocale, \"routes\", `${newName}.json`))}`,\n false\n );\n\n luxwConfig.i18n.files ??= [];\n const idx = luxwConfig.i18n.files.indexOf(oldName);\n if (idx !== -1) {\n luxwConfig.i18n.files[idx] = newName;\n } else {\n luxwConfig.i18n.files.push(newName);\n }\n }\n\n fs.writeFileSync(luxwPath, JSON.stringify(luxwConfig, null, 2), \"utf8\");\n\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n","import { Command } from \"commander\";\nimport { renamePage } from \"@/commands/rename-page\";\n\nexport const mv = new Command(\"mv\")\n .description(\"move resources from your project\")\n .addCommand(renamePage.name(\"page\"));\n","import { Command } from \"commander\";\nimport { init } from \"@/commands/init\";\nimport { add } from \"@/commands/add\";\nimport { rm } from \"@/commands/rm\";\nimport { mv } from \"./commands/mv\";\n\nasync function main() {\n const program = new Command();\n\n program\n .name(\"luxw\")\n .description(\"a modern generator for nextjs projects\")\n .version(\"1.0.0\");\n\n program.addCommand(init).addCommand(add).addCommand(rm).addCommand(mv);\n\n program.parse();\n}\n\nmain();\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/constants/locale-data.ts","../src/commands/init.ts","../src/utils/logger-service.ts","../src/utils/dedent.ts","../src/commands/create-page.ts","../src/commands/add-locale.ts","../src/commands/add.ts","../src/commands/delete-page.ts","../src/commands/remove-locale.ts","../src/commands/rm.ts","../src/commands/rename-page.ts","../src/commands/mv.ts","../src/index.ts"],"names":["SUPPORTED_LOCALES","value","label","GREETINGS","ar","bn","da","de","en","es","fi","fr","he","hi","it","ja","ko","mr","nl","no","pa","fa","pl","ru","sv","tl","te","tr","uk","HOME_META","SITE_META","description","keywords","ERROR_MESSAGES","notFoundTitle","notFoundDescription","notFoundAction","localeNotSupportedTitle","localeNotSupportedDescription","localeNotSupportedAction","internalTitle","internalDescription","tryAgain","init","Command","name","argument","action","main","rootPath","path","join","process","cwd","templatePath","dirname","fileURLToPath","url","fsExtra","pathExistsSync","Error","intro","detectedLocale","detectSystemLocale","rawLocale","select","message","initialValue","options","map","hint","undefined","isCancel","cancel","exit","s","spinner","start","copySync","applyLocale","stop","outro","err","console","error","locale","sleekePath","sleekeConfig","readJson","i18n","defaultLocale","locales","supportedLocales","writeJson","spaces","localeDirectory","localeDirPath","ensureDir","meta","outputJson","common","openGraph","image","twitter","card","profile","msgs","title","home","page","normalized","env","LANG","LANGUAGE","LC_ALL","Intl","DateTimeFormat","resolvedOptions","split","replace","toLowerCase","l","includes","Logger","instance","logDir","auditFile","sessionId","projectRoot","crypto","randomBytes","toString","substring","setProjectRoot","root","ensureAuditFile","timestamp","Date","toISOString","fs","existsSync","mkdirpSync","getInstance","getSessionID","getFullCommand","argv","slice","getAuditPath","relative","writeToAudit","level","cleanMessage","logEntry","toUpperCase","appendFileSync","formatLink","text","info","isAudited","log","success","chalk","green","warn","yellow","errorMessage","String","fullMessage","red","stack","debug","data","DEBUG","gray","dir","depth","colors","auditMsg","JSON","stringify","logger","dedent","strings","values","lines","reduce","acc","str","i","trim","shift","length","pop","minIndent","filter","line","min","indent","match","Math","Infinity","createPage","option","names","parse","readFileSync","group","private","pageName","count","pagePath","mkdirSync","recursive","writeFileSync","pageTemplate","localeFilePath","localeTemplate","routes","push","groupLayoutPath","publicLayoutTemplate","privateLayoutTemplate","charAt","supportedValues","addLocale","existing","selectedLocales","available","raw","multiselect","required","add","addCommand","deletePage","groupPagesPath","rmSync","force","route","files","f","readdirSync","file","removeLocale","idx","indexOf","splice","rm","renamePage","oldName","newName","appLocalePath","publicPagePath","privatePagePath","sourceGroup","destGroup","oldPagePath","newPagePath","renameSync","sourceGroupPath","sourceRoutes","r","destRoutes","oldLocaleFilePath","newLocaleFilePath","mv","program","version"],"mappings":"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","file":"index.js","sourcesContent":["export const SUPPORTED_LOCALES = [\n { value: \"ar\", label: \"العربية\" },\n { value: \"bn\", label: \"বাংলা\" },\n { value: \"cs-cz\", label: \"Čeština\" },\n { value: \"da\", label: \"Dansk\" },\n { value: \"de\", label: \"Deutsch\" },\n { value: \"el-gr\", label: \"Ελληνικά\" },\n { value: \"en\", label: \"English\" },\n { value: \"es\", label: \"Español\" },\n { value: \"fi\", label: \"Suomi\" },\n { value: \"fr\", label: \"Français\" },\n { value: \"he\", label: \"עברית\" },\n { value: \"hi\", label: \"हिन्दी\" },\n { value: \"hu-hu\", label: \"Magyar\" },\n { value: \"id-id\", label: \"Indonesia\" },\n { value: \"it\", label: \"Italiano\" },\n { value: \"ja\", label: \"日本語\" },\n { value: \"ko\", label: \"한국어\" },\n { value: \"ms-my\", label: \"Melayu\" },\n { value: \"mr\", label: \"मराठी\" },\n { value: \"nl\", label: \"Nederlands\" },\n { value: \"no\", label: \"Norsk\" },\n { value: \"pa\", label: \"ਪੰਜਾਬੀ\" },\n { value: \"fa\", label: \"فارسی\" },\n { value: \"pl\", label: \"Polski\" },\n { value: \"pt-br\", label: \"Português (Brasil)\" },\n { value: \"ro-ro\", label: \"Română\" },\n { value: \"ru\", label: \"Русский\" },\n { value: \"sv\", label: \"Svenska\" },\n { value: \"tl\", label: \"Tagalog\" },\n { value: \"te\", label: \"తెలుగు\" },\n { value: \"th-th\", label: \"ไทย\" },\n { value: \"tr\", label: \"Türkçe\" },\n { value: \"uk\", label: \"Українська\" },\n { value: \"vi-vn\", label: \"Tiếng Việt\" },\n { value: \"zh-cn\", label: \"中文 (简体)\" },\n { value: \"zh-tw\", label: \"中文 (繁體)\" },\n] as const;\n\nexport const GREETINGS: Record<string, string> = {\n ar: \"مرحباً\",\n bn: \"স্বাগতম\",\n \"cs-cz\": \"Vítejte\",\n da: \"Velkommen\",\n de: \"Willkommen\",\n \"el-gr\": \"Καλώς ήρθατε\",\n en: \"Welcome\",\n es: \"Bienvenido\",\n fi: \"Tervetuloa\",\n fr: \"Bienvenue\",\n he: \"ברוך הבא\",\n hi: \"स्वागत है\",\n \"hu-hu\": \"Üdvözöljük\",\n \"id-id\": \"Selamat datang\",\n it: \"Benvenuto\",\n ja: \"ようこそ\",\n ko: \"환영합니다\",\n \"ms-my\": \"Selamat datang\",\n mr: \"स्वागत आहे\",\n nl: \"Welkom\",\n no: \"Velkommen\",\n pa: \"ਸੁਆਗਤ ਹੈ\",\n fa: \"خوش آمدید\",\n pl: \"Witamy\",\n \"pt-br\": \"Bem-vindo\",\n \"ro-ro\": \"Bun venit\",\n ru: \"Добро пожаловать\",\n sv: \"Välkommen\",\n tl: \"Maligayang pagdating\",\n te: \"స్వాగతం\",\n \"th-th\": \"ยินดีต้อนรับ\",\n tr: \"Hoş geldiniz\",\n uk: \"Ласкаво просимо\",\n \"vi-vn\": \"Chào mừng\",\n \"zh-cn\": \"欢迎\",\n \"zh-tw\": \"歡迎\",\n};\n\nexport const HOME_META: Record<string, string> = {\n ar: \"الرئيسية\",\n bn: \"হোম\",\n \"cs-cz\": \"Domů\",\n da: \"Hjem\",\n de: \"Startseite\",\n \"el-gr\": \"Αρχική\",\n en: \"Home\",\n es: \"Inicio\",\n fi: \"Etusivu\",\n fr: \"Accueil\",\n he: \"דף הבית\",\n hi: \"होम\",\n \"hu-hu\": \"Kezdőlap\",\n \"id-id\": \"Beranda\",\n it: \"Home\",\n ja: \"ホーム\",\n ko: \"홈\",\n \"ms-my\": \"Laman utama\",\n mr: \"मुखपृष्ठ\",\n nl: \"Home\",\n no: \"Hjem\",\n pa: \"ਹੋਮ\",\n fa: \"صفحه اصلی\",\n pl: \"Strona główna\",\n \"pt-br\": \"Início\",\n \"ro-ro\": \"Acasă\",\n ru: \"Главная\",\n sv: \"Hem\",\n tl: \"Tahanan\",\n te: \"హోమ్\",\n \"th-th\": \"หน้าแรก\",\n tr: \"Ana Sayfa\",\n uk: \"Головна\",\n \"vi-vn\": \"Trang chủ\",\n \"zh-cn\": \"首页\",\n \"zh-tw\": \"首頁\",\n};\n\nexport type ErrorMessages = {\n notFoundTitle: string;\n notFoundDescription: string;\n notFoundAction: string;\n localeNotSupportedTitle: string;\n localeNotSupportedDescription: string;\n localeNotSupportedAction: string;\n internalTitle: string;\n internalDescription: string;\n tryAgain: string;\n};\n\nexport type SiteMeta = {\n \"site-name\": string;\n description: string;\n keywords: string;\n};\n\nexport const SITE_META: Record<string, SiteMeta> = {\n ar: { \"site-name\": \"اسم الموقع\", description: \"وصف موقع الويب الخاص بك\", keywords: \"كلمة رئيسية1, كلمة رئيسية2, كلمة رئيسية3\" },\n bn: { \"site-name\": \"সাইটের নাম\", description: \"আপনার ওয়েবসাইটের বিবরণ\", keywords: \"কীওয়ার্ড1, কীওয়ার্ড2, কীওয়ার্ড3\" },\n \"cs-cz\": { \"site-name\": \"Název webu\", description: \"Popis vašeho webu\", keywords: \"klíčové-slovo1, klíčové-slovo2, klíčové-slovo3\" },\n da: { \"site-name\": \"Sidenavn\", description: \"Beskrivelse af din hjemmeside\", keywords: \"nøgleord1, nøgleord2, nøgleord3\" },\n de: { \"site-name\": \"Seitenname\", description: \"Beschreibung Ihrer Website\", keywords: \"Schlüsselwort1, Schlüsselwort2, Schlüsselwort3\" },\n \"el-gr\": { \"site-name\": \"Όνομα Ιστότοπου\", description: \"Περιγραφή του ιστότοπού σας\", keywords: \"λέξη-κλειδί1, λέξη-κλειδί2, λέξη-κλειδί3\" },\n en: { \"site-name\": \"Site Name\", description: \"Your website description\", keywords: \"keyword1, keyword2, keyword3\" },\n es: { \"site-name\": \"Nombre del Sitio\", description: \"Descripción de tu sitio web\", keywords: \"palabra-clave1, palabra-clave2, palabra-clave3\" },\n fi: { \"site-name\": \"Sivuston nimi\", description: \"Kuvaus verkkosivustostasi\", keywords: \"avainsana1, avainsana2, avainsana3\" },\n fr: { \"site-name\": \"Nom du Site\", description: \"Description de votre site web\", keywords: \"mot-clé1, mot-clé2, mot-clé3\" },\n he: { \"site-name\": \"שם האתר\", description: \"תיאור האתר שלך\", keywords: \"מילת מפתח1, מילת מפתח2, מילת מפתח3\" },\n hi: { \"site-name\": \"साइट का नाम\", description: \"आपकी वेबसाइट का विवरण\", keywords: \"कीवर्ड1, कीवर्ड2, कीवर्ड3\" },\n \"hu-hu\": { \"site-name\": \"Webhely neve\", description: \"A weboldal leírása\", keywords: \"kulcsszó1, kulcsszó2, kulcsszó3\" },\n \"id-id\": { \"site-name\": \"Nama Situs\", description: \"Deskripsi situs web Anda\", keywords: \"kata-kunci1, kata-kunci2, kata-kunci3\" },\n it: { \"site-name\": \"Nome del Sito\", description: \"Descrizione del tuo sito web\", keywords: \"parola-chiave1, parola-chiave2, parola-chiave3\" },\n ja: { \"site-name\": \"サイト名\", description: \"あなたのウェブサイトの説明\", keywords: \"キーワード1, キーワード2, キーワード3\" },\n ko: { \"site-name\": \"사이트 이름\", description: \"귀하의 웹사이트 설명\", keywords: \"키워드1, 키워드2, 키워드3\" },\n \"ms-my\": { \"site-name\": \"Nama Laman\", description: \"Penerangan laman web anda\", keywords: \"kata-kunci1, kata-kunci2, kata-kunci3\" },\n mr: { \"site-name\": \"साइटचे नाव\", description: \"तुमच्या वेबसाइटचे वर्णन\", keywords: \"कीवर्ड1, कीवर्ड2, कीवर्ड3\" },\n nl: { \"site-name\": \"Sitenaam\", description: \"Beschrijving van uw website\", keywords: \"trefwoord1, trefwoord2, trefwoord3\" },\n no: { \"site-name\": \"Sidenavn\", description: \"Beskrivelse av nettstedet ditt\", keywords: \"nøkkelord1, nøkkelord2, nøkkelord3\" },\n pa: { \"site-name\": \"ਸਾਈਟ ਦਾ ਨਾਂ\", description: \"ਤੁਹਾਡੀ ਵੈੱਬਸਾਈਟ ਦਾ ਵੇਰਵਾ\", keywords: \"ਕੀਵਰਡ1, ਕੀਵਰਡ2, ਕੀਵਰਡ3\" },\n fa: { \"site-name\": \"نام سایت\", description: \"توضیح وبسایت شما\", keywords: \"کلمه کلیدی1, کلمه کلیدی2, کلمه کلیدی3\" },\n pl: { \"site-name\": \"Nazwa strony\", description: \"Opis Twojej strony internetowej\", keywords: \"słowo-kluczowe1, słowo-kluczowe2, słowo-kluczowe3\" },\n \"pt-br\": { \"site-name\": \"Nome do Site\", description: \"Descrição do seu site\", keywords: \"palavra-chave1, palavra-chave2, palavra-chave3\" },\n \"ro-ro\": { \"site-name\": \"Numele site-ului\", description: \"Descrierea site-ului dvs.\", keywords: \"cuvânt-cheie1, cuvânt-cheie2, cuvânt-cheie3\" },\n ru: { \"site-name\": \"Название сайта\", description: \"Описание вашего сайта\", keywords: \"ключевое-слово1, ключевое-слово2, ключевое-слово3\" },\n sv: { \"site-name\": \"Webbplatsens namn\", description: \"Beskrivning av din webbplats\", keywords: \"nyckelord1, nyckelord2, nyckelord3\" },\n tl: { \"site-name\": \"Pangalan ng site\", description: \"Paglalarawan ng iyong website\", keywords: \"keyword1, keyword2, keyword3\" },\n te: { \"site-name\": \"సైట్ పేరు\", description: \"మీ వెబ్సైట్ వివరణ\", keywords: \"కీవర్డ్1, కీవర్డ్2, కీవర్డ్3\" },\n \"th-th\": { \"site-name\": \"ชื่อเว็บไซต์\", description: \"คำอธิบายเว็บไซต์ของคุณ\", keywords: \"คำหลัก1, คำหลัก2, คำหลัก3\" },\n tr: { \"site-name\": \"Site Adı\", description: \"Web sitenizin açıklaması\", keywords: \"anahtar-kelime1, anahtar-kelime2, anahtar-kelime3\" },\n uk: { \"site-name\": \"Назва сайту\", description: \"Опис вашого вебсайту\", keywords: \"ключове-слово1, ключове-слово2, ключове-слово3\" },\n \"vi-vn\": { \"site-name\": \"Tên trang web\", description: \"Mô tả trang web của bạn\", keywords: \"từ-khóa1, từ-khóa2, từ-khóa3\" },\n \"zh-cn\": { \"site-name\": \"网站名称\", description: \"您的网站描述\", keywords: \"关键词1, 关键词2, 关键词3\" },\n \"zh-tw\": { \"site-name\": \"網站名稱\", description: \"您的網站描述\", keywords: \"關鍵字1, 關鍵字2, 關鍵字3\" },\n};\n\nexport const ERROR_MESSAGES: Record<string, ErrorMessages> = {\n ar: { notFoundTitle: \"الصفحة غير موجودة\", notFoundDescription: \"الصفحة التي تبحث عنها غير موجودة.\", notFoundAction: \"العودة إلى الرئيسية\", localeNotSupportedTitle: \"اللغة غير مدعومة\", localeNotSupportedDescription: \"اللغة التي اخترتها غير متوفرة بعد.\", localeNotSupportedAction: \"العودة إلى الرئيسية\", internalTitle: \"حدث خطأ ما\", internalDescription: \"حدث خطأ غير متوقع.\", tryAgain: \"حاول مرة أخرى\" },\n bn: { notFoundTitle: \"পৃষ্ঠাটি পাওয়া যায়নি\", notFoundDescription: \"আপনি যে পৃষ্ঠাটি খুঁজছেন তা বিদ্যমান নেই।\", notFoundAction: \"হোমে যান\", localeNotSupportedTitle: \"ভাষা সমর্থিত নয়\", localeNotSupportedDescription: \"আপনার নির্বাচিত ভাষাটি এখনও উপলব্ধ নয়।\", localeNotSupportedAction: \"হোমে যান\", internalTitle: \"কিছু ভুল হয়েছে\", internalDescription: \"একটি অপ্রত্যাশিত ত্রুটি ঘটেছে।\", tryAgain: \"আবার চেষ্টা করুন\" },\n \"cs-cz\": { notFoundTitle: \"Stránka nenalezena\", notFoundDescription: \"Stránka, kterou hledáte, neexistuje.\", notFoundAction: \"Domů\", localeNotSupportedTitle: \"Jazyk není podporován\", localeNotSupportedDescription: \"Vámi vybraný jazyk ještě není k dispozici.\", localeNotSupportedAction: \"Domů\", internalTitle: \"Něco se pokazilo\", internalDescription: \"Došlo k neočekávané chybě.\", tryAgain: \"Zkusit znovu\" },\n da: { notFoundTitle: \"Siden blev ikke fundet\", notFoundDescription: \"Den side, du leder efter, findes ikke.\", notFoundAction: \"Gå til forsiden\", localeNotSupportedTitle: \"Sprog understøttes ikke\", localeNotSupportedDescription: \"Det valgte sprog er endnu ikke tilgængeligt.\", localeNotSupportedAction: \"Gå til forsiden\", internalTitle: \"Noget gik galt\", internalDescription: \"Der opstod en uventet fejl.\", tryAgain: \"Prøv igen\" },\n de: { notFoundTitle: \"Seite nicht gefunden\", notFoundDescription: \"Die von Ihnen gesuchte Seite existiert nicht.\", notFoundAction: \"Zur Startseite\", localeNotSupportedTitle: \"Sprache nicht unterstützt\", localeNotSupportedDescription: \"Die ausgewählte Sprache ist noch nicht verfügbar.\", localeNotSupportedAction: \"Zur Startseite\", internalTitle: \"Etwas ist schiefgelaufen\", internalDescription: \"Ein unerwarteter Fehler ist aufgetreten.\", tryAgain: \"Erneut versuchen\" },\n \"el-gr\": { notFoundTitle: \"Η σελίδα δεν βρέθηκε\", notFoundDescription: \"Η σελίδα που αναζητάτε δεν υπάρχει.\", notFoundAction: \"Πηγαίνετε στην αρχική\", localeNotSupportedTitle: \"Η γλώσσα δεν υποστηρίζεται\", localeNotSupportedDescription: \"Η γλώσσα που επιλέξατε δεν είναι ακόμα διαθέσιμη.\", localeNotSupportedAction: \"Πηγαίνετε στην αρχική\", internalTitle: \"Κάτι πήγε στραβά\", internalDescription: \"Προέκυψε ένα απρόσμενο σφάλμα.\", tryAgain: \"Προσπαθήστε ξανά\" },\n en: { notFoundTitle: \"Page not found\", notFoundDescription: \"The page you're looking for doesn't exist.\", notFoundAction: \"Go home\", localeNotSupportedTitle: \"Locale not supported\", localeNotSupportedDescription: \"The language you selected is not yet available.\", localeNotSupportedAction: \"Go home\", internalTitle: \"Something went wrong\", internalDescription: \"An unexpected error occurred.\", tryAgain: \"Try again\" },\n es: { notFoundTitle: \"Página no encontrada\", notFoundDescription: \"La página que buscas no existe.\", notFoundAction: \"Ir a inicio\", localeNotSupportedTitle: \"Idioma no compatible\", localeNotSupportedDescription: \"El idioma seleccionado aún no está disponible.\", localeNotSupportedAction: \"Ir a inicio\", internalTitle: \"Algo salió mal\", internalDescription: \"Ocurrió un error inesperado.\", tryAgain: \"Intentar de nuevo\" },\n fi: { notFoundTitle: \"Sivua ei löydy\", notFoundDescription: \"Hakemaasi sivua ei ole olemassa.\", notFoundAction: \"Mene etusivulle\", localeNotSupportedTitle: \"Kieltä ei tueta\", localeNotSupportedDescription: \"Valitsemasi kieli ei ole vielä saatavilla.\", localeNotSupportedAction: \"Mene etusivulle\", internalTitle: \"Jotain meni pieleen\", internalDescription: \"Tapahtui odottamaton virhe.\", tryAgain: \"Yritä uudelleen\" },\n fr: { notFoundTitle: \"Page non trouvée\", notFoundDescription: \"La page que vous cherchez n'existe pas.\", notFoundAction: \"Accueil\", localeNotSupportedTitle: \"Langue non prise en charge\", localeNotSupportedDescription: \"La langue sélectionnée n'est pas encore disponible.\", localeNotSupportedAction: \"Accueil\", internalTitle: \"Quelque chose s'est mal passé\", internalDescription: \"Une erreur inattendue s'est produite.\", tryAgain: \"Réessayer\" },\n he: { notFoundTitle: \"הדף לא נמצא\", notFoundDescription: \"הדף שאתה מחפש אינו קיים.\", notFoundAction: \"עמוד הבית\", localeNotSupportedTitle: \"השפה אינה נתמכת\", localeNotSupportedDescription: \"השפה שבחרת עדיין לא זמינה.\", localeNotSupportedAction: \"עמוד הבית\", internalTitle: \"משהו השתבש\", internalDescription: \"אירעה שגיאה בלתי צפויה.\", tryAgain: \"נסה שוב\" },\n hi: { notFoundTitle: \"पेज नहीं मिला\", notFoundDescription: \"आप जिस पेज की तलाश कर रहे हैं वह मौजूद नहीं है।\", notFoundAction: \"होम पर जाएं\", localeNotSupportedTitle: \"भाषा समर्थित नहीं है\", localeNotSupportedDescription: \"आपके द्वारा चुनी गई भाषा अभी उपलब्ध नहीं है।\", localeNotSupportedAction: \"होम पर जाएं\", internalTitle: \"कुछ गलत हो गया\", internalDescription: \"एक अप्रत्याशित त्रुटि हुई।\", tryAgain: \"पुनः प्रयास करें\" },\n \"hu-hu\": { notFoundTitle: \"Az oldal nem található\", notFoundDescription: \"A keresett oldal nem létezik.\", notFoundAction: \"Ugrás a kezdőlapra\", localeNotSupportedTitle: \"A nyelv nem támogatott\", localeNotSupportedDescription: \"A kiválasztott nyelv még nem érhető el.\", localeNotSupportedAction: \"Ugrás a kezdőlapra\", internalTitle: \"Valami hiba történt\", internalDescription: \"Váratlan hiba történt.\", tryAgain: \"Próbálja újra\" },\n \"id-id\": { notFoundTitle: \"Halaman tidak ditemukan\", notFoundDescription: \"Halaman yang Anda cari tidak ada.\", notFoundAction: \"Ke beranda\", localeNotSupportedTitle: \"Bahasa tidak didukung\", localeNotSupportedDescription: \"Bahasa yang Anda pilih belum tersedia.\", localeNotSupportedAction: \"Ke beranda\", internalTitle: \"Terjadi kesalahan\", internalDescription: \"Terjadi kesalahan yang tidak terduga.\", tryAgain: \"Coba lagi\" },\n it: { notFoundTitle: \"Pagina non trovata\", notFoundDescription: \"La pagina che cerchi non esiste.\", notFoundAction: \"Vai alla home\", localeNotSupportedTitle: \"Lingua non supportata\", localeNotSupportedDescription: \"La lingua selezionata non è ancora disponibile.\", localeNotSupportedAction: \"Vai alla home\", internalTitle: \"Qualcosa è andato storto\", internalDescription: \"Si è verificato un errore imprevisto.\", tryAgain: \"Riprova\" },\n ja: { notFoundTitle: \"ページが見つかりません\", notFoundDescription: \"お探しのページは存在しません。\", notFoundAction: \"ホームに戻る\", localeNotSupportedTitle: \"言語がサポートされていません\", localeNotSupportedDescription: \"選択した言語はまだ利用できません。\", localeNotSupportedAction: \"ホームに戻る\", internalTitle: \"エラーが発生しました\", internalDescription: \"予期しないエラーが発生しました。\", tryAgain: \"再試行\" },\n ko: { notFoundTitle: \"페이지를 찾을 수 없습니다\", notFoundDescription: \"찾고 계신 페이지가 존재하지 않습니다.\", notFoundAction: \"홈으로 가기\", localeNotSupportedTitle: \"언어가 지원되지 않습니다\", localeNotSupportedDescription: \"선택한 언어를 아직 사용할 수 없습니다.\", localeNotSupportedAction: \"홈으로 가기\", internalTitle: \"문제가 발생했습니다\", internalDescription: \"예상치 못한 오류가 발생했습니다.\", tryAgain: \"다시 시도\" },\n \"ms-my\": { notFoundTitle: \"Halaman tidak dijumpai\", notFoundDescription: \"Halaman yang anda cari tidak wujud.\", notFoundAction: \"Ke laman utama\", localeNotSupportedTitle: \"Bahasa tidak disokong\", localeNotSupportedDescription: \"Bahasa yang anda pilih belum tersedia.\", localeNotSupportedAction: \"Ke laman utama\", internalTitle: \"Sesuatu telah berlaku\", internalDescription: \"Ralat tidak dijangka berlaku.\", tryAgain: \"Cuba lagi\" },\n mr: { notFoundTitle: \"पृष्ठ सापडले नाही\", notFoundDescription: \"तुम्ही शोधत असलेले पृष्ठ अस्तित्वात नाही.\", notFoundAction: \"मुखपृष्ठावर जा\", localeNotSupportedTitle: \"भाषा समर्थित नाही\", localeNotSupportedDescription: \"तुम्ही निवडलेली भाषा अद्याप उपलब्ध नाही.\", localeNotSupportedAction: \"मुखपृष्ठावर जा\", internalTitle: \"काहीतरी चूक झाली\", internalDescription: \"एक अनपेक्षित त्रुटी आली.\", tryAgain: \"पुन्हा प्रयत्न करा\" },\n nl: { notFoundTitle: \"Pagina niet gevonden\", notFoundDescription: \"De pagina die u zoekt bestaat niet.\", notFoundAction: \"Naar home\", localeNotSupportedTitle: \"Taal niet ondersteund\", localeNotSupportedDescription: \"De geselecteerde taal is nog niet beschikbaar.\", localeNotSupportedAction: \"Naar home\", internalTitle: \"Er is iets misgegaan\", internalDescription: \"Er is een onverwachte fout opgetreden.\", tryAgain: \"Probeer opnieuw\" },\n no: { notFoundTitle: \"Siden ble ikke funnet\", notFoundDescription: \"Siden du leter etter finnes ikke.\", notFoundAction: \"Gå til hjem\", localeNotSupportedTitle: \"Språk støttes ikke\", localeNotSupportedDescription: \"Det valgte språket er ennå ikke tilgjengelig.\", localeNotSupportedAction: \"Gå til hjem\", internalTitle: \"Noe gikk galt\", internalDescription: \"Det oppsto en uventet feil.\", tryAgain: \"Prøv på nytt\" },\n pa: { notFoundTitle: \"ਪੇਜ ਨਹੀਂ ਮਿਲਿਆ\", notFoundDescription: \"ਜਿਸ ਪੇਜ ਦੀ ਤੁਸੀਂ ਭਾਲ ਕਰ ਰਹੇ ਹੋ ਉਹ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।\", notFoundAction: \"ਹੋਮ ਤੇ ਜਾਓ\", localeNotSupportedTitle: \"ਭਾਸ਼ਾ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ\", localeNotSupportedDescription: \"ਤੁਹਾਡੇ ਦੁਆਰਾ ਚੁਣੀ ਗਈ ਭਾਸ਼ਾ ਅਜੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।\", localeNotSupportedAction: \"ਹੋਮ ਤੇ ਜਾਓ\", internalTitle: \"ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ\", internalDescription: \"ਇੱਕ ਅਚਾਨਕ ਗੜਬੜੀ ਵਾਪਰ ਗਈ।\", tryAgain: \"ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ\" },\n fa: { notFoundTitle: \"صفحه پیدا نشد\", notFoundDescription: \"صفحهای که به دنبال آن هستید وجود ندارد.\", notFoundAction: \"برو به خانه\", localeNotSupportedTitle: \"زبان پشتیبانی نمیشود\", localeNotSupportedDescription: \"زبانی که انتخاب کردهاید هنوز در دسترس نیست.\", localeNotSupportedAction: \"برو به خانه\", internalTitle: \"مشکلی پیش آمد\", internalDescription: \"خطای غیرمنتظرهای رخ داد.\", tryAgain: \"دوباره تلاش کنید\" },\n pl: { notFoundTitle: \"Strona nie znaleziona\", notFoundDescription: \"Strona, której szukasz, nie istnieje.\", notFoundAction: \"Przejdź do strony głównej\", localeNotSupportedTitle: \"Język nie jest obsługiwany\", localeNotSupportedDescription: \"Wybrany język nie jest jeszcze dostępny.\", localeNotSupportedAction: \"Przejdź do strony głównej\", internalTitle: \"Coś poszło nie tak\", internalDescription: \"Wystąpił nieoczekiwany błąd.\", tryAgain: \"Spróbuj ponownie\" },\n \"pt-br\": { notFoundTitle: \"Página não encontrada\", notFoundDescription: \"A página que você procura não existe.\", notFoundAction: \"Ir para o início\", localeNotSupportedTitle: \"Idioma não suportado\", localeNotSupportedDescription: \"O idioma selecionado ainda não está disponível.\", localeNotSupportedAction: \"Ir para o início\", internalTitle: \"Algo deu errado\", internalDescription: \"Ocorreu um erro inesperado.\", tryAgain: \"Tentar novamente\" },\n \"ro-ro\": { notFoundTitle: \"Pagina nu a fost găsită\", notFoundDescription: \"Pagina pe care o căutați nu există.\", notFoundAction: \"Mergi la pagina principală\", localeNotSupportedTitle: \"Limba nu este acceptată\", localeNotSupportedDescription: \"Limba selectată nu este încă disponibilă.\", localeNotSupportedAction: \"Mergi la pagina principală\", internalTitle: \"Ceva a mers prost\", internalDescription: \"A apărut o eroare neașteptată.\", tryAgain: \"Încercați din nou\" },\n ru: { notFoundTitle: \"Страница не найдена\", notFoundDescription: \"Страница, которую вы ищете, не существует.\", notFoundAction: \"На главную\", localeNotSupportedTitle: \"Язык не поддерживается\", localeNotSupportedDescription: \"Выбранный язык еще не доступен.\", localeNotSupportedAction: \"На главную\", internalTitle: \"Что-то пошло не так\", internalDescription: \"Произошла неожиданная ошибка.\", tryAgain: \"Попробовать снова\" },\n sv: { notFoundTitle: \"Sidan hittades inte\", notFoundDescription: \"Sidan du letar efter finns inte.\", notFoundAction: \"Gå till hem\", localeNotSupportedTitle: \"Språket stöds inte\", localeNotSupportedDescription: \"Det valda språket är ännu inte tillgängligt.\", localeNotSupportedAction: \"Gå till hem\", internalTitle: \"Något gick fel\", internalDescription: \"Ett oväntat fel inträffade.\", tryAgain: \"Försök igen\" },\n tl: { notFoundTitle: \"Hindi nahanap ang pahina\", notFoundDescription: \"Ang pahina na iyong hinahanap ay hindi umiiral.\", notFoundAction: \"Pumunta sa bahay\", localeNotSupportedTitle: \"Hindi suportado ang wika\", localeNotSupportedDescription: \"Ang wikang iyong pinili ay hindi pa available.\", localeNotSupportedAction: \"Pumunta sa bahay\", internalTitle: \"May maling nangyari\", internalDescription: \"Isang hindi inaasahang error ang nangyari.\", tryAgain: \"Subukan muli\" },\n te: { notFoundTitle: \"పేజీ కనుగొనబడలేదు\", notFoundDescription: \"మీరు వెతుకుతున్న పేజీ ఉనికిలో లేదు.\", notFoundAction: \"హోమ్కు వెళ్ళండి\", localeNotSupportedTitle: \"భాష మద్దతు లేదు\", localeNotSupportedDescription: \"మీరు ఎంచుకున్న భాష ఇంకా అందుబాటులో లేదు.\", localeNotSupportedAction: \"హోమ్కు వెళ్ళండి\", internalTitle: \"ఏదో తప్పు జరిగింది\", internalDescription: \"ఊహించని లోపం సంభవించింది.\", tryAgain: \"మళ్ళీ ప్రయత్నించండి\" },\n \"th-th\": { notFoundTitle: \"ไม่พบหน้า\", notFoundDescription: \"หน้าที่คุณกำลังมองหาไม่มีอยู่\", notFoundAction: \"กลับไปหน้าแรก\", localeNotSupportedTitle: \"ไม่รองรับภาษา\", localeNotSupportedDescription: \"ภาษาที่คุณเลือกยังไม่พร้อมใช้งาน\", localeNotSupportedAction: \"กลับไปหน้าแรก\", internalTitle: \"เกิดข้อผิดพลาด\", internalDescription: \"เกิดข้อผิดพลาดที่ไม่คาดคิด\", tryAgain: \"ลองอีกครั้ง\" },\n tr: { notFoundTitle: \"Sayfa bulunamadı\", notFoundDescription: \"Aradığınız sayfa mevcut değil.\", notFoundAction: \"Ana sayfaya git\", localeNotSupportedTitle: \"Dil desteklenmiyor\", localeNotSupportedDescription: \"Seçtiğiniz dil henüz mevcut değil.\", localeNotSupportedAction: \"Ana sayfaya git\", internalTitle: \"Bir şeyler yanlış gitti\", internalDescription: \"Beklenmeyen bir hata oluştu.\", tryAgain: \"Tekrar dene\" },\n uk: { notFoundTitle: \"Сторінку не знайдено\", notFoundDescription: \"Сторінка, яку ви шукаєте, не існує.\", notFoundAction: \"На головну\", localeNotSupportedTitle: \"Мова не підтримується\", localeNotSupportedDescription: \"Вибрана мова ще не доступна.\", localeNotSupportedAction: \"На головну\", internalTitle: \"Щось пішло не так\", internalDescription: \"Сталася неочікувана помилка.\", tryAgain: \"Спробувати знову\" },\n \"vi-vn\": { notFoundTitle: \"Trang không tìm thấy\", notFoundDescription: \"Trang bạn đang tìm kiếm không tồn tại.\", notFoundAction: \"Về trang chủ\", localeNotSupportedTitle: \"Ngôn ngữ không được hỗ trợ\", localeNotSupportedDescription: \"Ngôn ngữ bạn chọn chưa có sẵn.\", localeNotSupportedAction: \"Về trang chủ\", internalTitle: \"Đã xảy ra lỗi\", internalDescription: \"Đã xảy ra lỗi không mong đợi.\", tryAgain: \"Thử lại\" },\n \"zh-cn\": { notFoundTitle: \"页面未找到\", notFoundDescription: \"您要查找的页面不存在。\", notFoundAction: \"返回首页\", localeNotSupportedTitle: \"语言不受支持\", localeNotSupportedDescription: \"您选择的语言尚不可用。\", localeNotSupportedAction: \"返回首页\", internalTitle: \"出现了问题\", internalDescription: \"发生了意外错误。\", tryAgain: \"重试\" },\n \"zh-tw\": { notFoundTitle: \"頁面未找到\", notFoundDescription: \"您要查詢的頁面不存在。\", notFoundAction: \"返回首頁\", localeNotSupportedTitle: \"語言不受支援\", localeNotSupportedDescription: \"您選擇的語言尚不可用。\", localeNotSupportedAction: \"返回首頁\", internalTitle: \"出現問題\", internalDescription: \"發生意外錯誤。\", tryAgain: \"重試\" },\n};\n","import {\n intro,\n outro,\n select,\n spinner,\n isCancel,\n cancel,\n} from \"@clack/prompts\";\nimport { Command } from \"commander\";\nimport fsExtra from \"fs-extra/esm\";\nimport path from \"path\";\nimport { fileURLToPath } from \"url\";\nimport { SUPPORTED_LOCALES, GREETINGS, ERROR_MESSAGES, SITE_META, HOME_META } from \"@/constants/locale-data\";\n\nexport const init = new Command(\"init\")\n .name(\"init\")\n .description(\"Initialize a new Sleeke project.\")\n .argument(\"<name>\", \"The name for the new project.\")\n .action(async (name: string) => main(name));\n\nasync function main(name: string): Promise<void> {\n try {\n const rootPath = path.join(process.cwd(), name);\n const templatePath = path.join(\n path.dirname(fileURLToPath(import.meta.url)),\n \"templates\",\n \"next-app\"\n );\n\n if (fsExtra.pathExistsSync(rootPath)) {\n throw new Error(\n `Cannot create Sleeke project. The folder \"${name}\" already exists at \"${rootPath}\".`\n );\n }\n\n intro(`Creating Sleeke project: ${name}`);\n\n const detectedLocale = detectSystemLocale();\n\n const rawLocale = await select({\n message: \"Select the default locale:\",\n initialValue: detectedLocale,\n options: SUPPORTED_LOCALES.map(({ value, label }) => ({\n value,\n label,\n hint:\n value === detectedLocale ? \"detected from your system\" : undefined,\n })),\n });\n\n if (isCancel(rawLocale)) {\n cancel(\"Operation cancelled.\");\n process.exit(0);\n }\n\n const s = spinner();\n s.start(\"Scaffolding project...\");\n\n fsExtra.copySync(templatePath, rootPath);\n await applyLocale(rootPath, rawLocale);\n\n s.stop(\"Project scaffolded.\");\n\n outro(\n `Project ready at ${rootPath}\\n\\n cd ${name}\\n pnpm install\\n pnpm dev`\n );\n } catch (err: unknown) {\n console.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n\nasync function applyLocale(rootPath: string, locale: string): Promise<void> {\n const sleekePath = path.join(rootPath, \"sleeke.json\");\n const sleekeConfig = await fsExtra.readJson(sleekePath);\n\n sleekeConfig.i18n.defaultLocale = locale;\n sleekeConfig.i18n.locales = [locale];\n sleekeConfig.i18n.supportedLocales = [locale];\n\n await fsExtra.writeJson(sleekePath, sleekeConfig, { spaces: 2 });\n\n const localeDirectory = sleekeConfig.i18n.localeDirectory;\n const localeDirPath = path.join(rootPath, localeDirectory, locale);\n\n await fsExtra.ensureDir(localeDirPath);\n\n const meta = SITE_META[locale] ?? SITE_META.en;\n await fsExtra.outputJson(\n path.join(localeDirPath, \"common.json\"),\n {\n common: {\n meta: {\n \"site-name\": meta[\"site-name\"],\n description: meta.description,\n keywords: meta.keywords,\n openGraph : {\n image: \"/og-image.png\",\n },\n twitter: {\n card: \"summary_large_image\",\n profile: \"@yourhandle\",\n }\n },\n },\n },\n { spaces: 2 }\n );\n\n const msgs = ERROR_MESSAGES[locale] ?? ERROR_MESSAGES.en;\n await fsExtra.outputJson(\n path.join(localeDirPath, \"errors.json\"),\n {\n \"errors\": {\n \"not-found\": { title: msgs.notFoundTitle, description: msgs.notFoundDescription, action: msgs.notFoundAction },\n \"locale-not-supported\": { title: msgs.localeNotSupportedTitle, description: msgs.localeNotSupportedDescription, action: msgs.localeNotSupportedAction },\n \"internal\": { title: msgs.internalTitle, description: msgs.internalDescription, \"try-again\": msgs.tryAgain },\n }\n },\n { spaces: 2 }\n );\n await fsExtra.outputJson(\n path.join(localeDirPath, \"routes/home.json\"),\n { home: { meta: { title: HOME_META[locale], description: meta.description }, page: { title: GREETINGS[locale] } } },\n { spaces: 2 }\n );\n}\n\nfunction detectSystemLocale(): string {\n const raw =\n process.env.LANG ||\n process.env.LANGUAGE ||\n process.env.LC_ALL ||\n Intl.DateTimeFormat().resolvedOptions().locale;\n\n const normalized = raw.split(\".\")[0].replace(\"_\", \"-\").toLowerCase();\n const supported = SUPPORTED_LOCALES.map((l) => l.value);\n\n return supported.includes(\n normalized as (typeof SUPPORTED_LOCALES)[number][\"value\"]\n )\n ? normalized\n : \"en\";\n}\n","import chalk from \"chalk\";\r\nimport fs from \"fs-extra\";\r\nimport path from \"path\";\r\nimport crypto from \"crypto\";\r\n\r\nexport type LogLevel = \"info\" | \"success\" | \"warn\" | \"error\" | \"debug\";\r\n\r\nexport class Logger {\r\n private static instance: Logger;\r\n private logDir?: string;\r\n private auditFile?: string;\r\n private sessionId: string;\r\n private projectRoot: string;\r\n\r\n private constructor() {\r\n this.projectRoot = process.cwd();\r\n this.sessionId = crypto.randomBytes(4).toString(\"hex\").substring(0, 7);\r\n }\r\n\r\n public setProjectRoot(root: string) {\r\n this.projectRoot = root;\r\n this.logDir = undefined;\r\n this.auditFile = undefined;\r\n }\r\n\r\n private ensureAuditFile() {\r\n if (!this.logDir || !this.auditFile) {\r\n this.logDir = path.join(this.projectRoot, \"logs\");\r\n const now = new Date();\r\n const timestamp = now.toISOString().split(\"T\")[0];\r\n this.auditFile = path.join(this.logDir, `${timestamp}.log`);\r\n \r\n if (!fs.existsSync(this.logDir)) {\r\n fs.mkdirpSync(this.logDir);\r\n }\r\n }\r\n }\r\n\r\n public static getInstance(): Logger {\r\n if (!Logger.instance) {\r\n Logger.instance = new Logger();\r\n }\r\n return Logger.instance;\r\n }\r\n\r\n public getSessionID(): string {\r\n return this.sessionId;\r\n }\r\n\r\n public getFullCommand(): string {\r\n return process.argv.slice(2).join(\" \");\r\n }\r\n\r\n public getAuditPath(): string {\r\n this.ensureAuditFile();\r\n return path.relative(process.cwd(), this.auditFile!);\r\n }\r\n\r\n private writeToAudit(level: LogLevel, message: string) {\r\n this.ensureAuditFile();\r\n const timestamp = new Date().toISOString().replace(\"T\", \" \").split(\".\")[0];\r\n // Strip ANSI escape codes for the audit log\r\n const cleanMessage = message.replace(/\\u001b\\[[0-9;]*m/g, \"\").replace(/\\u001b\\]8;;.*?\\u001b\\\\/g, \"\").replace(/\\u001b\\]8;;\\u001b\\\\/g, \"\");\r\n const logEntry = `${timestamp} ${level.toUpperCase()} c.command : [session : ${this.sessionId}] : ${cleanMessage}\\n`;\r\n fs.appendFileSync(this.auditFile!, logEntry);\r\n }\r\n\r\n public formatLink(text: string): string {\r\n return text.replace(/\\\\/g, \"/\");\r\n }\r\n\r\n public info(message: string, isAudited: boolean = true) {\r\n console.log(`${message}`);\r\n if (isAudited) {\r\n this.writeToAudit(\"info\", message);\r\n }\r\n }\r\n\r\n public success(message: string, isAudited: boolean = true) {\r\n console.log(`${chalk.green(message)}`);\r\n if (isAudited) {\r\n this.writeToAudit(\"success\", message);\r\n }\r\n }\r\n\r\n public warn(message: string, isAudited: boolean = true) {\r\n console.log(`${chalk.yellow(message)}`);\r\n if (isAudited) {\r\n this.writeToAudit(\"warn\", message);\r\n }\r\n }\r\n\r\n public error(message: string, error?: unknown, isAudited: boolean = true) {\r\n const errorMessage = error instanceof Error ? error.message : String(error || \"\");\r\n const fullMessage = `fatal: ${message} ${errorMessage}`;\r\n \r\n console.error(`${chalk.red(fullMessage)}`);\r\n if (isAudited) {\r\n this.writeToAudit(\"error\", fullMessage);\r\n if (error instanceof Error && error.stack) {\r\n this.writeToAudit(\"debug\", `Stack: ${error.stack}`);\r\n }\r\n }\r\n }\r\n\r\n public debug(message: string, data?: unknown, isAudited: boolean = true) {\r\n if (process.env.DEBUG) {\r\n console.log(`${chalk.gray(message)}`);\r\n if (data) console.dir(data, { depth: null, colors: true });\r\n }\r\n const auditMsg = data ? `${message} ${JSON.stringify(data)}` : message;\r\n if (isAudited) {\r\n this.writeToAudit(\"debug\", auditMsg);\r\n }\r\n }\r\n}\r\n\r\nexport const logger: Logger = Logger.getInstance();\r\n\r\n","export function dedent(strings: TemplateStringsArray, ...values: any[]) {\n const fullString = strings.reduce((acc, str, i) => acc + str + (values[i] ?? \"\"), \"\");\n\n // Split into lines\n const lines = fullString.split(\"\\n\");\n\n // Skip the first line if it's empty (common in multi-line templates)\n if (lines[0].trim() === \"\") lines.shift();\n // Skip the last line if it's empty\n if (lines.length > 0 && lines[lines.length - 1].trim() === \"\") lines.pop();\n\n // Find the minimum indentation of non-empty lines\n const minIndent = lines\n .filter((line) => line.trim() !== \"\")\n .reduce((min, line) => {\n const indent = line.match(/^\\s*/)?.[0].length ?? 0;\n return Math.min(min, indent);\n }, Infinity);\n\n // Remove the minimum indentation from each line\n return lines\n .map((line) => (line.trim() === \"\" ? \"\" : line.slice(minIndent)))\n .join(\"\\n\");\n}\n","import { Command } from \"commander\";\nimport { logger } from \"@/utils/logger-service\";\nimport { dedent } from \"@/utils/dedent\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nexport const createPage = new Command(\"create-page\")\n .name(\"create-page\")\n .description(\"create a new page.\")\n .argument(\"<names...>\", \"the names for the new pages.\")\n .option(\"-p, --private\", \"create new pages in private groups.\", false)\n .action(async (names: string[], options: { private: boolean }) => {\n await main(names, options);\n });\n\nasync function main(\n names: string[],\n options: { private: boolean }\n): Promise<void> {\n try {\n const sleekePath = path.join(process.cwd(), \"sleeke.json\");\n\n if (!fs.existsSync(sleekePath)) {\n throw new Error(\n \"not a sleeke project (or any of the parent directories): sleeke.json\"\n );\n }\n\n const sleekeConfig = JSON.parse(fs.readFileSync(sleekePath, \"utf8\"));\n const group = options.private ? \"private\" : \"public\";\n const defaultLocale = sleekeConfig.i18n?.defaultLocale ?? \"en\";\n const localeDirectory = sleekeConfig.i18n?.localeDirectory ?? \"src/locales\";\n const localeDirPath = path.join(\n process.cwd(),\n localeDirectory,\n defaultLocale,\n \"routes\"\n );\n\n logger.info(`Enumerating pages: ${names.length}, done.`);\n\n for (let i = 0; i < names.length; i++) {\n const pageName = names[i];\n const count = `${i + 1}/${names.length}`;\n const pagePath = path.join(\n process.cwd(),\n \"src\",\n \"app\",\n \"[locale]\",\n `(${group})`,\n pageName\n );\n\n if (fs.existsSync(pagePath)) {\n logger.warn(\n `Skipping page: ${count}, ${logger.formatLink(path.join(pageName, \"page.tsx\"))} (already exists)`,\n false\n );\n continue;\n }\n\n fs.mkdirSync(pagePath, { recursive: true });\n fs.writeFileSync(path.join(pagePath, \"page.tsx\"), pageTemplate(pageName), \"utf8\");\n logger.info(\n `Writing page: ${count}, ${logger.formatLink(path.join(pageName, \"page.tsx\"))}`,\n false\n );\n\n const localeFilePath = path.join(localeDirPath, `${pageName}.json`);\n\n if (!fs.existsSync(localeFilePath)) {\n fs.mkdirSync(localeDirPath, { recursive: true });\n fs.writeFileSync(localeFilePath, localeTemplate(pageName), \"utf8\");\n logger.info(\n `Writing locale: ${count}, ${logger.formatLink(path.join(localeDirectory, defaultLocale, \"routes\", `${pageName}.json`))}`,\n false\n );\n }\n\n sleekeConfig.routes[`${group}Routes`].push(pageName);\n }\n\n fs.writeFileSync(sleekePath, JSON.stringify(sleekeConfig, null, 2), \"utf8\");\n\n const groupLayoutPath = path.join(\n process.cwd(),\n \"src\",\n \"app\",\n \"[locale]\",\n `(${group})`,\n \"layout.tsx\"\n );\n\n if (!fs.existsSync(groupLayoutPath)) {\n fs.mkdirSync(path.dirname(groupLayoutPath), { recursive: true });\n fs.writeFileSync(\n groupLayoutPath,\n group === \"public\" ? publicLayoutTemplate() : privateLayoutTemplate(),\n \"utf8\"\n );\n }\n\n logger.info(\n `Resolving pages: 100% (${names.length}/${names.length}), done.`,\n false\n );\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n\nfunction pageTemplate(pageName: string): string {\n return dedent`\n import { useTranslations } from \"next-intl\";\n import { getTranslations } from \"next-intl/server\";\n import type { Metadata } from \"next\";\n\n type Props = { params: Promise<{ locale: string }> };\n\n export async function generateMetadata({ params }: Props): Promise<Metadata> {\n const { locale } = await params;\n const t = await getTranslations({ locale, namespace: \"${pageName}\" });\n const common = await getTranslations({ locale, namespace: \"common\" });\n return {\n title: \\`\\${t(\"meta.title\")} | \\${common(\"meta.site-name\")}\\`,\n description: t(\"meta.description\"),\n };\n }\n\n export default function Page() {\n const t = useTranslations(\"${pageName}\");\n return (\n <div></div>\n );\n }\n `;\n}\n\nfunction localeTemplate(pageName: string): string {\n const name = pageName.charAt(0).toUpperCase() + pageName.slice(1);\n return JSON.stringify({\n [pageName]: {\n meta: {\n title: name,\n description: `${name} page description`,\n },\n },\n }, null, 2) + \"\\n\";\n}\n\nfunction publicLayoutTemplate(): string {\n return dedent`\n type Props = { children: React.ReactNode };\n\n export default async function PublicLayout({ children }: Props) {\n return <>{children}</>;\n }\n `;\n}\n\nfunction privateLayoutTemplate(): string {\n return dedent`\n import type { Metadata } from \"next\";\n\n export const metadata: Metadata = {\n robots: { index: false, follow: false },\n other: {\n \"googlebot\": \"noindex, nofollow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\",\n },\n };\n\n type Props = { children: React.ReactNode };\n\n export default async function PrivateLayout({ children }: Props) {\n return <>{children}</>;\n }\n `;\n}\n","import {\n intro,\n outro,\n multiselect,\n isCancel,\n cancel,\n} from \"@clack/prompts\";\nimport { Command } from \"commander\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { logger } from \"@/utils/logger-service\";\nimport { SUPPORTED_LOCALES } from \"@/constants/locale-data\";\n\nconst supportedValues: string[] = SUPPORTED_LOCALES.map((l) => l.value);\n\nexport const addLocale = new Command(\"add-locale\")\n .name(\"add-locale\")\n .description(\"add a new locale to your project.\")\n .argument(\"[locales...]\", \"the locales to add (e.g., pt-br es fr).\")\n .action(async (locales: string[]) => {\n await main(locales);\n });\n\nasync function main(locales: string[]): Promise<void> {\n try {\n const sleekePath = path.join(process.cwd(), \"sleeke.json\");\n\n if (!fs.existsSync(sleekePath)) {\n throw new Error(\n \"not a sleeke project (or any of the parent directories): sleeke.json\"\n );\n }\n\n const sleekeConfig = JSON.parse(fs.readFileSync(sleekePath, \"utf8\"));\n const existing: string[] = sleekeConfig.i18n?.locales ?? [];\n\n let selectedLocales = locales;\n\n if (selectedLocales.length === 0) {\n intro(\"Add locales\");\n\n const available = SUPPORTED_LOCALES\n .filter((l) => !existing.includes(l.value))\n .map((l) => ({ value: l.value, label: `${l.label} (${l.value})` }));\n\n if (available.length === 0) {\n outro(\"All supported locales are already added.\");\n return;\n }\n\n const raw = await multiselect({\n message: \"Select locales to add:\",\n options: available,\n required: false,\n });\n\n if (isCancel(raw)) {\n cancel(\"Operation cancelled.\");\n process.exit(0);\n }\n\n selectedLocales = raw as string[];\n }\n\n if (selectedLocales.length === 0) {\n logger.info(\"No locales to add.\");\n return;\n }\n\n logger.info(`Enumerating locales: ${selectedLocales.length}, done.`);\n\n for (let i = 0; i < selectedLocales.length; i++) {\n const locale = selectedLocales[i];\n const count = `${i + 1}/${selectedLocales.length}`;\n\n if (!supportedValues.includes(locale)) {\n logger.warn(\n `Skipping locale: ${count}, \"${locale}\" (unsupported locale)`,\n false\n );\n continue;\n }\n\n if (existing.includes(locale)) {\n logger.warn(\n `Skipping locale: ${count}, \"${locale}\" (already exists)`,\n false\n );\n continue;\n }\n\n existing.push(locale);\n logger.info(`Adding locale: ${count}, \"${locale}\"`, false);\n }\n\n sleekeConfig.i18n.locales = existing;\n fs.writeFileSync(sleekePath, JSON.stringify(sleekeConfig, null, 2), \"utf8\");\n\n logger.info(`Resolving locales: 100% (${selectedLocales.length}/${selectedLocales.length}), done.`, false);\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n","import { Command } from \"commander\";\nimport { createPage } from \"@/commands/create-page\";\nimport { addLocale } from \"@/commands/add-locale\";\n\nexport const add = new Command(\"add\")\n .description(\"add resources to your project\")\n .addCommand(createPage.name(\"page\"))\n .addCommand(addLocale.name(\"locale\"));\n","import { Command } from \"commander\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport { logger } from \"@/utils/logger-service\";\n\nexport const deletePage = new Command(\"delete-page\")\n .description(\"Delete an existing page.\")\n .argument(\"<name...>\", \"The name of the page.\")\n .option(\"-p, --private\", \"Delete a page in private groups.\", false)\n .action(async (names: string[], options: { private: boolean }) => {\n await main(names, options);\n });\n\nasync function main(\n names: string[],\n options: { private: boolean }\n): Promise<void> {\n try {\n const sleekePath = path.join(process.cwd(), \"sleeke.json\");\n\n if (!fs.existsSync(sleekePath)) {\n throw new Error(\n \"fatal: not a sleeke project (or any of the parent directories): sleeke.json\"\n );\n }\n\n const group = options.private ? \"private\" : \"public\";\n const groupPagesPath = path.join(\n process.cwd(),\n \"src\",\n \"app\",\n \"[locale]\",\n `(${group})`\n );\n\n const sleekeConfig = JSON.parse(fs.readFileSync(sleekePath, \"utf8\"));\n logger.info(`Enumerating pages: ${names.length}, done.`);\n let count = 1;\n\n for (const pageName of names) {\n const pagePath = path.join(groupPagesPath, pageName);\n\n if (fs.existsSync(pagePath)) {\n fs.rmSync(pagePath, { recursive: true, force: true });\n\n const routes: string[] = sleekeConfig.routes[`${group}Routes`];\n sleekeConfig.routes[`${group}Routes`] = routes.filter(\n (route: string) => route !== pageName\n );\n\n logger.info(\n `Deleting page: ${count}/${names.length}, ${logger.formatLink(path.join(pageName, \"page.tsx\"))}`,\n false\n );\n\n const defaultLocale = sleekeConfig.i18n?.defaultLocale ?? \"en\";\n const localeDirectory =\n sleekeConfig.i18n?.localeDirectory ?? \"src/locales\";\n const localeFilePath = path.join(\n process.cwd(),\n localeDirectory,\n defaultLocale,\n \"routes\",\n `${pageName}.json`\n );\n\n if (fs.existsSync(localeFilePath)) {\n fs.rmSync(localeFilePath);\n logger.info(\n `Deleting locale: ${count}/${names.length}, ${logger.formatLink(path.join(localeDirectory, defaultLocale, \"routes\", `${pageName}.json`))}`,\n false\n );\n\n sleekeConfig.i18n.files ??= [];\n sleekeConfig.i18n.files = sleekeConfig.i18n.files.filter(\n (f: string) => f !== pageName\n );\n }\n } else {\n logger.warn(\n `Skipping page: ${count}/${names.length}, ${logger.formatLink(path.join(pageName, \"page.tsx\"))} (The page does not exist)`,\n false\n );\n }\n count++;\n }\n\n if (!fs.existsSync(groupPagesPath)) {\n process.exit(0);\n }\n\n const remainingFiles = fs\n .readdirSync(groupPagesPath)\n .filter((file) => file !== \"layout.tsx\" && file !== \".DS_Store\");\n\n if (remainingFiles.length === 0) {\n fs.rmSync(groupPagesPath, { recursive: true, force: true });\n }\n\n fs.writeFileSync(sleekePath, JSON.stringify(sleekeConfig, null, 2), \"utf8\");\n\n logger.info(\n `Resolving pages: 100% (${names.length}/${names.length}), done.`,\n false\n );\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n","import { Command } from \"commander\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { logger } from \"@/utils/logger-service\";\n\nexport const removeLocale = new Command(\"remove-locale\")\n .name(\"remove-locale\")\n .description(\"remove a locale from your project.\")\n .argument(\"<locales...>\", \"the locales to remove (e.g., pt-br es fr).\")\n .action(async (locales: string[]) => {\n await main(locales);\n });\n\nasync function main(locales: string[]): Promise<void> {\n try {\n const sleekePath = path.join(process.cwd(), \"sleeke.json\");\n\n if (!fs.existsSync(sleekePath)) {\n throw new Error(\n \"not a sleeke project (or any of the parent directories): sleeke.json\"\n );\n }\n\n const sleekeConfig = JSON.parse(fs.readFileSync(sleekePath, \"utf8\"));\n const existing: string[] = sleekeConfig.i18n?.locales ?? [];\n\n logger.info(`Enumerating locales: ${locales.length}, done.`);\n\n for (let i = 0; i < locales.length; i++) {\n const locale = locales[i];\n const count = `${i + 1}/${locales.length}`;\n\n if (locale === sleekeConfig.i18n.defaultLocale) {\n logger.warn(\n `Skipping locale: ${count}, \"${locale}\" (cannot remove default locale)`,\n false\n );\n continue;\n }\n\n if (!existing.includes(locale)) {\n logger.warn(\n `Skipping locale: ${count}, \"${locale}\" (not found in locales)`,\n false\n );\n continue;\n }\n\n const idx = existing.indexOf(locale);\n existing.splice(idx, 1);\n logger.info(`Removing locale: ${count}, \"${locale}\"`, false);\n }\n\n sleekeConfig.i18n.locales = existing;\n fs.writeFileSync(sleekePath, JSON.stringify(sleekeConfig, null, 2), \"utf8\");\n\n logger.info(`Resolving locales: 100% (${locales.length}/${locales.length}), done.`, false);\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n","import { Command } from \"commander\";\nimport { deletePage } from \"@/commands/delete-page\";\nimport { removeLocale } from \"@/commands/remove-locale\";\n\nexport const rm = new Command(\"rm\")\n .description(\"remove resources from your project\")\n .addCommand(deletePage.name(\"page\"))\n .addCommand(removeLocale.name(\"locale\"));\n","import { Command } from \"commander\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { logger } from \"@/utils/logger-service\";\n\nexport const renamePage = new Command(\"rename-page\")\n .name(\"rename-page\")\n .description(\"Rename an existing page.\")\n .argument(\"<oldName>\", \"The current name of the page.\")\n .argument(\"<newName>\", \"The new name for the page.\")\n .option(\"-p, --private\", \"Move the page to the private group.\", false)\n .action(\n async (oldName: string, newName: string, options: { private: boolean }) =>\n main(oldName, newName, options)\n );\n\nasync function main(\n oldName: string,\n newName: string,\n options: { private: boolean }\n): Promise<void> {\n try {\n const sleekePath = path.join(process.cwd(), \"sleeke.json\");\n\n if (!fs.existsSync(sleekePath)) {\n throw new Error(\n \"fatal: not a sleeke project (or any of the parent directories): sleeke.json\"\n );\n }\n\n const appLocalePath = path.join(process.cwd(), \"src\", \"app\", \"[locale]\");\n\n // Discover which group the page currently lives in\n const publicPagePath = path.join(appLocalePath, \"(public)\", oldName);\n const privatePagePath = path.join(appLocalePath, \"(private)\", oldName);\n\n let sourceGroup: \"public\" | \"private\" | null = null;\n\n if (fs.existsSync(publicPagePath)) {\n sourceGroup = \"public\";\n } else if (fs.existsSync(privatePagePath)) {\n sourceGroup = \"private\";\n }\n\n if (!sourceGroup) {\n throw new Error(`Page \"${oldName}\" does not exist in any group.`);\n }\n\n const destGroup = options.private ? \"private\" : \"public\";\n\n const oldPagePath = path.join(appLocalePath, `(${sourceGroup})`, oldName);\n const newPagePath = path.join(appLocalePath, `(${destGroup})`, newName);\n\n if (fs.existsSync(newPagePath)) {\n throw new Error(\n `Page \"${newName}\" already exists in the ${destGroup} group.`\n );\n }\n\n logger.info(`Renaming page: ${oldName} → ${newName}...`);\n\n // Ensure the destination group folder exists before moving\n fs.mkdirSync(path.dirname(newPagePath), { recursive: true });\n fs.renameSync(oldPagePath, newPagePath);\n\n logger.info(\n `Renamed page: ${logger.formatLink(path.join(oldName, \"page.tsx\"))} → ${logger.formatLink(path.join(newName, \"page.tsx\"))}`,\n false\n );\n\n if (sourceGroup !== destGroup) {\n logger.info(`Moved page: (${sourceGroup}) → (${destGroup})`, false);\n\n const sourceGroupPath = path.join(appLocalePath, `(${sourceGroup})`);\n\n if (fs.existsSync(sourceGroupPath)) {\n const remainingFiles = fs\n .readdirSync(sourceGroupPath)\n .filter((file) => file !== \"layout.tsx\" && file !== \".DS_Store\");\n\n if (remainingFiles.length === 0) {\n fs.rmSync(sourceGroupPath, { recursive: true, force: true });\n logger.info(`Removed empty group: (${sourceGroup})`, false);\n }\n }\n }\n\n // Update sleeke.json routes\n const sleekeConfig = JSON.parse(fs.readFileSync(sleekePath, \"utf8\"));\n\n // Remove from source group\n const sourceRoutes: string[] =\n sleekeConfig.routes[`${sourceGroup}Routes`] ?? [];\n sleekeConfig.routes[`${sourceGroup}Routes`] = sourceRoutes.filter(\n (r: string) => r !== oldName\n );\n\n // Add/rename in destination group\n if (sourceGroup === destGroup) {\n sleekeConfig.routes[`${destGroup}Routes`] = (\n sleekeConfig.routes[`${destGroup}Routes`] as string[]\n ).map((r: string) => (r === oldName ? newName : r));\n } else {\n const destRoutes: string[] =\n sleekeConfig.routes[`${destGroup}Routes`] ?? [];\n sleekeConfig.routes[`${destGroup}Routes`] = [...destRoutes, newName];\n }\n\n // Rename locale JSON file\n const defaultLocale = sleekeConfig.i18n?.defaultLocale ?? \"en\";\n const localeDirectory = sleekeConfig.i18n?.localeDirectory ?? \"src/locales\";\n const oldLocaleFilePath = path.join(\n process.cwd(),\n localeDirectory,\n defaultLocale,\n \"routes\",\n `${oldName}.json`\n );\n const newLocaleFilePath = path.join(\n process.cwd(),\n localeDirectory,\n defaultLocale,\n \"routes\",\n `${newName}.json`\n );\n\n if (fs.existsSync(oldLocaleFilePath)) {\n fs.renameSync(oldLocaleFilePath, newLocaleFilePath);\n logger.info(\n `Renamed locale: ${logger.formatLink(path.join(localeDirectory, defaultLocale, \"routes\", `${oldName}.json`))} → ${logger.formatLink(path.join(localeDirectory, defaultLocale, \"routes\", `${newName}.json`))}`,\n false\n );\n\n sleekeConfig.i18n.files ??= [];\n const idx = sleekeConfig.i18n.files.indexOf(oldName);\n if (idx !== -1) {\n sleekeConfig.i18n.files[idx] = newName;\n } else {\n sleekeConfig.i18n.files.push(newName);\n }\n }\n\n fs.writeFileSync(sleekePath, JSON.stringify(sleekeConfig, null, 2), \"utf8\");\n\n logger.info(`Session: ${logger.getSessionID()}`, false);\n logger.info(` ${logger.formatLink(logger.getAuditPath())}`, false);\n } catch (err: unknown) {\n logger.error(\n err instanceof Error ? err.message : \"An unknown error occurred.\"\n );\n process.exit(1);\n }\n}\n","import { Command } from \"commander\";\nimport { renamePage } from \"@/commands/rename-page\";\n\nexport const mv = new Command(\"mv\")\n .description(\"move resources from your project\")\n .addCommand(renamePage.name(\"page\"));\n","import { Command } from \"commander\";\nimport { init } from \"@/commands/init\";\nimport { add } from \"@/commands/add\";\nimport { rm } from \"@/commands/rm\";\nimport { mv } from \"./commands/mv\";\n\nasync function main() {\n const program = new Command();\n\n program\n .name(\"sleeke\")\n .description(\"a modern generator for nextjs projects\")\n .version(\"1.0.0\");\n\n program.addCommand(init).addCommand(add).addCommand(rm).addCommand(mv);\n\n program.parse();\n}\n\nmain();\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Sleeke Project
|
|
2
2
|
|
|
3
|
-
This project was generated with [
|
|
3
|
+
This project was generated with [Sleeke](https://github.com/araujoio/luxw)
|
|
4
4
|
|
|
5
|
-
## What is
|
|
5
|
+
## What is Sleeke?
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Sleeke is a command-line tool that automates the creation of Next.js projects with support for multiple libraries, eliminating repetitive setup tasks and letting developers focus on what actually matters building the product.
|
|
8
8
|
|
|
9
|
-
Beyond scaffolding,
|
|
9
|
+
Beyond scaffolding, Sleeke leverages AI-powered skills and MCPs (Model Context Protocols) under the hood to automate complex workflows like bulk-translating pages, managing routes, and maintaining project consistency. This means less manual config and more productivity, right from your terminal.
|
|
10
10
|
|
|
11
11
|
## Rules
|
|
12
12
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { defineRouting } from "next-intl/routing";
|
|
2
|
-
import
|
|
2
|
+
import sleeke from "../../sleeke.json";
|
|
3
3
|
|
|
4
4
|
export const routing = defineRouting({
|
|
5
|
-
locales:
|
|
6
|
-
defaultLocale:
|
|
5
|
+
locales: sleeke.i18n.locales as [string, ...string[]],
|
|
6
|
+
defaultLocale: sleeke.i18n.defaultLocale,
|
|
7
7
|
localePrefix: "always",
|
|
8
8
|
pathnames: {
|
|
9
9
|
"/": "/"
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import createMiddleware from 'next-intl/middleware';
|
|
2
2
|
import { NextRequest, NextResponse } from 'next/server';
|
|
3
3
|
import { routing } from './i18n/routing';
|
|
4
|
-
import
|
|
4
|
+
import sleeke from '../sleeke.json';
|
|
5
5
|
|
|
6
6
|
const intlMiddleware = createMiddleware(routing);
|
|
7
7
|
|
|
8
|
-
const allLocales = new Set<string>(
|
|
9
|
-
const supportedLocales = new Set<string>(
|
|
10
|
-
const defaultLocale =
|
|
8
|
+
const allLocales = new Set<string>(sleeke.i18n.locales);
|
|
9
|
+
const supportedLocales = new Set<string>(sleeke.i18n.supportedLocales);
|
|
10
|
+
const defaultLocale = sleeke.i18n.defaultLocale;
|
|
11
11
|
const knownRoutes = new Set<string>([
|
|
12
|
-
...(
|
|
13
|
-
...(
|
|
12
|
+
...(sleeke.routes.publicRoutes as string[]).map(r => r.startsWith('/') ? r : `/${r}`),
|
|
13
|
+
...(sleeke.routes.privateRoutes as string[]).map(r => r.startsWith('/') ? r : `/${r}`),
|
|
14
14
|
]);
|
|
15
15
|
|
|
16
16
|
export default function middleware(request: NextRequest) {
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sleeke",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Nextjs template generator",
|
|
5
5
|
"author": "araujoio",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/araujoio/
|
|
9
|
+
"url": "https://github.com/araujoio/sleeke.git"
|
|
10
10
|
},
|
|
11
11
|
"keywords": [
|
|
12
|
-
"
|
|
12
|
+
"sleeke",
|
|
13
13
|
"cli",
|
|
14
14
|
"nextjs",
|
|
15
15
|
"react",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
".": "./dist/index.js"
|
|
23
23
|
},
|
|
24
24
|
"bin": {
|
|
25
|
-
"
|
|
25
|
+
"sleeke": "dist/index.js"
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
28
|
"dist"
|
|
File without changes
|