/************************************************************************** OmegaT - Computer Assisted Translation (CAT) tool with fuzzy matching, translation memory, keyword search, glossaries, and translation leveraging into updated projects. Copyright (C) 2007-2010 Didier Briel 2010 Antonio Vilei 2011-2016 Didier Briel 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.filters3.xml.openxml; import java.util.Map; import org.omegat.filters2.AbstractOptions; /** * Options for OpenXML filter. Serializable to allow saving to / reading from * configuration file. * <p> * OpenDoc filter have the following options ([+] means default on). * Translatable elements: * <ul> * <li>[] Hidden text (Word) * <li>[+] Comments (Word) * <li>[+] Footnotes (Word) * <li>[+] Endnotes (Word) * <li>[+] Header (Word) * <li>[+] Footer (Word) * <li>[] Duplicate fallback text (Word) * <li>[] Document properties (Word) * <li>[+] Comments (Excel) * <li>[] Sheet names (Excel) * <li>[+] Slide comments (PowerPoint) * <li>[] Slide Masters (PowerPoint) * <li>[] Slide Layouts (PowerPoint) * <li>[] External links (PowerPoint) * <li>[] Charts (Global) * <li>[] Diagrams (Global) * <li>[] Drawings (Global) * <li>[] WordArt (Global) * </ul> * Other options: * <ul> * <li>[+] Tags Aggregation * <li>[+] Preserve space for all tags * <li>[+] Start a new paragraph on Word soft return * </ul> * * @author Didier Briel, Antonio Vilei */ public class OpenXMLOptions extends AbstractOptions { private static final String OPTION_TRANSLATE_HIDDEN_TEXT = "translateHiddenText"; private static final String OPTION_TRANSLATE_COMMENTS = "translateComments"; private static final String OPTION_TRANSLATE_FOOTNOTES = "translateFootnotes"; private static final String OPTION_TRANSLATE_ENDNOTES = "translateEndnotes"; private static final String OPTION_TRANSLATE_HEADERS = "translateHeaders"; private static final String OPTION_TRANSLATE_FOOTERS = "translateFooters"; private static final String OPTION_TRANSLATE_FALLBACK_TEXT = "translateFallbackText"; private static final String OPTION_TRANSLATE_DIAGRAMS = "translateDiagrams"; private static final String OPTION_TRANSLATE_EXCEL_COMMENTS = "translateExcelComments"; private static final String OPTION_TRANSLATE_SHEET_NAMES = "translateSheetNames"; private static final String OPTION_TRANSLATE_SLIDE_COMMENTS = "translateSlideComments"; private static final String OPTION_TRANSLATE_SLIDE_MASTERS = "translateSlideMasters"; private static final String OPTION_TRANSLATE_SLIDE_LAYOUTS = "translateSlideLayouts"; private static final String OPTION_TRANSLATE_SLIDE_LINKS = "translateSlideLinks"; private static final String OPTION_TRANSLATE_CHARTS = "translateCharts"; private static final String OPTION_TRANSLATE_DRAWINGS = "translateDrawings"; private static final String OPTION_TRANSLATE_WORDART = "translateWordArt"; private static final String OPTION_AGGREGATE_TAGS = "aggregateTags"; private static final String OPTION_PRESERVE_SPACES = "preserveSpaces"; private static final String OPTION_BREAK_ON_BR = "breakOnBr"; private static final String OPTION_DOCUMENT_PROPERTIES = "documentProperties"; public OpenXMLOptions(Map<String, String> options) { super(options); } /** * Returns whether Hidden Text should be translated. */ public boolean getTranslateHiddenText() { return getBoolean(OPTION_TRANSLATE_HIDDEN_TEXT, false); } /** * Sets whether Hidden Text should be translated. */ public void setTranslateHiddenText(boolean translateHiddenText) { setBoolean(OPTION_TRANSLATE_HIDDEN_TEXT, translateHiddenText); } /** * Returns whether Commments should be translated. */ public boolean getTranslateComments() { return getBoolean(OPTION_TRANSLATE_COMMENTS, true); } /** * Sets whether Comments should be translated. */ public void setTranslateComments(boolean translateComments) { setBoolean(OPTION_TRANSLATE_COMMENTS, translateComments); } /** * Returns whether Footnotes should be translated. */ public boolean getTranslateFootnotes() { return getBoolean(OPTION_TRANSLATE_FOOTNOTES, true); } /** * Sets whether Footnotes should be translated. */ public void setTranslateFootnotes(boolean translateFootnotes) { setBoolean(OPTION_TRANSLATE_FOOTNOTES, translateFootnotes); } /** * Returns whether Endnotes should be translated. */ public boolean getTranslateEndnotes() { return getBoolean(OPTION_TRANSLATE_ENDNOTES, true); } /** * Sets whether Footnotes should be translated. */ public void setTranslateEndnotes(boolean translateEndnotes) { setBoolean(OPTION_TRANSLATE_ENDNOTES, translateEndnotes); } /** * Returns whether Headers should be translated. */ public boolean getTranslateHeaders() { return getBoolean(OPTION_TRANSLATE_HEADERS, true); } /** * Sets whether Headers should be translated. */ public void setTranslateHeaders(boolean translateHeaders) { setBoolean(OPTION_TRANSLATE_HEADERS, translateHeaders); } /** * Returns whether Footers should be translated. */ public boolean getTranslateFooters() { return getBoolean(OPTION_TRANSLATE_FOOTERS, true); } /** * Sets whether Footers should be translated. */ public void setTranslateFooters(boolean translateFooters) { setBoolean(OPTION_TRANSLATE_FOOTERS, translateFooters); } /** * @return whether Fallback Text should be translated. */ public boolean getTranslateFallbackText() { return getBoolean(OPTION_TRANSLATE_FALLBACK_TEXT, false); } /** * Sets whether Fallback Text should be translated. */ public void setTranslateFallbackText(boolean translateFallbackText) { setBoolean(OPTION_TRANSLATE_FALLBACK_TEXT, translateFallbackText); } /** * Returns whether Diagrams should be translated. */ public boolean getTranslateDiagrams() { return getBoolean(OPTION_TRANSLATE_DIAGRAMS, false); } /** * Sets whether Diagrams should be translated. */ public void setTranslateDiagrams(boolean translateDiagrams) { setBoolean(OPTION_TRANSLATE_DIAGRAMS, translateDiagrams); } /** * Returns whether Excel Comments should be translated. */ public boolean getTranslateExcelComments() { return getBoolean(OPTION_TRANSLATE_EXCEL_COMMENTS, true); } /** * Sets whether Excel Comments should be translated. */ public void setTranslateExcelComments(boolean translateExcelComments) { setBoolean(OPTION_TRANSLATE_EXCEL_COMMENTS, translateExcelComments); } /** * Returns whether Excel Sheet Names should be translated. */ public boolean getTranslateSheetNames() { return getBoolean(OPTION_TRANSLATE_SHEET_NAMES, false); } /** * Sets whether Excel Comments should be translated. */ public void setTranslateSheetNames(boolean translateExcelSheetNames) { setBoolean(OPTION_TRANSLATE_SHEET_NAMES, translateExcelSheetNames); } /** * Returns whether Slide Comments should be translated. */ public boolean getTranslateSlideComments() { return getBoolean(OPTION_TRANSLATE_SLIDE_COMMENTS, true); } /** * Sets whether Slide Comments should be translated. */ public void setTranslateSlideComments(boolean translateSlideComments) { setBoolean(OPTION_TRANSLATE_SLIDE_COMMENTS, translateSlideComments); } /** * Returns whether Slide Masters should be translated. */ public boolean getTranslateSlideMasters() { return getBoolean(OPTION_TRANSLATE_SLIDE_MASTERS, false); } /** * Sets whether Slide Masters should be translated. */ public void setTranslateSlideMasters(boolean translateSlideMasters) { setBoolean(OPTION_TRANSLATE_SLIDE_MASTERS, translateSlideMasters); } /** * Returns whether Slide Layouts should be translated. */ public boolean getTranslateSlideLayouts() { return getBoolean(OPTION_TRANSLATE_SLIDE_LAYOUTS, false); } /** * Sets whether Slide Layouts should be translated. */ public void setTranslateSlideLayouts(boolean translateSlideLayouts) { setBoolean(OPTION_TRANSLATE_SLIDE_LAYOUTS, translateSlideLayouts); } /** * Returns whether Slide Links should be translated. * @return the state of OPTION_TRANSLATE_SLIDE_LINKS * @deprecated use getTranslateLinks() */ @Deprecated public boolean getTranslateSlideLinks() { return getTranslateLinks(); } /** * Sets whether Slide Links should be translated. * @param translateSlideLinks The option to translate external links * @deprecated use setTranslateLinks(boolean) */ @Deprecated public void setTranslateSlideLinks(boolean translateSlideLinks) { setTranslateLinks(translateSlideLinks); } /** * Returns whether Slide Links should be translated. * @return the state of OPTION_TRANSLATE_SLIDE_LINKS */ public boolean getTranslateLinks() { return getBoolean(OPTION_TRANSLATE_SLIDE_LINKS, false); } /** * Sets whether Slide Links should be translated. * @param translateSlideLinks The option to translate external links */ public void setTranslateLinks(boolean translateLinks) { setBoolean(OPTION_TRANSLATE_SLIDE_LINKS, translateLinks); } /** * Returns whether Charts should be translated. */ public boolean getTranslateCharts() { return getBoolean(OPTION_TRANSLATE_CHARTS, false); } /** * Sets whether Charts should be translated. */ public void setTranslateCharts(boolean translateCharts) { setBoolean(OPTION_TRANSLATE_CHARTS, translateCharts); } /** * Returns whether Drawings should be translated. */ public boolean getTranslateDrawings() { return getBoolean(OPTION_TRANSLATE_DRAWINGS, false); } /** * Sets whether Drawings should be translated. */ public void setTranslateDrawings(boolean translateDrawings) { setBoolean(OPTION_TRANSLATE_DRAWINGS, translateDrawings); } /** * Returns whether Word art should be translated. */ public boolean getTranslateWordArt() { return getBoolean(OPTION_TRANSLATE_WORDART, false); } /** * Sets whether Word art should be translated. */ public void setTranslateWordArt(boolean translateWordArt) { setBoolean(OPTION_TRANSLATE_WORDART, translateWordArt); } /** * Returns whether OpenXML tags should be aggregated. */ public boolean getAggregateTags() { return getBoolean(OPTION_AGGREGATE_TAGS, true); } /** * Sets whether OpenXML tags should be aggregated. */ public void setAggregateTags(boolean aggregateTags) { setBoolean(OPTION_AGGREGATE_TAGS, aggregateTags); } /** * Returns whether spaces should be preserved for all tags * @return the state of OPTION_PRESERVE_SPACES */ public boolean getSpacePreserving() { return getBoolean(OPTION_PRESERVE_SPACES, true); } /** * Sets whether spaces should be preserved for all tags * @param onOff The option for space preserving */ public void setSpacePreserving(boolean onOff) { setBoolean(OPTION_PRESERVE_SPACES, onOff); } /** * Returns whether a new paragraph should be created on "w:br" * @return the state of OPTION_BREAK_ON_BR */ public boolean getBreakOnBr() { return getBoolean(OPTION_BREAK_ON_BR, true); } /** * Sets whether a new paragraph should be created on "w:br" * @param breakOnBr The option whether to break or not */ public void setBreakOnBr(boolean breakOnBr) { setBoolean(OPTION_BREAK_ON_BR, breakOnBr); } /** * Returns whether Word document properties should be translated * @return the state of OPTION_DOCUMENT_PROPERTIES */ public boolean getTranslateDocumentProperties() { return getBoolean(OPTION_DOCUMENT_PROPERTIES, false); } /** * Sets whether Word document properties should be translated * @param translateDocumentProperties The option whether to translate document properties or not */ public void setTranslateDocumentProperties(boolean translateDocumentProperties) { setBoolean(OPTION_DOCUMENT_PROPERTIES, translateDocumentProperties); } }