/**************************************************************************
OmegaT - Computer Assisted Translation (CAT) tool
with fuzzy matching, translation memory, keyword search,
glossaries, and translation leveraging into updated projects.
Copyright (C) 2000-2006 Keith Godfrey and Maxym Mykhalchuk
2007-2008 Didier Briel, Martin Fleurke
Home page: http://www.omegat.org/
Support center: http://groups.yahoo.com/group/OmegaT/
This file is part of OmegaT.
OmegaT is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OmegaT is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
**************************************************************************/
package org.omegat.convert.v20to21.data;
import java.io.Serializable;
/**
* Options for (X)HTML filter. Serializable to allow saving to / reading from
* configuration file.
* <p>
* HTML filter would have the following options ([+] means default on).<br>
* Add or rewrite encoding declaration in HTML and XHTML files:
* <ul>
* <li>[] Always
* <li>[+] Only if HTML file has a header
* <li>[] Only if HTML file has an encoding declaration
* <li>[] Never
* </ul>
* Translatable attributes:
* <ul>
* <li>[+] href
* <li>[+] src
* <li>[+] lang
* <li>[+] hreflang
* <li>[+] value
* <li>[+] value (of buttons)
* </ul>
* Start a new paragraph on breaks (<br>) []<br>
* Skip text matching regExp []<br>
* Skip content of meta-tag when any of the given attibutename-value pairs is
* present in the tag
*
* @author Maxym Mykhalchuk
* @author Didier Briel
* @author Martin Fleurke
*/
public class HTMLOptions implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
/** (X)HTML filter should always add/rewrite encoding declaration. */
public static final int REWRITE_ALWAYS = 1;
/**
* Default. (X)HTML filter should rewrite encoding declaration if HTML file
* has a header.
*/
public static final int REWRITE_IFHEADER = 2;
/**
* (X)HTML filter should rewrite encoding declaration meta-tag if HTML file
* has one.
*/
public static final int REWRITE_IFMETA = 3;
/** (X)HTML filter should never rewrite encoding declaration. */
public static final int REWRITE_NEVER = 4;
/** Holds value of property. */
private int rewriteEncoding = REWRITE_IFHEADER;
/**
* Returns whether and when (X)HTML filter adds/rewrites encoding
* declaration.
*
* @return One of {@link #REWRITE_ALWAYS}, {@link #REWRITE_IFHEADER},
* {@link #REWRITE_IFMETA}, {@link #REWRITE_NEVER}.
*/
public int getRewriteEncoding() {
return this.rewriteEncoding;
}
/**
* Sets when (X)HTML filter should add/rewrite encoding declaration.
*
* @param rewriteEncoding
* One of {@link #REWRITE_ALWAYS}, {@link #REWRITE_IFHEADER},
* {@link #REWRITE_IFMETA}, {@link #REWRITE_NEVER}.
*/
public void setRewriteEncoding(int rewriteEncoding) {
this.rewriteEncoding = rewriteEncoding;
}
/** Hold value of properties. */
private boolean translateHref = true;
private boolean translateSrc = true;
private boolean translateLang = true;
private boolean translateHreflang = true;
private boolean translateValue = true;
private boolean translateButtonValue = true;
private boolean paragraphOnBr = false;
private String skipRegExp = "";
private String skipMeta = "http-equiv=refresh," + "name=robots," + "name=revisit-after,"
+ "http-equiv=expires," + "http-equiv=content-style-type," + "http-equiv=content-script-type";
/**
* Returns whether href attributes should be translated.
*/
public boolean getTranslateHref() {
return this.translateHref;
}
/**
* Sets whether href attributes should be translated.
*/
public void setTranslateHref(boolean translateHref) {
this.translateHref = translateHref;
}
/**
* Returns whether src attributes should be translated.
*/
public boolean getTranslateSrc() {
return this.translateSrc;
}
/**
* Sets whether src attributes should be translated.
*/
public void setTranslateSrc(boolean translateSrc) {
this.translateSrc = translateSrc;
}
/**
* Returns whether lang attributes should be translated.
*/
public boolean getTranslateLang() {
return this.translateLang;
}
/**
* Sets whether lang attributes should be translated.
*/
public void setTranslateLang(boolean translateLang) {
this.translateLang = translateLang;
}
/**
* Returns whether hreflang attributes should be translated.
*/
public boolean getTranslateHreflang() {
return this.translateHreflang;
}
/**
* Sets whether hreflang attributes should be translated.
*/
public void setTranslateHreflang(boolean translateHreflang) {
this.translateHreflang = translateHreflang;
}
/**
* Sets whether value attributes should be translated.
*/
public void setTranslateValue(boolean translateValue) {
this.translateValue = translateValue;
}
/**
* Returns whether value attributes should be translated.
*/
public boolean getTranslateValue() {
return this.translateValue;
}
/**
* Sets whether button value attributes should be translated.
*/
public void setTranslateButtonValue(boolean translateButtonValue) {
this.translateButtonValue = translateButtonValue;
}
/**
* Returns whether button value attributes should be translated.
*/
public boolean getTranslateButtonValue() {
return this.translateButtonValue;
}
/**
* Returns whether a new paragraph should be started on BR.
*/
public boolean getParagraphOnBr() {
return this.paragraphOnBr;
}
/**
* Sets whether a new paragraph should be started on BR.
*/
public void setParagraphOnBr(boolean paragraphOnBr) {
this.paragraphOnBr = paragraphOnBr;
}
/**
* Returns the regular expression that matches text not to be translated
*/
public String getSkipRegExp() {
return this.skipRegExp;
}
/**
* Sets the regular expression that matches text not to be translated
*/
public void setSkipRegExp(String skipRegExp) {
this.skipRegExp = skipRegExp;
}
/**
* Returns the meta-tag attribute key-value pairs of which meta-tags should
* not be translated
*/
public String getSkipMeta() {
return this.skipMeta;
}
/**
* Sets the meta-tag attribute key-value pairs of which meta-tags should not
* be translated
*/
public void setSkipMeta(String skipMeta) {
this.skipMeta = skipMeta;
}
}