Options
All
  • Public
  • Public/Protected
  • All
Menu

html 태그 내 미리 지정한 클래스 명을 통해 i18n 적용하는 확장 클래스

example

<body>
    <div class="locale-code"></div>
</body>
example

const loader = new SomeLoader()

const extension = new ReplacementExtension(loader)

extension.apply(LanguageType.KO)
result

<body>
    <div class="locale-code">텍스트가 삽입됩니다.</div>
</body>

확장 커스터마이징 하고 싶은 경우 아래와 같이 해주시면 됩니다.

<!--html or template-->
<div id="targetElement">
    <span i18n="category.code"></span>
</div>
// script...
const option = {
    defaultLanguage: LanguageType.KO,
    targetElement: document.body.querySelector('#targetElement')
    attributeName: 'i18n',
    formatter: code => code.replace('-', '.')
}

new ReplacementExtension(loader, option).apply()

Hierarchy

  • ReplacementExtension

Implements

Index

Constructors

constructor

Properties

attributeName

attributeName: string = "locale"

defaultLanguage

defaultLanguage: LanguageType = LanguageType.EN

loader

targetElement

targetElement: Element = document.body

Methods

apply

  • apply(lang?: LanguageType, version?: number): Promise<void>
  • 로케일 로더에서 언어팩을 조회하여 지정된 규칙의 요소에 반영

    Parameters

    • Default value lang: LanguageType = this.defaultLanguage

      언어 타입

    • Default value version: number = 1

      버전

    Returns Promise<void>

    비동기 결과 반환

formatter

  • formatter(c: string): string

Private getCode

  • getCode(element: Element): string | undefined

Generated using TypeDoc