コード例 #1
0
ファイル: GettextCatalog.cs プロジェクト: while-true/gettext
 internal void AddTranslation(Translation translation)
 {
     if (translation == null) throw new ArgumentNullException("translation");
     Translations.Add(translation);
 }
コード例 #2
0
ファイル: Gettext.cs プロジェクト: while-true/gettext
        private string PluralTranslate(string msgid, string msgidPlural, long n, Translation pl)
        {
            if (pl == null) goto fallback;

            var idx = Catalog.GetPluralIndex(n);
            var t = pl.MessageTranslations.FirstOrDefault(x => x.Index == idx);
            if (t == null) goto fallback;

            var translatedString = t.Message.String;
            if (string.IsNullOrWhiteSpace(translatedString)) goto fallback;

            return translatedString;

            fallback:
            return n == 1 ? msgid : msgidPlural;
        }