mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
'v3.7.3.1'
This commit is contained in:
@@ -22,10 +22,11 @@ public class Xow_abrv_wm_ {
|
||||
public static Xow_abrv_wm Parse_to_abrv_or_null(byte[] src) { // EX: parse "enwiki" to abrv_itm
|
||||
if (src == null) return null;
|
||||
int src_len = src.length; if (src_len == 0) return null; // empty bry
|
||||
Object o = bry_trie.Match_bgn(src, src_len - 1, -1); if (o == null) return null;
|
||||
Btrie_rv trv = new Btrie_rv();
|
||||
Object o = bry_trie.Match_at(trv, src, src_len - 1, -1); if (o == null) return null;
|
||||
Xow_abrv_wm rv = Xow_abrv_wm_override.To_abrv_itm_or_null(src); if (rv != null) return rv;
|
||||
int domain_type = ((Int_obj_ref)o).Val();
|
||||
Xol_lang_stub lang_itm = Xol_lang_stub_.Get_by_key_or_intl(src, 0, bry_trie.Match_pos() + 1);
|
||||
Xol_lang_stub lang_itm = Xol_lang_stub_.Get_by_key_or_intl(src, 0, trv.Pos() + 1);
|
||||
return new Xow_abrv_wm(src, lang_itm.Key(), lang_itm, domain_type);
|
||||
}
|
||||
public static Xow_domain_itm Parse_to_domain_itm(byte[] src) { // EX: parse "enwiki" to "en.wikipedia.org" itm
|
||||
@@ -36,7 +37,8 @@ public class Xow_abrv_wm_ {
|
||||
public static byte[] Parse_to_domain_bry(byte[] src) { // EX: parse "enwiki" to en.wikipedia.org
|
||||
if (src == null) return null;
|
||||
int src_len = src.length; if (src_len == 0) return null; // empty bry
|
||||
Object o = bry_trie.Match_bgn(src, src_len - 1, - 1); if (o == null) return null;
|
||||
Btrie_rv trv = new Btrie_rv();
|
||||
Object o = bry_trie.Match_at(trv, src, src_len - 1, - 1); if (o == null) return null;
|
||||
int domain_type = -1;
|
||||
byte[] lang = null;
|
||||
Xow_abrv_wm rv = Xow_abrv_wm_override.To_abrv_itm_or_null(src);
|
||||
@@ -49,11 +51,11 @@ public class Xow_abrv_wm_ {
|
||||
}
|
||||
switch (domain_type) {
|
||||
case Xow_domain_tid_.Int__wmfblog: return Xow_domain_itm_.Bry__wmforg;
|
||||
case Xow_domain_tid_.Int__wikidata: return Xow_domain_itm_.Bry__wikidata;
|
||||
case Xow_domain_tid_.Int__wikidata: return Xow_domain_itm_.Bry__wikidata;
|
||||
case Xow_domain_tid_.Int__mediawiki: return Xow_domain_itm_.Bry__mediawiki;
|
||||
case Xow_domain_tid_.Int__commons: return Xow_domain_itm_.Bry__commons;
|
||||
case Xow_domain_tid_.Int__species: return Xow_domain_itm_.Bry__species;
|
||||
case Xow_domain_tid_.Int__meta: return Xow_domain_itm_.Bry__meta;
|
||||
case Xow_domain_tid_.Int__meta: return Xow_domain_itm_.Bry__meta;
|
||||
case Xow_domain_tid_.Int__incubator: return Xow_domain_itm_.Bry__incubator;
|
||||
case Xow_domain_tid_.Int__wikipedia:
|
||||
case Xow_domain_tid_.Int__wiktionary:
|
||||
@@ -65,7 +67,7 @@ public class Xow_abrv_wm_ {
|
||||
case Xow_domain_tid_.Int__wikivoyage:
|
||||
case Xow_domain_tid_.Int__wikimedia:
|
||||
if (lang == null) {
|
||||
lang = Bry_.Mid(src, 0, bry_trie.Match_pos() + 1); // en
|
||||
lang = Bry_.Mid(src, 0, trv.Pos() + 1); // en
|
||||
if (Bry_.Has(lang, Byte_ascii.Underline)) // convert "_" to "-"; note that wmf_keys have a strict format of langtype; EX: "zh_yuewiki"; DATE:2014-10-06
|
||||
lang = Bry_.Replace_create(lang, Byte_ascii.Underline, Byte_ascii.Dash);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user