Exemplo n.º 1
0
        private void WriteCatalog(TextWriter writer, POCatalog catalog, CultureInfo?culture)
        {
            var now = DateTimeOffset.Now;

            try { catalog.Encoding = Encoding.GetEncoding(writer.Encoding.CodePage).BodyName; }
            catch (NotSupportedException) { catalog.Encoding = "(n/a)"; }

            if (culture != null)
            {
                catalog.Language = culture.Name.Replace('-', '_');

                if (PluralFormHelper.TryGetPluralForm(culture, out var pluralFormCount, out var pluralFormSelector))
                {
                    (catalog.PluralFormCount, catalog.PluralFormSelector) = (pluralFormCount, pluralFormSelector);

                    for (int i = 0, n = catalog.Count; i < n; i++)
                    {
                        EnsureTranslationCount(catalog[i], pluralFormCount);
                    }
                }
Exemplo n.º 2
0
        private string GetName(TimeSpan period)
        {
            string name;

            if (period.TotalDays < 1)
            {
                name = string.Format(NAME_FORMAT, Period.Hours, PluralFormHelper.GetPluralForm(Period.Hours, AppResources.HoursFirstForm, AppResources.HoursSecondForm, AppResources.HoursThirdForm));
            }
            else if (period.Days < 30)
            {
                name = string.Format(NAME_FORMAT, Period.Days, PluralFormHelper.GetPluralForm(Period.Days, AppResources.DayFirstForm, AppResources.DaySecondForm, AppResources.DayThirdForm));
            }
            else
            {
                var months = (int)Math.Floor(Period.Days / 30f);
                name = string.Format(NAME_FORMAT, months, PluralFormHelper.GetPluralForm(months, AppResources.MonthFirstForm, AppResources.MonthSecondForm, AppResources.MonthThirdForm));
            }

            return(name);
        }