@ckbox/i18n 1.2.0-dev.0 → 1.2.0-dev.1
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/README.md +3 -3
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/context/I18nContext.d.ts +0 -25
- package/dist/context/I18nProvider.d.ts +0 -13
- package/dist/context/index.d.ts +0 -3
- package/dist/context/types.d.ts +0 -33
- package/dist/plural/Plural.d.ts +0 -19
- package/dist/plural/index.d.ts +0 -1
- package/dist/utils/getMsg.d.ts +0 -35
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/useTranslation.d.ts +0 -29
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ Using a build served from the CDN is the simplest and fastest way of embedding C
|
|
|
13
13
|
To start using CKBox on your website, embed the following `script` element in the HTML code of the page:
|
|
14
14
|
|
|
15
15
|
```html
|
|
16
|
-
<script src="https://cdn.ckbox.io/CKBox/1.2.0-dev.
|
|
16
|
+
<script src="https://cdn.ckbox.io/CKBox/1.2.0-dev.1/ckbox.js"></script>
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Quick implementation example:
|
|
@@ -22,7 +22,7 @@ Quick implementation example:
|
|
|
22
22
|
<html>
|
|
23
23
|
<head>
|
|
24
24
|
<meta charset="UTF-8" />
|
|
25
|
-
<script src="https://cdn.ckbox.io/CKBox/1.2.0-dev.
|
|
25
|
+
<script src="https://cdn.ckbox.io/CKBox/1.2.0-dev.1/ckbox.js"></script>
|
|
26
26
|
</head>
|
|
27
27
|
<body>
|
|
28
28
|
<div id="ckbox"></div>
|
|
@@ -47,7 +47,7 @@ The code snippet below presents the simplest scenario for integration of CKEdito
|
|
|
47
47
|
<head>
|
|
48
48
|
<meta charset="UTF-8" />
|
|
49
49
|
<script src="https://cdn.ckeditor.com/ckeditor5/34.2.0/classic/ckeditor.js"></script>
|
|
50
|
-
<script src="https://cdn.ckbox.io/CKBox/1.2.0-dev.
|
|
50
|
+
<script src="https://cdn.ckbox.io/CKBox/1.2.0-dev.1/ckbox.js"></script>
|
|
51
51
|
</head>
|
|
52
52
|
<body>
|
|
53
53
|
<div id="editor"></div>
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
const
|
|
4
|
+
const _0x206a8b=_0x304e;(function(_0x40a276,_0x586e3b){const _0x189818=_0x304e,_0x5ebc69=_0x40a276();while(!![]){try{const _0x28510b=parseInt(_0x189818(0xf2))/0x1*(parseInt(_0x189818(0xea))/0x2)+-parseInt(_0x189818(0x103))/0x3+-parseInt(_0x189818(0x109))/0x4+parseInt(_0x189818(0xf8))/0x5*(-parseInt(_0x189818(0xe7))/0x6)+-parseInt(_0x189818(0xf3))/0x7*(parseInt(_0x189818(0x101))/0x8)+parseInt(_0x189818(0xdf))/0x9*(parseInt(_0x189818(0x104))/0xa)+-parseInt(_0x189818(0xfd))/0xb*(-parseInt(_0x189818(0xf4))/0xc);if(_0x28510b===_0x586e3b)break;else _0x5ebc69['push'](_0x5ebc69['shift']());}catch(_0x313e3d){_0x5ebc69['push'](_0x5ebc69['shift']());}}}(_0x3208,0x5dca4));import*as _0x288638 from'react';import{sprintf}from'sprintf-js';class Plural{constructor(_0x10de61){const _0xca7824=_0x304e;this[_0xca7824(0xf6)]=_0x10de61;try{this[_0xca7824(0x102)]=new Intl[(_0xca7824(0xff))](_0x10de61);}catch(_0x487364){console[_0xca7824(0xf9)]('Plural\x20rules\x20could\x20not\x20be\x20created.\x20Perhaps\x20`Intl.PluralRules`\x20is\x20not\x20supported?');}}['getKey'](_0x5e2125,_0x3dc39a){const _0x2a4a65=_0x304e;if(!this[_0x2a4a65(0x102)])return _0x5e2125+_0x2a4a65(0xed);const _0x2272ed=this[_0x2a4a65(0x102)][_0x2a4a65(0xf7)](_0x3dc39a);return _0x5e2125+'_'+_0x2272ed;}}function _0x3208(){const _0x432ac6=['createContext','1Atncsi','50239koCFtD','132QmHawB','supportedLocalesOf','lang','select','10OkXRuY','warn','isSupported','strong','Provider','1993739lTGeOm','tag','PluralRules','log','472kNEDNT','_rules','1921416SmsUXr','20YMvUkd','plural','pluralUtils','push','text','2884700SQxgey','charAt','slice','exec','code','\x27\x20is\x20missing.','2093922TrzPLv','keys',']:\x20Translation\x20for\x20key\x20\x27','Fragment','useContext','createElement','indexOf','processTags','1888968qebinc','includes','\x22\x20is\x20not\x20supported.','679710GuupFD','Plural\x20form\x20for\x20language\x20\x22','filter','_one','map','useEffect','length'];_0x3208=function(){return _0x432ac6;};return _0x3208();}Plural['isSupported']=_0x1fe0f8=>{const _0x5af2ce=_0x304e;try{return Intl[_0x5af2ce(0xff)][_0x5af2ce(0xf5)]([_0x1fe0f8])['length']>0x0;}catch(_0x38278e){return![];}};const I18nContext=_0x288638[_0x206a8b(0xf1)]({'debug':![],'lang':'en','resources':{},'pluralUtils':new Plural('en')}),I18nProvider=({children:_0x60641,debug:debug=![],lang:lang='en',resources:resources={}})=>{const _0x52aa9e=_0x206a8b;return _0x288638[_0x52aa9e(0xef)](()=>{const _0x58a17b=_0x52aa9e,_0xdcb83c=Plural[_0x58a17b(0xfa)](lang);!_0xdcb83c&&console[_0x58a17b(0xf9)](_0x58a17b(0xeb)+lang+_0x58a17b(0xe9));},[lang]),_0x288638[_0x52aa9e(0xe4)](I18nContext[_0x52aa9e(0xfc)],{'value':{'debug':debug,'lang':lang,'pluralUtils':new Plural(lang),'resources':resources}},_0x60641);},TAG_REGEX=/<[a-zA-Z0-9\-!/](?:"[^"]*"|'[^']*'|[^'">])*>/g,ALLOWED_TAGS=['em',_0x206a8b(0xfb),_0x206a8b(0x10d)],getMsg=(_0xe9df8d,_0x1324c6={},_0x2235e8)=>{const _0x53dcff=_0x206a8b,_0x276234=_0x2235e8[_0x53dcff(0x105)];if(_0x1324c6[_0xe9df8d]&&_0x276234===undefined)return{'found':!![],'msg':_0x1324c6[_0xe9df8d]};const _0x4d94bb=Object[_0x53dcff(0xe0)](_0x1324c6)[_0x53dcff(0xec)](_0x3c9ff2=>_0x3c9ff2[_0x53dcff(0xe5)](_0xe9df8d)===0x0);if(_0x4d94bb[_0x53dcff(0xf0)]===0x0||_0x276234===undefined)return{'found':![],'msg':_0xe9df8d};const _0x208416=_0x2235e8[_0x53dcff(0x106)]['getKey'](_0xe9df8d,_0x276234);return{'found':!![],'msg':_0x1324c6[_0x208416]};},parseMsgTags=_0x8d535a=>{const _0x6d2145=_0x206a8b,_0x421ced=[];let _0x53e88d=0x0,_0x3966d8;while((_0x3966d8=TAG_REGEX[_0x6d2145(0x10c)](_0x8d535a))!==null){const _0xa4624f=_0x3966d8[0x0],{index:_0x38ce68}=_0x3966d8,_0x11a19e=_0xa4624f[_0x6d2145(0x10a)](0x1)==='/',_0x36e0fc=_0x11a19e?_0xa4624f[_0x6d2145(0x10b)](0x2,-0x1):_0xa4624f[_0x6d2145(0x10b)](0x1,-0x1),_0x265e89=ALLOWED_TAGS[_0x6d2145(0xe8)](_0x36e0fc);if(!_0x265e89)continue;const _0x56a4f4=_0x8d535a[_0x6d2145(0x10b)](_0x53e88d,_0x38ce68);if(!_0x56a4f4){_0x53e88d=_0x38ce68+_0xa4624f[_0x6d2145(0xf0)];continue;}_0x11a19e?_0x421ced[_0x6d2145(0x107)]({'type':_0x6d2145(0xfe),'name':_0xa4624f[_0x6d2145(0x10b)](0x2,-0x1),'content':_0x56a4f4}):_0x421ced[_0x6d2145(0x107)]({'type':'text','content':_0x56a4f4}),_0x53e88d=_0x38ce68+_0xa4624f[_0x6d2145(0xf0)];}return _0x53e88d<_0x8d535a[_0x6d2145(0xf0)]&&_0x421ced[_0x6d2145(0x107)]({'type':_0x6d2145(0x108),'content':_0x8d535a[_0x6d2145(0x10b)](_0x53e88d)}),_0x421ced;};function formatMsgWithTags(_0x2efae8){const _0x1ae4bf=_0x206a8b,_0x9b5803=parseMsgTags(_0x2efae8),_0x50016a=_0x9b5803[_0x1ae4bf(0xee)](({content:_0x3c0bee,type:_0x515a97,name:_0x3918a4},_0x227b3c)=>{const _0x1f6735=_0x1ae4bf,_0x9d53f8=_0x515a97!=='text'&&_0x3918a4?_0x3918a4:_0x288638[_0x1f6735(0xe2)];return _0x288638[_0x1f6735(0xe4)](_0x9d53f8,{'key':''+_0x227b3c},_0x3c0bee);});return _0x50016a;}function formatMsg(_0x2298d4,_0x18f203,_0x4eb822){const _0xd23809=sprintf(_0x2298d4,..._0x18f203!==null&&_0x18f203!==void 0x0?_0x18f203:[]);if(!_0x4eb822)return _0xd23809;return formatMsgWithTags(_0xd23809);}function _0x304e(_0x17661d,_0x2ff599){const _0x32085d=_0x3208();return _0x304e=function(_0x304ee5,_0x5a6360){_0x304ee5=_0x304ee5-0xde;let _0xaca5cd=_0x32085d[_0x304ee5];return _0xaca5cd;},_0x304e(_0x17661d,_0x2ff599);}const useTranslation=()=>{const _0x2862fa=_0x206a8b,{lang:_0xcbb25e,debug:_0x1964f0,pluralUtils:_0x592d31,resources:_0x4f37ba}=_0x288638[_0x2862fa(0xe3)](I18nContext);function _0xedde20(_0x1aaa89,_0x2494d8){const _0x7cbcd8=_0x2862fa,{found:_0xc6dcf3,msg:_0x500bfa}=getMsg(_0x1aaa89,_0x4f37ba[_0xcbb25e],{'plural':_0x2494d8===null||_0x2494d8===void 0x0?void 0x0:_0x2494d8[_0x7cbcd8(0x105)],'pluralUtils':_0x592d31});_0x1964f0&&!_0xc6dcf3&&console[_0x7cbcd8(0x100)]('['+_0xcbb25e+_0x7cbcd8(0xe1)+_0x1aaa89+_0x7cbcd8(0xde));if(_0x2494d8===null||_0x2494d8===void 0x0?void 0x0:_0x2494d8[_0x7cbcd8(0xe6)])return formatMsg(_0x500bfa,_0x2494d8===null||_0x2494d8===void 0x0?void 0x0:_0x2494d8['values'],!![]);return formatMsg(_0x500bfa,_0x2494d8===null||_0x2494d8===void 0x0?void 0x0:_0x2494d8['values'],![]);}return{'t':_0xedde20,'lang':_0xcbb25e};};export{I18nContext,I18nProvider,useTranslation};
|
package/package.json
CHANGED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Plural } from '../plural';
|
|
3
|
-
import { I18nResources } from './types';
|
|
4
|
-
export interface I18nContext {
|
|
5
|
-
/**
|
|
6
|
-
* Debug mode.
|
|
7
|
-
*/
|
|
8
|
-
debug: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Currently selected language.
|
|
11
|
-
*/
|
|
12
|
-
lang: string;
|
|
13
|
-
/**
|
|
14
|
-
* Stored translations.
|
|
15
|
-
*/
|
|
16
|
-
resources: I18nResources;
|
|
17
|
-
/**
|
|
18
|
-
* Plural utils.
|
|
19
|
-
*/
|
|
20
|
-
pluralUtils: Plural;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Defines React context for i18n and sets defaults.
|
|
24
|
-
*/
|
|
25
|
-
export declare const I18nContext: React.Context<I18nContext>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { I18nProps } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* `I18nProvider` component sets i18n context for all child components.
|
|
5
|
-
*/
|
|
6
|
-
declare const I18nProvider: React.FC<Props>;
|
|
7
|
-
interface Props extends I18nProps {
|
|
8
|
-
/**
|
|
9
|
-
* Pass-through children.
|
|
10
|
-
*/
|
|
11
|
-
children: React.ReactNode;
|
|
12
|
-
}
|
|
13
|
-
export default I18nProvider;
|
package/dist/context/index.d.ts
DELETED
package/dist/context/types.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Defines shape of all translation resources, e.g.:
|
|
3
|
-
* {
|
|
4
|
-
* en: {
|
|
5
|
-
* key: "translation"
|
|
6
|
-
* },
|
|
7
|
-
* pl: {
|
|
8
|
-
* key: "tłumaczenie"
|
|
9
|
-
* }
|
|
10
|
-
* }
|
|
11
|
-
*/
|
|
12
|
-
export declare type I18nResources = Record<string, I18nTranslations>;
|
|
13
|
-
/**
|
|
14
|
-
* Defines shape of translations for a language, e.g.:
|
|
15
|
-
* {
|
|
16
|
-
* key: "translation"
|
|
17
|
-
* }
|
|
18
|
-
*/
|
|
19
|
-
export declare type I18nTranslations = Record<string, string>;
|
|
20
|
-
export interface I18nProps {
|
|
21
|
-
/**
|
|
22
|
-
* Toggles debug mode.
|
|
23
|
-
*/
|
|
24
|
-
debug?: boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Language code.
|
|
27
|
-
*/
|
|
28
|
-
lang?: string;
|
|
29
|
-
/**
|
|
30
|
-
* Translation resources that will be set synchronously. Resources for other languages can be still loaded on demand.
|
|
31
|
-
*/
|
|
32
|
-
resources?: I18nResources;
|
|
33
|
-
}
|
package/dist/plural/Plural.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export declare class Plural {
|
|
2
|
-
lang: string;
|
|
3
|
-
private _rules?;
|
|
4
|
-
constructor(lang: string);
|
|
5
|
-
/**
|
|
6
|
-
* Checks if plural form is supported for selected language.
|
|
7
|
-
*
|
|
8
|
-
* @returns flag indicating if plural is supported
|
|
9
|
-
*/
|
|
10
|
-
static isSupported: (lang: string) => boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Gets plural form of the translation key.
|
|
13
|
-
*
|
|
14
|
-
* @param key main part of the translation key
|
|
15
|
-
* @param plural desired plural form
|
|
16
|
-
* @returns plural form of the translation key
|
|
17
|
-
*/
|
|
18
|
-
getKey(key: string, plural: number): string;
|
|
19
|
-
}
|
package/dist/plural/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Plural';
|
package/dist/utils/getMsg.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { I18nTranslations } from '../context';
|
|
3
|
-
import { Plural } from '../plural';
|
|
4
|
-
export interface MsgOpts {
|
|
5
|
-
/**
|
|
6
|
-
* Indicates which plural to use.
|
|
7
|
-
*/
|
|
8
|
-
plural?: number;
|
|
9
|
-
/**
|
|
10
|
-
* Plural utils.
|
|
11
|
-
*/
|
|
12
|
-
pluralUtils: Plural;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Returns translated message based on provided info.
|
|
16
|
-
*
|
|
17
|
-
* @param lang selected language
|
|
18
|
-
* @param key translation key
|
|
19
|
-
* @param translations language translations
|
|
20
|
-
* @param opts translation options
|
|
21
|
-
* @returns translation message
|
|
22
|
-
*/
|
|
23
|
-
export declare const getMsg: (key: string, translations: I18nTranslations | undefined, opts: MsgOpts) => {
|
|
24
|
-
found: boolean;
|
|
25
|
-
msg: string;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Returns formatted string as per `sprintf`.
|
|
29
|
-
*
|
|
30
|
-
* @param msg message to format
|
|
31
|
-
* @param values values to interpolate message with
|
|
32
|
-
* @returns formatted message
|
|
33
|
-
*/
|
|
34
|
-
export declare function formatMsg(msg: string, values?: (string | number)[], processTags?: false): string;
|
|
35
|
-
export declare function formatMsg(msg: string, values?: (string | number)[], processTags?: true): React.ReactNode[];
|
package/dist/utils/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './useTranslation';
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
interface TOpts<T extends boolean> {
|
|
3
|
-
/**
|
|
4
|
-
* Values to interpolate message with.
|
|
5
|
-
*/
|
|
6
|
-
values?: (string | number)[];
|
|
7
|
-
/**
|
|
8
|
-
* Indicates which plural to use.
|
|
9
|
-
*/
|
|
10
|
-
plural?: number;
|
|
11
|
-
/**
|
|
12
|
-
* Include html tags in message.
|
|
13
|
-
*/
|
|
14
|
-
processTags?: T;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Exposes basic translation utilities which can be used in components.
|
|
18
|
-
* Most notably, it exposes `t` function which outputs translated message for currently selected language.
|
|
19
|
-
*
|
|
20
|
-
* @returns translation utils
|
|
21
|
-
*/
|
|
22
|
-
export declare const useTranslation: () => {
|
|
23
|
-
t: {
|
|
24
|
-
(key: string, opts?: TOpts<false>): string;
|
|
25
|
-
(key: string, opts?: TOpts<true>): React.ReactNode[];
|
|
26
|
-
};
|
|
27
|
-
lang: string;
|
|
28
|
-
};
|
|
29
|
-
export {};
|