@hua-labs/i18n-core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +636 -0
- package/dist/components/MissingKeyOverlay.d.ts +33 -0
- package/dist/components/MissingKeyOverlay.d.ts.map +1 -0
- package/dist/components/MissingKeyOverlay.js +138 -0
- package/dist/components/MissingKeyOverlay.js.map +1 -0
- package/dist/core/debug-tools.d.ts +37 -0
- package/dist/core/debug-tools.d.ts.map +1 -0
- package/dist/core/debug-tools.js +241 -0
- package/dist/core/debug-tools.js.map +1 -0
- package/dist/core/i18n-resource.d.ts +59 -0
- package/dist/core/i18n-resource.d.ts.map +1 -0
- package/dist/core/i18n-resource.js +153 -0
- package/dist/core/i18n-resource.js.map +1 -0
- package/dist/core/lazy-loader.d.ts +82 -0
- package/dist/core/lazy-loader.d.ts.map +1 -0
- package/dist/core/lazy-loader.js +193 -0
- package/dist/core/lazy-loader.js.map +1 -0
- package/dist/core/translator-factory.d.ts +50 -0
- package/dist/core/translator-factory.d.ts.map +1 -0
- package/dist/core/translator-factory.js +117 -0
- package/dist/core/translator-factory.js.map +1 -0
- package/dist/core/translator.d.ts +202 -0
- package/dist/core/translator.d.ts.map +1 -0
- package/dist/core/translator.js +912 -0
- package/dist/core/translator.js.map +1 -0
- package/dist/hooks/useI18n.d.ts +39 -0
- package/dist/hooks/useI18n.d.ts.map +1 -0
- package/dist/hooks/useI18n.js +531 -0
- package/dist/hooks/useI18n.js.map +1 -0
- package/dist/hooks/useTranslation.d.ts +55 -0
- package/dist/hooks/useTranslation.d.ts.map +1 -0
- package/dist/hooks/useTranslation.js +58 -0
- package/dist/hooks/useTranslation.js.map +1 -0
- package/dist/index.d.ts +162 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +191 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +162 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +191 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/default-translations.d.ts +20 -0
- package/dist/utils/default-translations.d.ts.map +1 -0
- package/dist/utils/default-translations.js +123 -0
- package/dist/utils/default-translations.js.map +1 -0
- package/package.json +60 -0
- package/src/components/MissingKeyOverlay.tsx +223 -0
- package/src/core/debug-tools.ts +298 -0
- package/src/core/i18n-resource.ts +180 -0
- package/src/core/lazy-loader.ts +255 -0
- package/src/core/translator-factory.ts +137 -0
- package/src/core/translator.tsx +1194 -0
- package/src/hooks/useI18n.tsx +595 -0
- package/src/hooks/useTranslation.tsx +62 -0
- package/src/index.ts +298 -0
- package/src/types/index.ts +443 -0
- package/src/utils/default-translations.ts +129 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useI18n.js","sourceRoot":"","sources":["../../src/hooks/useI18n.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAKL,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,gBAAgB;AAChB,MAAM,WAAW,GAAG,aAAa,CAAyB,IAAI,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,MAAM,EACN,QAAQ,EAIT;IACC,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACpF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAC;IAClE,yBAAyB;IACzB,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhE,qDAAqD;IACrD,wCAAwC;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;YACjE,uBAAuB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;IAE7D,+BAA+B;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,eAAe;IACf,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,EAAE,CAAC;YAClB,sBAAsB;YACtB,4CAA4C;YAC5C,MAAM,cAAc,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACvD,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;gBACvC,sCAAsC;gBACtC,4CAA4C;gBAC5C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,6CAA6C,cAAc,OAAO,eAAe,wBAAwB,CAAC,CAAC;gBACzH,CAAC;gBACD,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE;gBAC/C,aAAa,EAAE,CAAC,CAAC,UAAU;gBAC3B,eAAe;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QAED,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;YACtC,IAAI,CAAC;gBACH,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEf,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;gBACpE,CAAC;gBAED,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAExC,kBAAkB;gBAClB,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC9B,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAEvB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,GAAuB,CAAC;gBAC1C,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,SAAS,CAAC,CAAC;gBAC3E,CAAC;gBACD,iCAAiC;gBACjC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QAEF,oBAAoB,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAE/D,6BAA6B;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE;YACtD,+BAA+B;YAC/B,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACxC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9C,gEAAgE;IAChE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,eAAe;QACf,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,WAAmB,EAAE,EAAE;YACvE,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;gBACpC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,wCAAwC,eAAe,OAAO,WAAW,EAAE,CAAC,CAAC;gBAC3F,CAAC;gBACD,uBAAuB,CAAC,WAAW,CAAC,CAAC;gBACrC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/D,kBAAkB;IAClB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,GAAG,CAAC,KAAkB,EAAE,EAAE;YAClD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;gBACvE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;gBACrD,CAAC;gBACD,WAAW,CAAC,WAAW,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC;QAEF,4BAA4B;QAC5B,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,oBAAqC,CAAC,CAAC;QAExF,qBAAqB;QACrB,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,oBAAqC,CAAC,CAAC;QAEtF,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,oBAAqC,CAAC,CAAC;YAC3F,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,oBAAqC,CAAC,CAAC;QAC3F,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;IAE/C,oBAAoB;IACpB,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,MAAM,WAAW,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACpD,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,oCAAoC,WAAW,OAAO,QAAQ,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,CAAC;YACH,qDAAqD;YACrD,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACjC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAElC,iCAAiC;YACjC,gDAAgD;YAChD,2CAA2C;YAC3C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;YAEpE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,4CAA4C,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/B,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,cAAc;IACd,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,UAAkB,EAAiB,EAAE;QAC3F,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEpD,mBAAmB;QACnB,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,eAAe,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC;QACrD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YACnF,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5D,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpE,aAAa;IACb,MAAM,yBAAyB,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,UAAkB,EAAiB,EAAE;QAC/F,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1E,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAAE,SAAS,CAAC,CAAC;QAEhG,OAAO,mBAAmB,CAAC,SAAS,CAAC,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IACnF,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExC,kCAAkC;IAClC,qEAAqE;IACrE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,QAAiB,EAAE,EAAE;QACvD,qEAAqE;QACrE,oCAAoC;QACpC,KAAK,kBAAkB,CAAC;QACxB,KAAK,eAAe,CAAC;QAErB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,IAAI,eAAe,CAAC;QAE/C,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACnD,IAAI,MAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC9C,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wCAAwC;QAC1C,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACzD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,sBAAsB;QACtB,MAAM,aAAa,GAAG,yBAAyB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACjE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,uBAAuB;QACvB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC,CAAC,0BAA0B;QACxC,CAAC;QACD,OAAO,EAAE,CAAC,CAAC,gCAAgC;IAC7C,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,yBAAyB,CAAC,CAA+C,CAAC;IAE7L,0BAA0B;IAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,MAA0B,EAAE,QAAiB,EAAE,EAAE;QAC7F,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;YAClC,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAEhC,wBAAwB;IACxB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,GAAW,EAAE,MAA0B,EAAE,EAAE;QAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/B,uBAAuB;IACvB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,SAAkB,EAAE,MAA0B,EAAE,EAAE;QACxF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/B,wBAAwB;IACxB,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,QAAiB,EAAW,EAAE;QAC1E,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAEhC,kBAAkB;IAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3B,kBAAkB,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC;gBACH,OAAO,UAAU,EAAE,kBAAkB,EAAE,IAAI,eAAe,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,eAAe,CAAC;YACzB,CAAC;QACH,CAAC;QACD,qBAAqB,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC;gBACH,OAAO,UAAU,EAAE,qBAAqB,EAAE,IAAI,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClG,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,mBAAmB,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,UAAU,EAAE,KAAK,EAAE,CAAC;gBACtC,IAAI,SAAS,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;oBAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAChD,CAAC;gBACD,wBAAwB;gBACxB,IAAI,SAAS,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;oBAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;oBACrC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,QAAiB,EAAE,EAAE;wBACrE,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gCACxC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAC5B,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,kBAAkB,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC;gBACH,OAAO,UAAU,EAAE,KAAK,EAAE,EAAE,eAAe,IAAI,EAAE,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC;gBACH,OAAO,UAAU,EAAE,OAAO,EAAE,IAAI,aAAa,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,aAAa,CAAC;YACvB,CAAC;QACH,CAAC;QACD,sBAAsB,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC;gBACH,OAAO,UAAU,EAAE,sBAAsB,EAAE,IAAI,KAAK,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,UAAU,EAAE,GAAG,EAAE;YACf,IAAI,CAAC;gBACH,UAAU,EAAE,UAAU,EAAE,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK;YACP,CAAC;QACH,CAAC;QACD,aAAa,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,UAAU,EAAE,KAAK,EAAE,CAAC;gBACtC,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;oBACtC,OAAO;wBACL,IAAI,EAAE,SAAS,CAAC,SAAS,IAAI,CAAC;wBAC9B,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;wBACpC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;qBACzC,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;QACD,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC7B,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;gBAChC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,CAAC,GAAuB,CAAC,CAAC;gBACpC,CAAC;wBAAS,CAAC;oBACT,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEpF,MAAM,KAAK,GAAoB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,eAAe;QACf,WAAW;QACX,CAAC;QACD,WAAW;QACX,MAAM;QACN,KAAK;QACL,WAAW;QACX,SAAS;QACT,KAAK;QACL,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,KAAK;QACL,aAAa,EAAE,mBAAmB;QAClC,kBAAkB,EAAE,sBAAsB;KAC3C,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEvK,sBAAsB;IACtB,uEAAuE;IAEvE,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC/B,QAAQ,GACY,CACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,2BAA2B;QAC3B,OAAO;YACL,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;YACrB,CAAC,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;YACvB,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;YACjC,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG;YAClC,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;YAC3B,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;YAC5B,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,IAAI;YACX,kBAAkB,EAAE;gBAClB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;gBACjD,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE;aACvD;YACD,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE;gBACL,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI;gBAC9B,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;gBACzC,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE;gBAC7B,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;gBACpB,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI;gBAClC,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;gBACpB,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACtD,kBAAkB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;aACnC;SACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC;IAEzG,OAAO;QACL,CAAC;QACD,WAAW;QACX,eAAe;QACf,WAAW;QACX,SAAS;QACT,KAAK;QACL,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;YACxB,kBAAkB,EAAE;gBAClB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;gBACjD,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE;aACvD;SACF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAErE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,QAAgB,EAAE,EAAE;QACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1E,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,mBAAmB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEtC,OAAO;QACL,eAAe;QACf,cAAc;QACd,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,sBAAsB;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,UAAoB,EAAE,EAAE;QACzD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,0BAA0B;QAC1B,OAAO,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;IACtG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,0BAA0B;IAC1B,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;AACnG,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 간단한 번역 훅 (원본 SDK와 호환)
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { useTranslation } from '@hua-labs/i18n-core';
|
|
7
|
+
*
|
|
8
|
+
* function MyComponent() {
|
|
9
|
+
* const { t, currentLanguage, setLanguage, isLoading, error } = useTranslation();
|
|
10
|
+
*
|
|
11
|
+
* return (
|
|
12
|
+
* <div>
|
|
13
|
+
* <h1>{t('welcome')}</h1>
|
|
14
|
+
* <p>Current language: {currentLanguage}</p>
|
|
15
|
+
* <button onClick={() => setLanguage('en')}>Switch to English</button>
|
|
16
|
+
* </div>
|
|
17
|
+
* );
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function useTranslation(): {
|
|
22
|
+
t: (key: string, language?: string) => string;
|
|
23
|
+
tWithParams: (key: string, params?: import("../types").TranslationParams, language?: string) => string;
|
|
24
|
+
currentLanguage: string;
|
|
25
|
+
setLanguage: (language: string) => void;
|
|
26
|
+
getRawValue: (key: string, language?: string) => unknown;
|
|
27
|
+
isLoading: boolean;
|
|
28
|
+
error: import("../types").TranslationError | null;
|
|
29
|
+
supportedLanguages: import("../types").LanguageConfig[];
|
|
30
|
+
debug: {
|
|
31
|
+
getCurrentLanguage: () => string;
|
|
32
|
+
getSupportedLanguages: () => string[];
|
|
33
|
+
getLoadedNamespaces: () => string[];
|
|
34
|
+
getAllTranslations: () => Record<string, Record<string, unknown>>;
|
|
35
|
+
isReady: () => boolean;
|
|
36
|
+
getInitializationError: () => import("../types").TranslationError | null;
|
|
37
|
+
clearCache: () => void;
|
|
38
|
+
reloadTranslations: () => Promise<void>;
|
|
39
|
+
getCacheStats: () => {
|
|
40
|
+
size: number;
|
|
41
|
+
hits: number;
|
|
42
|
+
misses: number;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
isInitialized: boolean;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* 언어 변경 전용 훅
|
|
49
|
+
*/
|
|
50
|
+
export declare function useLanguageChange(): {
|
|
51
|
+
currentLanguage: string;
|
|
52
|
+
changeLanguage: (language: string) => void;
|
|
53
|
+
supportedLanguages: import("../types").LanguageConfig[];
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=useTranslation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTranslation.d.ts","sourceRoot":"","sources":["../../src/hooks/useTranslation.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;EAe7B;AAED;;GAEG;AACH,wBAAgB,iBAAiB;;+BAGG,MAAM;;EAczC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useI18n } from './useI18n';
|
|
3
|
+
/**
|
|
4
|
+
* 간단한 번역 훅 (원본 SDK와 호환)
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* import { useTranslation } from '@hua-labs/i18n-core';
|
|
9
|
+
*
|
|
10
|
+
* function MyComponent() {
|
|
11
|
+
* const { t, currentLanguage, setLanguage, isLoading, error } = useTranslation();
|
|
12
|
+
*
|
|
13
|
+
* return (
|
|
14
|
+
* <div>
|
|
15
|
+
* <h1>{t('welcome')}</h1>
|
|
16
|
+
* <p>Current language: {currentLanguage}</p>
|
|
17
|
+
* <button onClick={() => setLanguage('en')}>Switch to English</button>
|
|
18
|
+
* </div>
|
|
19
|
+
* );
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export function useTranslation() {
|
|
24
|
+
const { t, tWithParams, currentLanguage, setLanguage, getRawValue, isLoading, error, supportedLanguages, debug, isInitialized } = useI18n();
|
|
25
|
+
return {
|
|
26
|
+
t,
|
|
27
|
+
tWithParams,
|
|
28
|
+
currentLanguage,
|
|
29
|
+
setLanguage,
|
|
30
|
+
getRawValue,
|
|
31
|
+
isLoading,
|
|
32
|
+
error,
|
|
33
|
+
supportedLanguages,
|
|
34
|
+
debug,
|
|
35
|
+
isInitialized,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 언어 변경 전용 훅
|
|
40
|
+
*/
|
|
41
|
+
export function useLanguageChange() {
|
|
42
|
+
const { currentLanguage, setLanguage, supportedLanguages } = useI18n();
|
|
43
|
+
const changeLanguage = (language) => {
|
|
44
|
+
const supported = supportedLanguages.find(lang => lang.code === language);
|
|
45
|
+
if (supported) {
|
|
46
|
+
setLanguage(language);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
console.warn(`Language ${language} is not supported`);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
return {
|
|
53
|
+
currentLanguage,
|
|
54
|
+
changeLanguage,
|
|
55
|
+
supportedLanguages,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=useTranslation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTranslation.js","sourceRoot":"","sources":["../../src/hooks/useTranslation.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAE5I,OAAO;QACL,CAAC;QACD,WAAW;QACX,eAAe;QACf,WAAW;QACX,WAAW;QACX,SAAS;QACT,KAAK;QACL,kBAAkB;QAClB,KAAK;QACL,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC;IAEvE,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1E,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,mBAAmB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,eAAe;QACf,cAAc;QACd,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hua-labs/i18n-core - 핵심 기능 전용 엔트리포인트
|
|
3
|
+
*
|
|
4
|
+
* 이 모듈은 기본적인 번역 기능만 필요한 경우 사용합니다.
|
|
5
|
+
* 플러그인, 고급 기능, 디버깅 도구 없이 순수한 번역 기능만 제공합니다.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { I18nProvider, useI18n } from './hooks/useI18n';
|
|
9
|
+
import { useTranslation, useLanguageChange } from './hooks/useTranslation';
|
|
10
|
+
import { Translator, ssrTranslate, serverTranslate } from './core/translator';
|
|
11
|
+
import { I18nConfig } from './types';
|
|
12
|
+
declare global {
|
|
13
|
+
interface Window {
|
|
14
|
+
__I18N_DEBUG_MODE__?: boolean;
|
|
15
|
+
__I18N_DEBUG_MISSING_KEYS__?: Record<string, string[]>;
|
|
16
|
+
__I18N_DEBUG_ERRORS__?: Array<{
|
|
17
|
+
timestamp: string;
|
|
18
|
+
language: string;
|
|
19
|
+
namespace: string;
|
|
20
|
+
error: string;
|
|
21
|
+
stack?: string;
|
|
22
|
+
}>;
|
|
23
|
+
__I18N_PERFORMANCE_DATA__?: Record<string, number[]>;
|
|
24
|
+
__I18N_PERFORMANCE_ALERTS__?: Array<{
|
|
25
|
+
id: string;
|
|
26
|
+
type: 'warning' | 'error' | 'info';
|
|
27
|
+
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
28
|
+
message: string;
|
|
29
|
+
metric: string;
|
|
30
|
+
value: number;
|
|
31
|
+
threshold: number;
|
|
32
|
+
timestamp: number;
|
|
33
|
+
resolved: boolean;
|
|
34
|
+
}>;
|
|
35
|
+
__I18N_ANALYTICS_DATA__?: {
|
|
36
|
+
missingKeys?: Set<string> | string[];
|
|
37
|
+
performance?: {
|
|
38
|
+
totalTime: number;
|
|
39
|
+
averageTime: number;
|
|
40
|
+
calls: number;
|
|
41
|
+
};
|
|
42
|
+
usage?: {
|
|
43
|
+
keys?: Map<string, number> | Record<string, number>;
|
|
44
|
+
languages?: Map<string, number> | Record<string, number>;
|
|
45
|
+
namespaces?: Map<string, number> | Record<string, number>;
|
|
46
|
+
};
|
|
47
|
+
errors?: Array<{
|
|
48
|
+
timestamp: number;
|
|
49
|
+
error: string;
|
|
50
|
+
context: string;
|
|
51
|
+
}>;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 핵심 기능용 설정 함수
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```tsx
|
|
60
|
+
* // app/layout.tsx (Next.js App Router)
|
|
61
|
+
* import { createCoreI18n } from '@hua-labs/i18n-core';
|
|
62
|
+
*
|
|
63
|
+
* export default function RootLayout({ children }) {
|
|
64
|
+
* return (
|
|
65
|
+
* <html>
|
|
66
|
+
* <body>
|
|
67
|
+
* {createCoreI18n({
|
|
68
|
+
* defaultLanguage: 'ko',
|
|
69
|
+
* fallbackLanguage: 'en',
|
|
70
|
+
* namespaces: ['common', 'auth']
|
|
71
|
+
* })({ children })}
|
|
72
|
+
* </body>
|
|
73
|
+
* </html>
|
|
74
|
+
* );
|
|
75
|
+
* }
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function createCoreI18n(options?: {
|
|
79
|
+
defaultLanguage?: string;
|
|
80
|
+
fallbackLanguage?: string;
|
|
81
|
+
namespaces?: string[];
|
|
82
|
+
debug?: boolean;
|
|
83
|
+
loadTranslations?: (language: string, namespace: string) => Promise<Record<string, string>>;
|
|
84
|
+
/**
|
|
85
|
+
* 번역 파일 로딩 방식 설정
|
|
86
|
+
* - 'api': API route를 통해 동적 로드 (기본값, 권장)
|
|
87
|
+
* - 'static': 정적 파일 경로에서 로드
|
|
88
|
+
* - 'custom': loadTranslations 함수 사용
|
|
89
|
+
*/
|
|
90
|
+
translationLoader?: 'api' | 'static' | 'custom';
|
|
91
|
+
/**
|
|
92
|
+
* API route 경로 (translationLoader가 'api'일 때 사용)
|
|
93
|
+
* 기본값: '/api/translations'
|
|
94
|
+
*/
|
|
95
|
+
translationApiPath?: string;
|
|
96
|
+
/**
|
|
97
|
+
* SSR에서 전달된 초기 번역 데이터 (네트워크 요청 없이 사용)
|
|
98
|
+
* 형식: { [language]: { [namespace]: { [key]: value } } }
|
|
99
|
+
*/
|
|
100
|
+
initialTranslations?: Record<string, Record<string, Record<string, string>>>;
|
|
101
|
+
/**
|
|
102
|
+
* 자동 언어 동기화 활성화 여부
|
|
103
|
+
* 기본값: false (Zustand 어댑터 등 외부에서 직접 처리하는 경우)
|
|
104
|
+
*/
|
|
105
|
+
autoLanguageSync?: boolean;
|
|
106
|
+
}): ({ children }: {
|
|
107
|
+
children: React.ReactNode;
|
|
108
|
+
}) => React.FunctionComponentElement<{
|
|
109
|
+
config: I18nConfig & {
|
|
110
|
+
autoLanguageSync?: boolean;
|
|
111
|
+
};
|
|
112
|
+
children: React.ReactNode;
|
|
113
|
+
}>;
|
|
114
|
+
/**
|
|
115
|
+
* 가장 기본적인 Provider (최소한의 설정)
|
|
116
|
+
*/
|
|
117
|
+
export declare function CoreProvider({ children }: {
|
|
118
|
+
children: React.ReactNode;
|
|
119
|
+
}): React.FunctionComponentElement<{
|
|
120
|
+
config: I18nConfig & {
|
|
121
|
+
autoLanguageSync?: boolean;
|
|
122
|
+
};
|
|
123
|
+
children: React.ReactNode;
|
|
124
|
+
}>;
|
|
125
|
+
/**
|
|
126
|
+
* 언어별 Provider (언어만 지정)
|
|
127
|
+
*/
|
|
128
|
+
export declare function createLanguageProvider(language: string): ({ children }: {
|
|
129
|
+
children: React.ReactNode;
|
|
130
|
+
}) => React.FunctionComponentElement<{
|
|
131
|
+
config: I18nConfig & {
|
|
132
|
+
autoLanguageSync?: boolean;
|
|
133
|
+
};
|
|
134
|
+
children: React.ReactNode;
|
|
135
|
+
}>;
|
|
136
|
+
/**
|
|
137
|
+
* 네임스페이스별 Provider (네임스페이스만 지정)
|
|
138
|
+
*/
|
|
139
|
+
export declare function createNamespaceProvider(namespaces: string[]): ({ children }: {
|
|
140
|
+
children: React.ReactNode;
|
|
141
|
+
}) => React.FunctionComponentElement<{
|
|
142
|
+
config: I18nConfig & {
|
|
143
|
+
autoLanguageSync?: boolean;
|
|
144
|
+
};
|
|
145
|
+
children: React.ReactNode;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* 커스텀 로더 Provider (사용자 정의 번역 로더 사용)
|
|
149
|
+
*/
|
|
150
|
+
export declare function createCustomLoaderProvider(loadTranslations: (language: string, namespace: string) => Promise<Record<string, string>>): ({ children }: {
|
|
151
|
+
children: React.ReactNode;
|
|
152
|
+
}) => React.FunctionComponentElement<{
|
|
153
|
+
config: I18nConfig & {
|
|
154
|
+
autoLanguageSync?: boolean;
|
|
155
|
+
};
|
|
156
|
+
children: React.ReactNode;
|
|
157
|
+
}>;
|
|
158
|
+
export { useTranslation, useLanguageChange, useI18n };
|
|
159
|
+
export { I18nProvider };
|
|
160
|
+
export { Translator, ssrTranslate, serverTranslate };
|
|
161
|
+
export type { I18nConfig };
|
|
162
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hua-labs/i18n-core - 핵심 기능 전용 엔트리포인트
|
|
3
|
+
*
|
|
4
|
+
* 이 모듈은 기본적인 번역 기능만 필요한 경우 사용합니다.
|
|
5
|
+
* 플러그인, 고급 기능, 디버깅 도구 없이 순수한 번역 기능만 제공합니다.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { I18nProvider, useI18n } from './hooks/useI18n';
|
|
9
|
+
import { useTranslation, useLanguageChange } from './hooks/useTranslation';
|
|
10
|
+
import { Translator, ssrTranslate, serverTranslate } from './core/translator';
|
|
11
|
+
// 기본 언어 설정
|
|
12
|
+
const defaultLanguages = [
|
|
13
|
+
{ code: 'ko', name: 'Korean', nativeName: '한국어' },
|
|
14
|
+
{ code: 'en', name: 'English', nativeName: 'English' },
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* 핵심 기능용 설정 함수
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* // app/layout.tsx (Next.js App Router)
|
|
22
|
+
* import { createCoreI18n } from '@hua-labs/i18n-core';
|
|
23
|
+
*
|
|
24
|
+
* export default function RootLayout({ children }) {
|
|
25
|
+
* return (
|
|
26
|
+
* <html>
|
|
27
|
+
* <body>
|
|
28
|
+
* {createCoreI18n({
|
|
29
|
+
* defaultLanguage: 'ko',
|
|
30
|
+
* fallbackLanguage: 'en',
|
|
31
|
+
* namespaces: ['common', 'auth']
|
|
32
|
+
* })({ children })}
|
|
33
|
+
* </body>
|
|
34
|
+
* </html>
|
|
35
|
+
* );
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function createCoreI18n(options) {
|
|
40
|
+
const { defaultLanguage = 'ko', fallbackLanguage = 'en', namespaces = ['common'], debug = false, loadTranslations, translationLoader = 'api', translationApiPath = '/api/translations', initialTranslations, autoLanguageSync = false // 기본값 false (Zustand 어댑터 등 외부에서 직접 처리)
|
|
41
|
+
} = options || {};
|
|
42
|
+
// API route 기반 로더 (기본값, 권장)
|
|
43
|
+
const apiRouteLoader = async (language, namespace) => {
|
|
44
|
+
try {
|
|
45
|
+
// 클라이언트 사이드에서만 동적 로드
|
|
46
|
+
if (typeof window !== 'undefined') {
|
|
47
|
+
const apiUrl = `${translationApiPath}/${language}/${namespace}`;
|
|
48
|
+
const response = await fetch(apiUrl);
|
|
49
|
+
if (response.ok) {
|
|
50
|
+
const data = await response.json();
|
|
51
|
+
if (debug) {
|
|
52
|
+
console.log(`✅ Loaded translation from API: ${language}/${namespace}`);
|
|
53
|
+
}
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
else if (response.status === 404) {
|
|
57
|
+
if (debug) {
|
|
58
|
+
console.warn(`⚠️ Translation not found in API: ${language}/${namespace}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// SSR 또는 API 실패 시 기본 번역 반환
|
|
63
|
+
return getDefaultTranslations(language, namespace);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (debug) {
|
|
67
|
+
console.warn(`Failed to load translation from API: ${language}/${namespace}`, error);
|
|
68
|
+
}
|
|
69
|
+
return getDefaultTranslations(language, namespace);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
// 정적 파일 로더 (하위 호환성)
|
|
73
|
+
const staticFileLoader = async (language, namespace) => {
|
|
74
|
+
try {
|
|
75
|
+
let data = null;
|
|
76
|
+
// 클라이언트 사이드에서만 동적 로드 시도
|
|
77
|
+
if (typeof window !== 'undefined') {
|
|
78
|
+
const possiblePaths = [
|
|
79
|
+
`/translations/${language}/${namespace}.json`,
|
|
80
|
+
`../translations/${language}/${namespace}.json`,
|
|
81
|
+
`./translations/${language}/${namespace}.json`,
|
|
82
|
+
`translations/${language}/${namespace}.json`,
|
|
83
|
+
`../../translations/${language}/${namespace}.json`,
|
|
84
|
+
];
|
|
85
|
+
for (const path of possiblePaths) {
|
|
86
|
+
try {
|
|
87
|
+
const response = await fetch(path);
|
|
88
|
+
if (response.ok) {
|
|
89
|
+
data = await response.json();
|
|
90
|
+
if (debug) {
|
|
91
|
+
console.log(`✅ Loaded translation from static path: ${path}`);
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (pathError) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (data) {
|
|
102
|
+
return data;
|
|
103
|
+
}
|
|
104
|
+
return getDefaultTranslations(language, namespace);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (debug) {
|
|
108
|
+
console.warn(`Failed to load translation file: ${language}/${namespace}.json`);
|
|
109
|
+
}
|
|
110
|
+
return getDefaultTranslations(language, namespace);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
// 기본 파일 로더 선택
|
|
114
|
+
const defaultFileLoader = translationLoader === 'api'
|
|
115
|
+
? apiRouteLoader
|
|
116
|
+
: translationLoader === 'static'
|
|
117
|
+
? staticFileLoader
|
|
118
|
+
: loadTranslations || apiRouteLoader;
|
|
119
|
+
const config = {
|
|
120
|
+
defaultLanguage,
|
|
121
|
+
fallbackLanguage,
|
|
122
|
+
supportedLanguages: defaultLanguages,
|
|
123
|
+
namespaces,
|
|
124
|
+
loadTranslations: translationLoader === 'custom' && loadTranslations
|
|
125
|
+
? loadTranslations
|
|
126
|
+
: defaultFileLoader,
|
|
127
|
+
initialTranslations, // SSR 번역 데이터 전달
|
|
128
|
+
debug,
|
|
129
|
+
missingKeyHandler: (key, language, namespace) => {
|
|
130
|
+
if (debug) {
|
|
131
|
+
console.warn(`Missing translation key: ${key}`);
|
|
132
|
+
// Debug SDK와 연동하여 누락 키 추적
|
|
133
|
+
if (typeof window !== 'undefined' && window.__I18N_DEBUG_MISSING_KEYS__) {
|
|
134
|
+
const missingKeys = window.__I18N_DEBUG_MISSING_KEYS__;
|
|
135
|
+
const keyPath = `${language || 'unknown'}:${namespace || 'unknown'}`;
|
|
136
|
+
missingKeys[keyPath] = missingKeys[keyPath] || [];
|
|
137
|
+
if (!missingKeys[keyPath].includes(key)) {
|
|
138
|
+
missingKeys[keyPath].push(key);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return `[MISSING: ${key}]`;
|
|
142
|
+
}
|
|
143
|
+
return key.split('.').pop() || key;
|
|
144
|
+
},
|
|
145
|
+
errorHandler: (error, language, namespace) => {
|
|
146
|
+
if (debug) {
|
|
147
|
+
console.error(`Translation error for ${language}:${namespace}:`, error);
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
// autoLanguageSync는 기본적으로 false (Zustand 어댑터 등 외부에서 직접 처리하는 경우)
|
|
151
|
+
// 필요시 options에서 명시적으로 true로 설정 가능
|
|
152
|
+
autoLanguageSync: options?.autoLanguageSync ?? false
|
|
153
|
+
};
|
|
154
|
+
// Provider 컴포넌트 반환
|
|
155
|
+
return function CoreI18nProvider({ children }) {
|
|
156
|
+
return React.createElement(I18nProvider, { config, children });
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
// 기본 번역 데이터는 공통 유틸리티에서 가져옴
|
|
160
|
+
import { getDefaultTranslations } from './utils/default-translations';
|
|
161
|
+
/**
|
|
162
|
+
* 가장 기본적인 Provider (최소한의 설정)
|
|
163
|
+
*/
|
|
164
|
+
export function CoreProvider({ children }) {
|
|
165
|
+
return createCoreI18n()({ children });
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* 언어별 Provider (언어만 지정)
|
|
169
|
+
*/
|
|
170
|
+
export function createLanguageProvider(language) {
|
|
171
|
+
return createCoreI18n({ defaultLanguage: language });
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* 네임스페이스별 Provider (네임스페이스만 지정)
|
|
175
|
+
*/
|
|
176
|
+
export function createNamespaceProvider(namespaces) {
|
|
177
|
+
return createCoreI18n({ namespaces });
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* 커스텀 로더 Provider (사용자 정의 번역 로더 사용)
|
|
181
|
+
*/
|
|
182
|
+
export function createCustomLoaderProvider(loadTranslations) {
|
|
183
|
+
return createCoreI18n({ loadTranslations });
|
|
184
|
+
}
|
|
185
|
+
// 핵심 훅들 export
|
|
186
|
+
export { useTranslation, useLanguageChange, useI18n };
|
|
187
|
+
// Provider export
|
|
188
|
+
export { I18nProvider };
|
|
189
|
+
// 핵심 클래스/함수들 export
|
|
190
|
+
export { Translator, ssrTranslate, serverTranslate };
|
|
191
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAgD9E,WAAW;AACX,MAAM,gBAAgB,GAAG;IACvB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;IACjD,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE;CACvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAAC,OA4B9B;IACC,MAAM,EACJ,eAAe,GAAG,IAAI,EACtB,gBAAgB,GAAG,IAAI,EACvB,UAAU,GAAG,CAAC,QAAQ,CAAC,EACvB,KAAK,GAAG,KAAK,EACb,gBAAgB,EAChB,iBAAiB,GAAG,KAAK,EACzB,kBAAkB,GAAG,mBAAmB,EACxC,mBAAmB,EACnB,gBAAgB,GAAG,KAAK,CAAC,uCAAuC;MACjE,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,4BAA4B;IAC5B,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAE,SAAiB,EAAE,EAAE;QACnE,IAAI,CAAC;YACH,qBAAqB;YACrB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,GAAG,kBAAkB,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;gBAErC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACnC,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,kCAAkC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;oBACzE,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnC,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,IAAI,CAAC,oCAAoC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,wCAAwC,QAAQ,IAAI,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;YACvF,CAAC;YACD,OAAO,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;IAEF,oBAAoB;IACpB,MAAM,gBAAgB,GAAG,KAAK,EAAE,QAAgB,EAAE,SAAiB,EAAE,EAAE;QACrE,IAAI,CAAC;YACH,IAAI,IAAI,GAAkC,IAAI,CAAC;YAE/C,wBAAwB;YACxB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAG;oBACpB,iBAAiB,QAAQ,IAAI,SAAS,OAAO;oBAC7C,mBAAmB,QAAQ,IAAI,SAAS,OAAO;oBAC/C,kBAAkB,QAAQ,IAAI,SAAS,OAAO;oBAC9C,gBAAgB,QAAQ,IAAI,SAAS,OAAO;oBAC5C,sBAAsB,QAAQ,IAAI,SAAS,OAAO;iBACnD,CAAC;gBAEF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;wBACnC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;4BAChB,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;4BAC7B,IAAI,KAAK,EAAE,CAAC;gCACV,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;4BAChE,CAAC;4BACD,MAAM;wBACR,CAAC;oBACH,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,oCAAoC,QAAQ,IAAI,SAAS,OAAO,CAAC,CAAC;YACjF,CAAC;YACD,OAAO,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;IAEF,cAAc;IACd,MAAM,iBAAiB,GAAG,iBAAiB,KAAK,KAAK;QACnD,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,iBAAiB,KAAK,QAAQ;YAChC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,gBAAgB,IAAI,cAAc,CAAC;IAEvC,MAAM,MAAM,GAAe;QACzB,eAAe;QACf,gBAAgB;QAChB,kBAAkB,EAAE,gBAAgB;QACpC,UAAU;QACV,gBAAgB,EAAE,iBAAiB,KAAK,QAAQ,IAAI,gBAAgB;YAClE,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,iBAAiB;QACrB,mBAAmB,EAAE,gBAAgB;QACrC,KAAK;QACL,iBAAiB,EAAE,CAAC,GAAW,EAAE,QAAiB,EAAE,SAAkB,EAAE,EAAE;YACxE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;gBAEhD,0BAA0B;gBAC1B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,2BAA2B,EAAE,CAAC;oBACxE,MAAM,WAAW,GAAG,MAAM,CAAC,2BAA2B,CAAC;oBACvD,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;oBACrE,WAAW,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAED,OAAO,aAAa,GAAG,GAAG,CAAC;YAC7B,CAAC;YACD,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;QACrC,CAAC;QACD,YAAY,EAAE,CAAC,KAAc,EAAE,QAAgB,EAAE,SAAiB,EAAE,EAAE;YACpE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,IAAI,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,gEAAgE;QAChE,kCAAkC;QAClC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,KAAK;KACrD,CAAC;IAEF,mBAAmB;IACnB,OAAO,SAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAiC;QAC1E,OAAO,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAiC;IACtE,OAAO,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,OAAO,cAAc,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAoB;IAC1D,OAAO,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,gBAA0F;IAE1F,OAAO,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;AAEtD,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,oBAAoB;AACpB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC"}
|