1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

'v3.8.1.1'

This commit is contained in:
gnosygnu
2016-07-31 21:41:19 -04:00
parent 8e91ac0bc4
commit b0fdf78a41
388 changed files with 3517 additions and 2553 deletions

View File

@@ -19,31 +19,30 @@ package gplx.xowa.langs.msgs; import gplx.*; import gplx.xowa.*; import gplx.xow
import gplx.core.brys.fmtrs.*;
public class Xol_msg_itm {
public Xol_msg_itm(int id, byte[] key) {this.id = id; this.key = key;}
public int Id() {return id;} private final int id;
public byte[] Key() {return key;} private final byte[] key;
public byte[] Val() {return val;} private byte[] val;
public int Src() {return src;} public Xol_msg_itm Src_(int v) {src = v; return this;} private int src;
public boolean Src_is_missing() {return src == Src_missing;}
public boolean Has_fmt_arg() {return has_fmt_arg;} private boolean has_fmt_arg;
public boolean Has_tmpl_txt() {return has_tmpl_txt;} private boolean has_tmpl_txt;
public boolean Dirty() {return dirty;} public Xol_msg_itm Dirty_(boolean v) {dirty = v; return this;} private boolean dirty; // BLDR:
public int Id() {return id;} private final int id;
public byte[] Key() {return key;} private final byte[] key;
public byte[] Val() {return val;} private byte[] val;
public int Src() {return src;} private int src;
public boolean Src_is_missing() {return src == Src_missing;}
public boolean Has_fmt_arg() {return has_fmt_arg;} private boolean has_fmt_arg;
public boolean Has_tmpl_txt() {return has_tmpl_txt;} private boolean has_tmpl_txt;
public boolean Dirty() {return dirty;} private boolean dirty; // BLDR:
public Xol_msg_itm Src_(int v) {src = v; return this;}
public Xol_msg_itm Dirty_(boolean v) {dirty = v; return this;}
public void Atrs_set(byte[] val, boolean has_fmt_arg, boolean has_tmpl_txt) {
this.val = val; this.has_fmt_arg = has_fmt_arg; this.has_tmpl_txt = has_tmpl_txt;
}
public byte[] Fmt(Bry_bfr bfr, Object... args) {
synchronized (tmp_fmtr) {
tmp_fmtr.Fmt_(val);
tmp_fmtr.Bld_bfr_many(bfr, args);
return bfr.To_bry_and_clear();
}
public byte[] Fmt(Bry_bfr bfr, Bry_fmtr fmtr, Object... args) {
fmtr.Fmt_(val);
fmtr.Bld_bfr_many(bfr, args);
return bfr.To_bry_and_clear();
}
public byte[] Fmt_tmp(Bry_bfr bfr, byte[] tmp_val, Object... args) {
synchronized (tmp_fmtr) {
tmp_fmtr.Fmt_(tmp_val);
tmp_fmtr.Bld_bfr_many(bfr, args);
return bfr.To_bry_and_clear();
}
public byte[] Fmt_tmp(Bry_bfr bfr, Bry_fmtr fmtr, byte[] tmp_val, Object... args) {
fmtr.Fmt_(tmp_val);
fmtr.Bld_bfr_many(bfr, args);
return bfr.To_bry_and_clear();
}
public static final int Src_null = 0, Src_lang = 1, Src_wiki = 2, Src_missing = 3;
private static Bry_fmtr tmp_fmtr = Bry_fmtr.tmp_();
public static final int Src_null = 0, Src_lang = 1, Src_wiki = 2, Src_missing = 3;
}

View File

@@ -259,7 +259,7 @@ public static final int
update_val_(rv, val);
return rv;
}
private static final Bry_fmtr tmp_fmtr = Bry_fmtr.tmp_().Fail_when_invalid_escapes_(false);
private static final Bry_fmtr tmp_fmtr = Bry_fmtr.New__tmp().Fail_when_invalid_escapes_(false);
private static final Bry_bfr tmp_bfr = Bry_bfr_.Reset(255);
public static void update_val_(Xol_msg_itm itm, byte[] val) {
synchronized (tmp_fmtr) { // LOCK:static-objs; DATE:2016-07-07

View File

@@ -40,7 +40,7 @@ public class Xol_msg_mgr_ {
return msg_itm == null ? null : String_.new_u8(msg_itm.Val());
}
public static byte[] Get_msg_val(Xowe_wiki wiki, Xol_lang_itm lang, byte[] msg_key, byte[][] fmt_args) {
Bry_bfr tmp_bfr = Xoa_app_.Utl__bfr_mkr().Get_b512();
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_b512();
Xol_msg_itm msg_itm = Get_msg_itm(tmp_bfr, wiki, lang, msg_key);
byte[] rv = Get_msg_val(tmp_bfr, wiki, msg_itm, fmt_args);
tmp_bfr.Mkr_rls();
@@ -52,7 +52,7 @@ public class Xol_msg_mgr_ {
if (!has_fmt && !has_tmpl) // no fmt or tmpl; just add val
return msg_val;
if (has_fmt) { // fmt exists; fmt first (before tmpl text); EX: Expression error: Unrecognised word "~{0}"
Bry_fmtr tmp_fmtr = Bry_fmtr.tmp_().Missing_bgn_(Missing_bry).Missing_end_(Bry_.Empty).Missing_adj_(1);
Bry_fmtr tmp_fmtr = Bry_fmtr.New__tmp().Missing_bgn_(Missing_bry).Missing_end_(Bry_.Empty).Missing_adj_(1);
tmp_fmtr.Fmt_(msg_val);
tmp_fmtr.Bld_bfr(tmp_bfr, fmt_args);
msg_val = tmp_bfr.To_bry_and_clear();

View File

@@ -16,9 +16,11 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.langs.msgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
import gplx.core.brys.fmtrs.*;
import gplx.xowa.htmls.sidebar.*;
public class Xow_msg_mgr implements Gfo_invk {
private final Xowe_wiki wiki; private Xol_lang_itm lang; private final Xol_msg_mgr msg_mgr;
private final Bry_fmtr tmp_fmtr = Bry_fmtr.New__tmp();
public Xow_msg_mgr(Xowe_wiki wiki, Xol_lang_itm lang) {
this.wiki = wiki;
this.lang = lang;
@@ -35,7 +37,7 @@ public class Xow_msg_mgr implements Gfo_invk {
Xol_msg_itm itm = msg_mgr.Itm_by_id_or_null(id);
if (itm == null)
itm = lang.Msg_mgr().Itm_by_id_or_null(id);
Bry_bfr tmp_bfr = Xoa_app_.Utl__bfr_mkr().Get_b512();
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_b512();
byte[] rv = Val_by_itm(tmp_bfr, itm, args);
tmp_bfr.Mkr_rls();
return rv;
@@ -45,7 +47,7 @@ public class Xow_msg_mgr implements Gfo_invk {
public Xol_msg_itm Find_or_null(byte[] key) {
Xol_msg_itm itm = msg_mgr.Itm_by_key_or_null(key);
if (itm == null) {
Bry_bfr tmp_bfr = Xoa_app_.Utl__bfr_mkr().Get_b512();
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_b512();
itm = Xol_msg_mgr_.Get_msg_itm(tmp_bfr, wiki, lang, key);
if (itm.Src_is_missing()) itm = null;
tmp_bfr.Mkr_rls();
@@ -57,7 +59,7 @@ public class Xow_msg_mgr implements Gfo_invk {
public byte[] Val_by_key_obj(byte[] key) {return Val_by_key(key, null);}
private byte[] Val_by_key(byte[] key, Object[] args) {
Xol_msg_itm itm = msg_mgr.Itm_by_key_or_null(key);
Bry_bfr tmp_bfr = Xoa_app_.Utl__bfr_mkr().Get_b512();
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_b512();
if (itm == null)
itm = Xol_msg_mgr_.Get_msg_itm(tmp_bfr, wiki, lang, key);
if (itm.Src_is_missing()) {
@@ -70,12 +72,12 @@ public class Xow_msg_mgr implements Gfo_invk {
}
public byte[] Val_by_itm(Bry_bfr tmp_bfr, Xol_msg_itm itm, Object[] args) {
byte[] rv = itm.Val();
if (args != null) rv = itm.Fmt_tmp(tmp_bfr, rv, args);
if (args != null) rv = itm.Fmt_tmp(tmp_bfr, tmp_fmtr, rv, args);
if (itm.Has_tmpl_txt()) rv = wiki.Parser_mgr().Main().Expand_tmpl(rv);
return rv;
}
public byte[] Val_html_accesskey_and_title(byte[] id) {
Bry_bfr bfr = Xoa_app_.Utl__bfr_mkr().Get_b512();
Bry_bfr bfr = wiki.Utl__bfr_mkr().Get_b512();
byte[] rv = Val_html_accesskey_and_title(id, bfr, null);
bfr.Mkr_rls();
return rv;