1
0
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:
gnosygnu
2016-07-17 21:10:59 -04:00
parent b333db45f8
commit 7a851a41a5
290 changed files with 3048 additions and 2124 deletions

View File

@@ -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);
}