syntax = "proto2"; /** * languages/regions/scripts proto formats. */ package google.languages_public; // A region or territory as defined in the CLDR message RegionProto { optional string id = 1; // Region codes defined by CLDR optional string name = 2; optional int32 population = 3; repeated string region_group = 4; // Next = 5; } message ScriptProto { optional string id = 1; // Script codes defined by CLDR optional string name = 2; optional bool historical = 3; optional bool fictional = 4; optional string family = 5; optional string summary = 6; // Next = 6; } message LanguageProto { optional string id = 1; // Either ${lang} or ${lang}_${script} optional string language = 2; // BCP 47 optional string script = 3; optional string name = 4; optional string preferred_name = 5; optional string autonym = 6; // Name of language as written in that language optional int32 population = 7; repeated string region = 8; optional ExemplarCharsProto exemplar_chars = 9; optional SampleTextProto sample_text = 10; optional bool historical = 11; repeated string source = 12; optional string note = 13; // Next = 12; } // Space-separated lists of characters representative of a given language. message ExemplarCharsProto { optional string base = 1; optional string auxiliary = 2; optional string marks = 3; optional string numerals = 4; optional string punctuation = 5; optional string index = 6; optional string not_required = 7; // Base characters which can be ignored when determining language support // Next = 8; } message SampleTextProto { optional string masthead_full = 1; optional string masthead_partial = 2; optional string styles = 3; optional string tester = 4; optional string poster_sm = 5; optional string poster_md = 6; optional string poster_lg = 7; optional string specimen_48 = 8; optional string specimen_36 = 9; optional string specimen_32 = 10; optional string specimen_21 = 11; optional string specimen_16 = 12; optional string note = 13; }