本文整理汇总了C#中Catalog.AddTranslation方法的典型用法代码示例。如果您正苦于以下问题:C# Catalog.AddTranslation方法的具体用法?C# Catalog.AddTranslation怎么用?C# Catalog.AddTranslation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Catalog
的用法示例。
在下文中一共展示了Catalog.AddTranslation方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Parse
/// <summary>
/// Parse the po file and return a <see cref="Catalog"/>.
/// </summary>
public Catalog Parse()
{
Catalog dict = new Catalog();
string msgctxtCache = null;
string msgctxt = null;
string msgid = "";
Token currentToken;
while ((currentToken = tokenizer.GetNextToken()) != null) {
TokenWord command = ExpectWord(currentToken);
if (command.Word == "msgctxt") {
TokenString ctxtString = ExpectString(tokenizer.GetNextToken());
msgctxtCache = encoding.GetString(ctxtString.Data);
} else if (command.Word == "msgid") {
TokenString idString = ExpectString(tokenizer.GetNextToken());
msgid = encoding.GetString(idString.Data);
msgctxt = msgctxtCache;
msgctxtCache = null;
} else if (command.Word == "msgstr") {
Token indexOrString = ExpectIndexOrString(tokenizer.GetNextToken());
int index = 0;
if (indexOrString is TokenIndex) {
index = ((TokenIndex)indexOrString).I;
indexOrString = tokenizer.GetNextToken();
}
TokenString msgstrToken = ExpectString(indexOrString);
string msgstr = encoding.GetString(msgstrToken.Data);
//now add it to the catalog
if (msgid == "") { //header
dict.PluralForm = GetPluralForm(msgstr);
this.encoding = GetEncoding(msgstr);
} else {
dict.AddTranslation(msgctxt, msgid, msgstr, index);
}
} else if (command.Word == "msgid_plural") {
//msgid_plural is followed by a string which we check here.
ExpectString(tokenizer.GetNextToken());
//but in the end, we ignore msgid_plural completely
//FIXME: is this correct?
} else {
//unrecognized command
throw new ParserException(
string.Format("Unexpected Word \"{0}\" at {1}:{2}", command.Word, command.Line, command.Column));
}
}
return dict;
}