Iso639LanguageCodeAttribute Class

Definition

Namespace: DataStandardizer.Language

Describes an ISO 639 language code member with its metadata: related codes across the ISO 639 parts, print and inverted names, macrolanguage code, scope, and language type. English and French names are inherited from CodeAttributeBase.

[AttributeUsage(AttributeTargets.Field)]
public sealed class Iso639LanguageCodeAttribute : CodeAttributeBase

Remarks

This attribute is applied to each language code member of the ISO 639 code structs (Iso639Part1Language, Iso639Part2BLanguage, Iso639Part2TLanguage, Iso639Part3Language and Iso639Part5LanguageFamily). You normally read the metadata through the Iso639Extensions accessors rather than reading the attribute directly.

Constructors

Constructor Notes
Iso639LanguageCodeAttribute(string englishName)  
Iso639LanguageCodeAttribute(string englishName, string frenchName)  
Iso639LanguageCodeAttribute(string englishName, Iso639LanguageScope scope, Iso639LanguageType languageType)  
Iso639LanguageCodeAttribute(string[] englishNames)  
Iso639LanguageCodeAttribute(string[] englishNames, string[] frenchNames)  
Iso639LanguageCodeAttribute(string[] englishNames, Iso639LanguageScope scope, Iso639LanguageType languageType)  

Properties

Property Signature Notes
InvertedName string? InvertedName { get; set; } The inverted name for the language code.
LanguageType Iso639LanguageType? LanguageType { get; } The language type.
MacrolanguageCode string? MacrolanguageCode { get; set; } The related macrolanguage code.
Part1Code string? Part1Code { get; set; } The related ISO 639 Part 1 code.
Part2BCode string? Part2BCode { get; set; } The related ISO 639 Part 2B code.
Part2TCode string? Part2TCode { get; set; } The related ISO 639 Part 2T code.
PrintName string? PrintName { get; set; } The print name for the language code.
Scope Iso639LanguageScope? Scope { get; } The scope of the language code.

Inherited from CodeAttributeBase: EnglishName, EnglishNames, FrenchName, FrenchNames.

Applies to

Targets netstandard1.0, netstandard2.0, net8.0, and net10.0. On the netstandard1.0 and netstandard2.0 targets the reference-type properties are annotated with JetBrains [CanBeNull] rather than C# nullable reference types.

See also


This site uses Just the Docs, a documentation theme for Jekyll.