ngx-i18nsupport-lib
Version:
A Typescript library to work with Angular generated i18n files (xliff, xmb)
55 lines (54 loc) • 2.04 kB
TypeScript
import { ParsedMessagePart } from './parsed-message-part';
import { IICUMessage } from '../api/i-icu-message';
import { IMessageParser } from './i-message-parser';
/**
* Created by martin on 02.06.2017.
* A message part consisting of an icu message.
* There can only be one icu message in a parsed message.
* Syntax of ICU message is '{' <keyname> ',' 'select'|'plural' ',' (<category> '{' text '}')+ '}'
*/
export declare class ParsedMessagePartICUMessage extends ParsedMessagePart {
private _parser;
private _message;
private _messageText;
private _tokenizer;
constructor(icuMessageText: string, _parser: IMessageParser);
/**
* Test wether text might be an ICU message.
* Should at least start with something like '{<name>, select, ..' or '{<name>, plural, ...'
* @param {string} icuMessageText
* @return {boolean}
*/
static looksLikeICUMessage(icuMessageText: string): boolean;
asDisplayString(format?: string): string;
/**
* return the parsed message.
* @return {ICUMessage}
*/
getICUMessage(): IICUMessage;
/**
* Parse the message.
* @param text message text to parse
* @throws an error if the syntax is not ok in any way.
*/
private parseICUMessage(text);
/**
* Parse the message to check, wether it might be an ICU message.
* Should at least start with something like '{<name>, select, ..' or '{<name>, plural, ...'
* @param text message text to parse
*/
private looksLikeICUMessage(text);
/**
* Read next token and expect, that it is of the given type.
* @param tokentype expected type.
* @return {ICUToken} Token
* @throws error, if next token has wrong type.
*/
private expectNext(tokentype);
/**
* Parse XML text to normalozed message.
* @param message message in format dependent xml syntax.
* @return {INormalizedMessage}
*/
private parseNativeSubMessage(message);
}