public override string CoreGetPluralGenderString (LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n) { return TranslateString (singularMasculineMessage); }
public override string CoreGetPluralGenderString(LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n) { return(TranslateString(singularMasculineMessage)); }
protected bool GetResource(out T resource, string message, LanguageGender gender = LanguageGender.Neutral, int pluralCount = 1) { var cached_string = new CachedString { Message = message, Gender = gender, PluralOrder = GetPluralOrder(CurrentIsoLanguageCode, pluralCount) }; if (string_cache.TryGetValue(cached_string, out resource)) { return(true); } var id = GetResourceId(message, gender, cached_string.PluralOrder); var field = reflection_type.GetField(id); if (field == null) { return(false); } resource = (T)field.GetValue(null); string_cache.Add(cached_string, resource); return(true); }
protected bool GetResource(out T resource, string context, string message = null, LanguageGender gender = LanguageGender.Neutral, int pluralCount = 1) { var cached_string = new CachedString { Message = message, Gender = gender, PluralOrder = PluralRules.GetOrder(CurrentIsoLanguageCode, pluralCount) }; if (string_cache.TryGetValue(cached_string, out resource)) { return(true); } var id = GetResourceId(ResourceIdType.ComprehensibleIdentifier, context, message, gender, cached_string.PluralOrder); var field = reflection_type.GetTypeInfo().GetDeclaredField(id); if (field == null) { if (gender != LanguageGender.Neutral) { return(GetResource(out resource, context, message, LanguageGender.Neutral, pluralCount)); } return(false); } resource = (T)field.GetValue(null); string_cache.Add(cached_string, resource); return(true); }
public override string CoreGetGenderString (LanguageGender gender, string masculineMessage, string feminineMessage) { var message = gender == LanguageGender.Feminine ? feminineMessage : masculineMessage; return CoreFilter (GetResource (null, message, gender: gender) ?? DefaultImplementation.CoreGetGenderString (gender, masculineMessage, feminineMessage)); }
public static string GetResourceId(string message, LanguageGender gender, int pluralOrder) { var builder = new StringBuilder("Vernacular_P"); builder.Append(pluralOrder); builder.Append('_'); if (gender != LanguageGender.Neutral) { builder.Append(gender == LanguageGender.Masculine ? "M_" : "F_"); } foreach (var c in message) { if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_') { builder.Append(c); } else if (c != ' ') { builder.Append((int)c); } } return(builder.ToString()); }
public override string CoreGetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage) { var message = gender == LanguageGender.Feminine ? feminineMessage : masculineMessage; return(CoreFilter(GetResource(null, message, gender: gender) ?? DefaultImplementation.CoreGetGenderString(gender, masculineMessage, feminineMessage))); }
public override string CoreGetPluralGenderString(LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n) { return(gender == LanguageGender.Feminine ? (n == 1 ? singularFeminineMessage : pluralFeminineMessage) : (n == 1 ? singularMasculineMessage : pluralMasculineMessage)); }
private void AssertTranslations (string orig, LanguageGender gender, Func<int, string> messageGetter) { ForEachCatalog (lang => { for (int i = 0; i < 10000; i++) { var order = PluralRules.GetOrder (Catalog.Implementation.CurrentIsoLanguageCode, i); Assert.AreEqual (lang + ",P" + order + "|" + orig + GenderTag (gender), messageGetter (i)); } }); }
public override string CoreGetPluralGenderString (LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n) { return gender == LanguageGender.Feminine ? (n == 1 ? singularFeminineMessage : pluralFeminineMessage) : (n == 1 ? singularMasculineMessage : pluralMasculineMessage); }
public static string GetPluralGenderString(LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n, string comment = null) { return(Implementation.CoreGetPluralGenderString(gender, singularMasculineMessage, pluralMasculineMessage, singularFeminineMessage, pluralFeminineMessage, n)); }
private void AssertTranslations(string orig, LanguageGender gender, Func <int, string> messageGetter) { ForEachCatalog(lang => { for (int i = 0; i < 10000; i++) { var order = PluralRules.GetOrder(Catalog.Implementation.CurrentIsoLanguageCode, i); Assert.AreEqual(lang + ",P" + order + "|" + orig + GenderTag(gender), messageGetter(i)); } }); }
private string GenderTag (LanguageGender gender) { switch (gender) { case LanguageGender.Masculine: return ":M"; case LanguageGender.Feminine: return ":F"; default: return String.Empty; } }
public override string CoreGetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage) { int resource_id; if (GetResource(out resource_id, masculineMessage, gender: gender)) { return(GetString(resource_id)); } return(CoreFilter(DefaultImplementation.CoreGetGenderString(gender, masculineMessage, feminineMessage))); }
public override string CoreGetPluralGenderString(LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n) { return(CoreFilter(GetResource(singularMasculineMessage, gender: gender, pluralCount: n) ?? DefaultImplementation.CoreGetPluralGenderString(gender, singularMasculineMessage, pluralMasculineMessage, singularFeminineMessage, pluralFeminineMessage, n))); }
public override string CoreGetPluralGenderString (LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n) { var message = gender == LanguageGender.Feminine ? singularFeminineMessage : singularMasculineMessage; return CoreFilter (GetResource (null, message, gender: gender, pluralCount: n) ?? DefaultImplementation.CoreGetPluralGenderString (gender, singularMasculineMessage, pluralMasculineMessage, singularFeminineMessage, pluralFeminineMessage, n)); }
public static string GetResourceId(ResourceIdType resourceIdType, string context, string message, LanguageGender gender, int pluralOrder) { if (message == null) { throw new ArgumentNullException("message"); } var builder = new StringBuilder("Vernacular_P"); if (!String.IsNullOrEmpty(context)) { message = context + "__" + message; } builder.Append(pluralOrder); builder.Append('_'); if (gender != LanguageGender.Neutral) { builder.Append(gender == LanguageGender.Masculine ? "M_" : "F_"); } switch (resourceIdType) { case ResourceIdType.ComprehensibleIdentifier: break; case ResourceIdType.Base64: message = Convert.ToBase64String(Encoding.UTF8.GetBytes(message)); break; default: throw new Exception("Unknown ResourceIdType"); } foreach (var c in message) { if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_') { builder.Append(c); } else if (c != ' ') { builder.Append((int)c); } } return(builder.ToString()); }
private string GenderTag(LanguageGender gender) { switch (gender) { case LanguageGender.Masculine: return(":M"); case LanguageGender.Feminine: return(":F"); default: return(String.Empty); } }
protected virtual string GetResource (string context, string message, LanguageGender gender = LanguageGender.Neutral, int pluralCount = 1) { if (GetResourceById == null) { return null; } var plural_order = PluralRules.GetOrder (CurrentIsoLanguageCode, pluralCount); var resource_id = GetResourceId (ResourceIdType, context, message, gender, plural_order); if (resource_id == null) { return null; } return GetResourceById (resource_id); }
protected virtual string GetResource(string context, string message, LanguageGender gender = LanguageGender.Neutral, int pluralCount = 1) { if (GetResourceById == null) { return(null); } var plural_order = PluralRules.GetOrder(CurrentIsoLanguageCode, pluralCount); var resource_id = GetResourceId(ResourceIdType, context, message, gender, plural_order); if (resource_id == null) { return(null); } return(GetResourceById(resource_id)); }
public override string CoreGetPluralGenderString(LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n) { int resource_id; var message = gender == LanguageGender.Feminine ? singularFeminineMessage : singularMasculineMessage; if (GetResource(out resource_id, null, message, gender: gender, pluralCount: n)) { return(GetString(resource_id)); } return(CoreFilter(DefaultImplementation.CoreGetPluralGenderString(gender, singularMasculineMessage, pluralMasculineMessage, singularFeminineMessage, singularMasculineMessage, n))); }
private LocalizedString CreateLocalizedString(LanguageGender gender, SequencePoint sequencePoint) { var localized_string = new LocalizedString { Gender = gender }; if (sequencePoint != null) { localized_string.AddReference(RelativeDocumentUrl(sequencePoint.Document.Url), sequencePoint.StartLine); } if (StringAnalyzer.CheckFormatArguments(localized_string.UntranslatedSingularValue) || StringAnalyzer.CheckFormatArguments(localized_string.UntranslatedPluralValue)) { localized_string.StringFormatHint = "csharp-format"; } return(localized_string); }
private void AssertTranslations(string orig, LanguageGender gender, Func <string> messageGetter) { ForEachCatalog(lang => Assert.AreEqual(lang + "|" + orig + GenderTag(gender), messageGetter())); }
protected override string GetResource(string context, string message, LanguageGender gender = LanguageGender.Neutral, int pluralCount = 1) { return message == null ? null : base.GetResource (context, message, gender, pluralCount); }
public static string GetPluralGenderString(LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n, string comment = null) { return Implementation.CoreGetPluralGenderString (gender, singularMasculineMessage, pluralMasculineMessage, singularFeminineMessage, pluralFeminineMessage, n); }
public static string GenderPlural (LanguageGender gender, int n) { return Catalog.GetPluralGenderString (gender, "GenderPlural:P0", "GenderPlural:P1", n, comment: "comment=GenderPlural"); }
public static string GetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage, string comment) { return Implementation.CoreGetGenderString (gender, masculineMessage, feminineMessage); }
public static string GetGenderString(LanguageGender gender, string message, string comment) { return Implementation.CoreGetGenderString (gender, message, message); }
public static string GetPluralGenderString(LanguageGender gender, string singularMessage, string pluralMessage, int n, string comment) { return(Implementation.CoreGetPluralGenderString(gender, singularMessage, pluralMessage, singularMessage, pluralMessage, n)); }
public static string GenderSingular (LanguageGender gender) { return Catalog.GetGenderString (gender, "GenderSingular", comment: "comment=GenderSingular"); }
private void AssertTranslations(string orig, LanguageGender gender, Func<string> messageGetter) { ForEachCatalog (lang => Assert.AreEqual (lang + "|" + orig + GenderTag (gender), messageGetter ())); }
public static string GetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage, string comment = null) { return(Implementation.CoreGetGenderString(gender, masculineMessage, feminineMessage)); }
public abstract string CoreGetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage);
public override string CoreGetGenderString (LanguageGender gender, string masculineMessage, string feminineMessage) { return TranslateString (masculineMessage); }
public override string CoreGetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage) { return(TranslateString(masculineMessage)); }
public override string CoreGetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage) { return(gender == LanguageGender.Feminine ? feminineMessage : masculineMessage); }
public static string GenderPlural(LanguageGender gender, int n) { return(Catalog.GetPluralGenderString(gender, "GenderPlural:P0", "GenderPlural:P1", n, comment: "comment=GenderPlural")); }
public static string GetPluralGenderString(LanguageGender gender, string singularMessage, string pluralMessage, int n, string comment) { return Implementation.CoreGetPluralGenderString (gender, singularMessage, pluralMessage, singularMessage, pluralMessage, n); }
public static string GetResourceId (ResourceIdType resourceIdType, string context, string message, LanguageGender gender, int pluralOrder) { if (message == null) { throw new ArgumentNullException ("message"); } var builder = new StringBuilder ("Vernacular_P"); if (!String.IsNullOrEmpty (context)) { message = context + "__" + message; } builder.Append (pluralOrder); builder.Append ('_'); if (gender != LanguageGender.Neutral) { builder.Append (gender == LanguageGender.Masculine ? "M_" : "F_"); } switch (resourceIdType) { case ResourceIdType.ComprehensibleIdentifier: break; case ResourceIdType.Base64: message = Convert.ToBase64String (Encoding.UTF8.GetBytes (message)); break; default: throw new Exception ("Unknown ResourceIdType"); } foreach (var c in message) { if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_') { builder.Append (c); } else if (c != ' ') { builder.Append ((int)c); } } return builder.ToString (); }
private LocalizedString CreateLocalizedString (LanguageGender gender, SequencePoint sequencePoint) { var localized_string = new LocalizedString { Gender = gender }; if (sequencePoint != null) { localized_string.AddReference (RelativeDocumentUrl (sequencePoint.Document.Url), sequencePoint.StartLine); } if (StringAnalyzer.CheckFormatArguments (localized_string.UntranslatedSingularValue) || StringAnalyzer.CheckFormatArguments (localized_string.UntranslatedPluralValue)) { localized_string.StringFormatHint = "csharp-format"; } return localized_string; }
public override string CoreGetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage) { return(CoreFilter(GetResource(masculineMessage, gender: gender) ?? DefaultImplementation.CoreGetGenderString(gender, masculineMessage, feminineMessage))); }
public abstract string CoreGetPluralGenderString(LanguageGender gender, string singularMasculineMessage, string pluralMasculineMessage, string singularFeminineMessage, string pluralFeminineMessage, int n);
public static string GetGenderString(LanguageGender gender, string message, string comment = null) { return(Implementation.CoreGetGenderString(gender, message, message)); }
public override string CoreGetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage) { return gender == LanguageGender.Feminine ? feminineMessage : masculineMessage; }
public override string CoreGetGenderString(LanguageGender gender, string masculineMessage, string feminineMessage) { return CoreFilter (GetResource (masculineMessage, gender: gender) ?? DefaultImplementation.CoreGetGenderString (gender, masculineMessage, feminineMessage)); }
public static string GetResourceId(string message, LanguageGender gender, int pluralOrder) { var builder = new StringBuilder ("Vernacular_P"); builder.Append (pluralOrder); builder.Append ('_'); if (gender != LanguageGender.Neutral) { builder.Append (gender == LanguageGender.Masculine ? "M_" : "F_"); } foreach (var c in message) { if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_') { builder.Append (c); } else if (c != ' ') { builder.Append ((int)c); } } return builder.ToString (); }
public static string GenderSingular(LanguageGender gender) { return(Catalog.GetGenderString(gender, "GenderSingular", comment: "comment=GenderSingular")); }