Farsi translation and xepersian.sty support

git-svn-id: svn://svn.code.sf.net/p/writer2latex/code/trunk@106 f0f2a975-2e09-46c8-9428-3b39399b9f3c
This commit is contained in:
henrikjust 2011-05-09 13:47:46 +00:00
parent bc9545dbb1
commit f7dd0f8085
19 changed files with 398 additions and 55 deletions

View file

@ -1,7 +1,7 @@
Writer2LaTeX version 1.1.7 (alpha test release)
Writer2LaTeX version 1.1.8 (alpha test release)
===============================================
This is the distribution of Writer2LaTeX version 1.1.7
This is the distribution of Writer2LaTeX version 1.1.8
Latest version can be found at the web site
http://writer2latex.sourceforge.net
@ -14,5 +14,5 @@ Bugs and feature requests should be reported to
henrikjust (at) openoffice.org
April 2011
May 2011
Henrik Just

View file

@ -1,5 +1,11 @@
Changelog for Writer2LaTeX version 1.0 -> 1.2
---------- version 1.1.8 ----------
[all] Added Farsi translation from Mostafa Barmshory
[w2l] Added support for xepersian.sty (fa_IR locale, requires XeTeX backend and multilingual=true)
---------- version 1.1.7 ----------
[all] Bugfix: Fixed null pointer exception for tables with unbalanced rows

Binary file not shown.

View file

@ -20,7 +20,7 @@
*
* All Rights Reserved.
*
* Version 1.2 (2011-04-20)
* Version 1.2 (2011-05-09)
*
*/
@ -32,8 +32,8 @@ package writer2latex.api;
public class ConverterFactory {
// Version information
private static final String VERSION = "1.1.7";
private static final String DATE = "2011-04-20";
private static final String VERSION = "1.1.8";
private static final String DATE = "2011-05-09";
/** Return the Writer2LaTeX version in the form
* (major version).(minor version).(patch level)<br/>

View file

@ -20,7 +20,7 @@
*
* All Rights Reserved.
*
* Version 1.2 (2011-02-19)
* Version 1.2 (2011-05-07)
*
*/

View file

@ -20,7 +20,7 @@
*
* All Rights Reserved.
*
* Version 1.2 (2011-03-10)
* Version 1.2 (2011-05-07)
*
*/

View file

@ -20,7 +20,7 @@
*
* All Rights Reserved.
*
* Version 1.2 (2011-03-10)
* Version 1.2 (2011-05-09)
*
*/
@ -41,6 +41,9 @@ import writer2latex.latex.util.BeforeAfter;
public abstract class I18n {
// **** Global variables ****
// The office reader
protected OfficeReader ofr;
// Configuration items
protected LaTeXConfig config;
protected ReplacementTrie stringReplace;
@ -48,9 +51,11 @@ public abstract class I18n {
protected boolean bAlwaysUseDefaultLang; // Ignore sLang parameter to convert()
// Collected data
protected String sDefaultLanguage; // The default ISO language to use
protected String sDefaultCountry; // The default ISO country to use
protected HashSet<String> languages = new HashSet<String>(); // All languages used
protected String sDefaultCTLLanguage; // The default CTL ISO language to use
protected String sDefaultCTLCountry; // The default CTL ISO country to use
protected String sDefaultLanguage; // The default LCG ISO language to use
protected String sDefaultCountry; // The default LCG ISO country to use
protected HashSet<String> languages = new HashSet<String>(); // All LCG languages used
// **** Constructors ****
@ -60,8 +65,8 @@ public abstract class I18n {
* @param palette the ConverterPalette (unused)
*/
public I18n(OfficeReader ofr, LaTeXConfig config, ConverterPalette palette) {
// We don't need the palette and the office reader is only used to
// identify the default language
// We don't need the palette
this.ofr = ofr;
// Set up config items
this.config = config;
@ -77,6 +82,8 @@ public abstract class I18n {
if (style!=null) {
sDefaultLanguage = style.getProperty(XMLString.FO_LANGUAGE);
sDefaultCountry = style.getProperty(XMLString.FO_COUNTRY);
sDefaultCTLLanguage = style.getProperty(XMLString.STYLE_LANGUAGE_COMPLEX);
sDefaultCTLCountry = style.getProperty(XMLString.STYLE_COUNTRY_COMPLEX);
}
}
else {

View file

@ -20,12 +20,14 @@
*
* All Rights Reserved.
*
* Version 1.2 (2011-03-10)
* Version 1.2 (2011-05-06)
*
*/
package writer2latex.latex.i18n;
import java.text.Bidi;
import writer2latex.office.*;
import writer2latex.latex.LaTeXConfig;
import writer2latex.latex.LaTeXDocumentPortion;
@ -37,6 +39,8 @@ import writer2latex.latex.util.BeforeAfter;
public class XeTeXI18n extends I18n {
private Polyglossia polyglossia;
private boolean bUsePolyglossia;
private boolean bUseXepersian;
/** Construct a new XeTeXI18n as ConverterHelper
* @param ofr the OfficeReader to get language information from
@ -47,6 +51,14 @@ public class XeTeXI18n extends I18n {
super(ofr,config,palette);
polyglossia = new Polyglossia();
polyglossia.applyLanguage(sDefaultLanguage, sDefaultCountry);
// Currently all languages except farsi (fa_IR) are handled with polyglossia
// Actually only LTR languages are supported as yet
// TODO: Support CTL languages using polyglossia
bUsePolyglossia = !"fa".equals(sDefaultCTLLanguage);
// For farsi, we load xepersian.sty
// TODO: Add a use_xepersian option, using polyglossia if false
bUseXepersian = !bUsePolyglossia;
}
/** Add declarations to the preamble to load the required packages
@ -58,20 +70,35 @@ public class XeTeXI18n extends I18n {
.append("\\usepackage{fontspec}").nl()
.append("\\usepackage{xunicode}").nl()
.append("\\usepackage{xltxtra}").nl();
if (bUsePolyglossia) {
String[] polyglossiaDeclarations = polyglossia.getDeclarations();
for (String s: polyglossiaDeclarations) {
pack.append(s).nl();
}
}
else if (bUseXepersian) {
// xepersian.sty must be loaded as the last package
// We put it in the declarations part to achieve this
decl.append("\\usepackage{xepersian}").nl();
// Set the default font to the default CTL font defined in the document
StyleWithProperties defaultStyle = ofr.getDefaultParStyle();
if (defaultStyle!=null) {
String sDefaultCTLFont = defaultStyle.getProperty(XMLString.STYLE_FONT_NAME_COMPLEX);
if (sDefaultCTLFont!=null) {
decl.append("\\settextfont{").append(sDefaultCTLFont).append("}").nl();
}
}
}
}
/** Apply a language language
/** Apply a language
* @param style the OOo style to read attributes from
* @param bDecl true if declaration form is required
* @param bInherit true if inherited properties should be used
* @param ba the <code>BeforeAfter</code> to add LaTeX code to.
*/
public void applyLanguage(StyleWithProperties style, boolean bDecl, boolean bInherit, BeforeAfter ba) {
if (!bAlwaysUseDefaultLang && style!=null) {
if (bUsePolyglossia && !bAlwaysUseDefaultLang && style!=null) {
// TODO: Support CTL and CJK
String sISOLang = style.getProperty(XMLString.FO_LANGUAGE,bInherit);
String sISOCountry = style.getProperty(XMLString.FO_COUNTRY, bInherit);
@ -109,8 +136,9 @@ public class XeTeXI18n extends I18n {
public String convert(String s, boolean bMathMode, String sLang){
// TODO: Do we need anything special for math mode?
StringBuffer buf = new StringBuffer();
char c;
int nLen = s.length();
char c;
if (bUsePolyglossia) {
int i = 0;
while (i<nLen) {
ReplacementTrieNode node = stringReplace.get(s,i,nLen);
@ -120,6 +148,44 @@ public class XeTeXI18n extends I18n {
}
else {
c = s.charAt(i++);
convert (c,buf);
}
}
}
else if (bUseXepersian) {
// TODO: Add support for string replace
Bidi bidi = new Bidi(s,Bidi.DIRECTION_RIGHT_TO_LEFT);
int nCurrentLevel = bidi.getBaseLevel();
int nNestingLevel = 0;
for (int i=0; i<nLen; i++) {
int nLevel = bidi.getLevelAt(i);
if (nLevel>nCurrentLevel) {
if (nLevel%2==0) { // even is LTR
buf.append("\\lr{");
}
else { // odd is RTL
buf.append("\\rl{");
}
nCurrentLevel=nLevel;
nNestingLevel++;
}
else if (nLevel<nCurrentLevel) {
buf.append("}");
nCurrentLevel=nLevel;
nNestingLevel--;
}
convert(s.charAt(i),buf);
}
while (nNestingLevel>0) {
buf.append("}");
nNestingLevel--;
}
}
return buf.toString();
}
private void convert(char c, StringBuffer buf) {
switch (c) {
case '#' : buf.append("\\#"); break; // Parameter
case '$' : buf.append("\\$"); break; // Math shift
@ -134,9 +200,7 @@ public class XeTeXI18n extends I18n {
case '\u00A0' : buf.append('~'); break; // Make non-breaking spaces visible
default: buf.append(c);
}
}
}
return buf.toString();
}

View file

@ -20,7 +20,7 @@
*
* All Rights Reserved.
*
* Version 1.2 (2011-03-21)
* Version 1.2 (2011-05-09)
*
*/
@ -249,8 +249,14 @@ public class Converter extends ConverterBase {
// Set locale to document language
StyleWithProperties style = ofr.isSpreadsheet() ? ofr.getDefaultCellStyle() : ofr.getDefaultParStyle();
if (style!=null) {
// The only CTL language recognized currently is farsi
if ("fa".equals(style.getProperty(XMLString.STYLE_LANGUAGE_COMPLEX))) {
l10n.setLocale("fa", "IR");
}
else {
l10n.setLocale(style.getProperty(XMLString.FO_LANGUAGE), style.getProperty(XMLString.FO_COUNTRY));
}
}
// Set the main content width
pushContentWidth(getStyleCv().getPageSc().getTextWidth());

View file

@ -279,6 +279,20 @@ public class L10n {
case DOCUMENT: return "Document";
}
}
if (sLocale.startsWith("fa")) { // Farsi
switch (nString) {
case UP: return "\u0628\u0627\u0644\u0627";
case FIRST : return "\u0627\u0648\u0644";
case PREVIOUS : return "\u0642\u0628\u0644\u06cc";
case NEXT : return "\u0628\u0639\u062f\u06cc";
case LAST : return "\u0627\u062e\u0631\u06cc\u0646";
//case CONTENTS : return "??";
case INDEX : return "\u0641\u0647\u0631\u0633\u062a";
case HOME : return "\u062e\u0627\u0646\u0647";
case DIRECTORY: return "\u067e\u0648\u0634\u0647";
case DOCUMENT: return "\u0645\u0633\u062a\u0646\u062f";
}
}
// English - default
switch (nString) {
case UP: return "Up";

View file

@ -0,0 +1,111 @@
# LaTeXOptions strings=Farsi
0.LaTeXOptions.HelpText=
1.LaTeXOptions.Title=\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0644\u06cc\u062a\u06a9
2.LaTeXOptions.FixedLine1.HelpText=
3.LaTeXOptions.FixedLine1.Label=
4.LaTeXOptions.GeneralLabel.HelpText=
5.LaTeXOptions.GeneralLabel.Label=\u0639\u0645\u0648\u0645\u06cc
6.LaTeXOptions.ConfigLabel.HelpText=
7.LaTeXOptions.ConfigLabel.Label=\u0642\u0627\u0644\u0628 \u0644\u06cc\u062a\u06a9
8.LaTeXOptions.Config.HelpText=
137.Config.StringItemList=\u0645\u0642\u0627\u0644\u0647 \u06a9\u0627\u0645\u0644\u0627 \u067e\u0627\u06a9
138.Config.StringItemList=\u0645\u0642\u0627\u0644\u0647 \u067e\u0627\u06a9
139.Config.StringItemList=\u067e\u06cc\u0634 \u0641\u0631\u0636
140.Config.StringItemList=\u0628\u0647\u06cc\u0646\u0647 \u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0686\u0627\u067e
141.Config.StringItemList=\u0628\u0647\u06cc\u0646\u0647 \u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634
142.Config.StringItemList=\u062f\u0644\u062e\u0648\u0627\u0647
15.LaTeXOptions.BackendLabel.HelpText=
16.LaTeXOptions.BackendLabel.Label=\u067e\u06cc\u0634 \u0632\u0645\u06cc\u0646\u0647
17.LaTeXOptions.Backend.HelpText=
116.Backend.StringItemList=\u06cc\u06a9\u062a\u0627
117.Backend.StringItemList=Pdf (pdfTeX)
118.Backend.StringItemList=\u067e\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a
119.Backend.StringItemList=\u062a\u0639\u06cc\u06cc\u0646 \u0646\u0634\u062f\u0647
22.LaTeXOptions.InputencodingLabel.HelpText=
23.LaTeXOptions.InputencodingLabel.Label=\u0631\u0648\u0634 \u06a9\u062f\u06af\u0630\u0627\u0631\u06cc
24.LaTeXOptions.Inputencoding.HelpText=
120.Inputencoding.StringItemList=\u0627\u0633\u06a9\u06cc
121.Inputencoding.StringItemList=West European (ISO 8859-1)
122.Inputencoding.StringItemList=East European (ISO 8859-2)
123.Inputencoding.StringItemList=Latin/Greek (ISO 8859-7)
124.Inputencoding.StringItemList=Microsoft East European (Cp1250)
125.Inputencoding.StringItemList=Microsoft Cyrillic (Cp1251)
126.Inputencoding.StringItemList=Russian (koi8-r)
127.Inputencoding.StringItemList=Unicode (UTF8)
33.LaTeXOptions.Multilingual.HelpText=
34.LaTeXOptions.Multilingual.Label=\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0686\u0646\u062f \u0632\u0628\u0627\u0646\u06cc
35.LaTeXOptions.GreekMath.HelpText=
36.LaTeXOptions.GreekMath.Label=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u0627\u0698\u06a9 \u0647\u0627\u06cc \u06cc\u0648\u0646\u0627\u0646\u06cc \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0646\u0645\u0627\u062f
37.LaTeXOptions.AdditionalSymbols.HelpText=
38.LaTeXOptions.AdditionalSymbols.Label=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u0645\u0627\u062f\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc
39.LaTeXOptions.BibliographyLabel.HelpText=
40.LaTeXOptions.BibliographyLabel.Label=Bibliography
41.LaTeXOptions.UseBibtex.HelpText=
42.LaTeXOptions.UseBibtex.Label=Use BibTeX for bibliography
43.LaTeXOptions.BibtexStyleLabel.HelpText=
44.LaTeXOptions.BibtexStyleLabel.Label=BibTeX style
45.LaTeXOptions.BibtexStyle.HelpText=
46.BibtexStyle.StringItemList=plain
47.BibtexStyle.StringItemList=unsrt
48.BibtexStyle.StringItemList=alpha
49.BibtexStyle.StringItemList=abbrv
50.LaTeXOptions.BibtexStyle.Text=
51.LaTeXOptions.FilesLabel.HelpText=
52.LaTeXOptions.FilesLabel.Label=\u067e\u0631\u0648\u0646\u062f\u0647\u200c\u0647\u0627
53.LaTeXOptions.WrapLines.HelpText=
54.LaTeXOptions.WrapLines.Label=\u0634\u06a9\u0627\u0646\u062f\u0646 \u062e\u0637\u0647\u0627\u06cc \u0628\u0632\u0631\u06af
55.LaTeXOptions.WrapLinesAfterLabel.HelpText=
56.LaTeXOptions.WrapLinesAfterLabel.Label=\u0628\u0639\u062f \u0627\u0632 \u0648\u0627\u0698\u06a9
57.LaTeXOptions.WrapLinesAfter.HelpText=
58.LaTeXOptions.SplitLinkedSections.HelpText=
59.LaTeXOptions.SplitLinkedSections.Label=\u0634\u06a9\u0627\u0646\u062f\u0646 \u0645\u0633\u062a\u0646\u062f \u0628\u0639\u062f \u0627\u0632 \u0642\u0633\u0645\u062a\u200c\u0647\u0627\u06cc \u067e\u06cc\u0648\u0646\u062f \u062f\u0627\u062f\u0647 \u0634\u062f\u0647
60.LaTeXOptions.SplitToplevelSections.HelpText=
61.LaTeXOptions.SplitToplevelSections.Label=\u0634\u06a9\u0627\u0646\u062f\u0646 \u0645\u0633\u062a\u0646\u062f \u0628\u0639\u062f \u0627\u0632 \u0628\u0627\u0644\u0627\u062a\u0631\u06cc\u0646 \u0633\u0637\u062d \u0642\u0633\u0645\u062a\u200c\u0647\u0627
62.LaTeXOptions.SaveImagesInSubdir.HelpText=
63.LaTeXOptions.SaveImagesInSubdir.Label=\u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0646 \u0634\u06a9\u0644\u200c\u0647\u0627 \u062f\u0631 \u0632\u06cc\u0631\u067e\u0648\u0634\u0647
64.LaTeXOptions.SpecialContentLabel.HelpText=
65.LaTeXOptions.SpecialContentLabel.Label=Special content
66.LaTeXOptions.NotesLabel.HelpText=
67.LaTeXOptions.NotesLabel.Label=\u0635\u0627\u062f\u0631\u06a9\u0631\u062f\u0646 \u06cc\u0627\u062f\u0627\u0634\u062a
68.LaTeXOptions.Notes.HelpText=
128.Notes.StringItemList=\u0635\u0627\u062f\u0631 \u0646\u06a9\u0646
129.Notes.StringItemList=\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062a\u0648\u0636\u06cc\u062d
130.Notes.StringItemList=\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062a\u0648\u0636\u06cc\u062d \u062a\u0631\u06a9\u06cc\u0628 \u0634\u062f\u0647
131.Notes.StringItemList=\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0639\u0644\u0627\u0645\u200c\u0647\u0627 \u062f\u0631 PDF
73.LaTeXOptions.Metadata.HelpText=
74.LaTeXOptions.Metadata.Label=\u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646 \u062a\u0646\u0638\u06cc\u0645 \u0647\u0627\u06cc \u0645\u0633\u062a\u0646\u062f
75.LaTeXOptions.FiguresAndTablesLabel.HelpText=
76.LaTeXOptions.FiguresAndTablesLabel.Label=\u0634\u06a9\u0644\u0647\u0627 \u0648 \u062c\u062f\u0648\u0644\u0647\u0627
77.LaTeXOptions.OriginalImageSize.HelpText=
78.LaTeXOptions.OriginalImageSize.Label=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0646\u062f\u0627\u0632\u0647 \u0627\u0635\u0644\u06cc \u0634\u06a9\u0644
79.LaTeXOptions.OptimizeSimpleTables.HelpText=
80.LaTeXOptions.OptimizeSimpleTables.Label=\u0628\u0647\u06cc\u0646\u0647 \u06a9\u0631\u062f\u0646 \u062c\u062f\u0648\u0644\u0647\u0627\u06cc \u0633\u0627\u062f\u0647
81.LaTeXOptions.SimpleTableLimitLabel.HelpText=
82.LaTeXOptions.SimpleTableLimitLabel.Label=\u0628\u0632\u0631\u06af \u06a9\u0631\u062f\u0646 \u0639\u0631\u0636 \u0628\u0631\u0627\u06cc \u0648\u0627\u0698\u06a9
83.LaTeXOptions.SimpleTableLimit.HelpText=
84.LaTeXOptions.FloatTables.HelpText=
85.LaTeXOptions.FloatTables.Label=\u062c\u062f\u0648\u0644\u0647\u0627\u06cc \u0634\u0646\u0627\u0648\u0631
86.LaTeXOptions.FloatFigures.HelpText=
87.LaTeXOptions.FloatFigures.Label=\u0634\u06a9\u0644\u0647\u0627\u06cc \u0634\u0646\u0627\u0648\u0631
88.LaTeXOptions.FloatOptionsLabel.HelpText=
89.LaTeXOptions.FloatOptionsLabel.Label=\u0645\u06a9\u0627\u0646\u0647\u0627 \u0634\u0646\u0627\u0648\u0631
90.LaTeXOptions.FloatOptions.HelpText=
132.FloatOptions.StringItemList=\u0628\u0627\u0644\u0627 \u0648 \u06cc\u0627 \u067e\u0627\u06cc\u06cc\u0646 \u0628\u0631\u06af\u0647
133.FloatOptions.StringItemList=\u0628\u0627\u0644\u0627\u06cc \u0628\u0631\u06af\u0647
134.FloatOptions.StringItemList=\u067e\u0627\u06cc\u06cc\u0646 \u0628\u0631\u06af\u0647
135.FloatOptions.StringItemList=\u0627\u06cc\u0646\u062c\u0627 \u06cc\u0627 \u0628\u0627\u0644\u0627\u06cc \u0628\u0631\u06af\u0647
136.FloatOptions.StringItemList=\u0627\u06cc\u0646\u062c\u0627 \u06cc\u0627 \u067e\u0627\u06cc\u06cc\u0646 \u0628\u0631\u06af\u0647
96.LaTeXOptions.AutoCorrectLabel.HelpText=
97.LaTeXOptions.AutoCorrectLabel.Label=\u0627\u0635\u0644\u0627\u062d \u062e\u0648\u062f\u06a9\u0627\u0631
98.LaTeXOptions.IgnoreHardPageBreaks.HelpText=
99.LaTeXOptions.IgnoreHardPageBreaks.Label=Ignore hard page breaks
100.LaTeXOptions.IgnoreHardLineBreaks.HelpText=
101.LaTeXOptions.IgnoreHardLineBreaks.Label=Ignore hard line breaks
102.LaTeXOptions.IgnoreEmptyParagraphs.HelpText=
103.LaTeXOptions.IgnoreEmptyParagraphs.Label=\u0635\u0631\u0641 \u0646\u0638\u0631 \u0627\u0632 \u067e\u0627\u0631\u0627\u06af\u0631\u0627\u0641\u0647\u0627\u06cc \u062e\u0627\u0644\u06cc
104.LaTeXOptions.IgnoreDoubleSpaces.HelpText=
105.LaTeXOptions.IgnoreDoubleSpaces.Label=\u0635\u0631\u0641 \u0646\u0638\u0631 \u0627\u0632 \u0641\u0636\u0627\u06cc \u062e\u0627\u0644\u06cc \u0645\u062a\u0648\u0627\u0644\u06cc
106.LaTeXOptions.ExportButton.HelpText=
107.LaTeXOptions.ExportButton.Label=\u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646
108.LaTeXOptions.CancelButton.HelpText=
109.LaTeXOptions.CancelButton.Label=\u0627\u0646\u0635\u0631\u0627\u0641

View file

@ -0,0 +1 @@
Writer2LaTeX ابزارهای مورد نیاز باری صادر کردن مستندها بر اساس قالب لیتک را فراهم کرده است

View file

@ -5,7 +5,7 @@
<identifier value="org.openoffice.da.writer2latex.oxt"/>
<version value="1.1.7" />
<version value="1.1.8" />
<dependencies>
<OpenOffice.org-minimal-version value="3.0" d:name="OpenOffice.org 3.0"/>
@ -32,6 +32,7 @@
<name lang="ru">Фильтры экспорта Writer2LaTeX</name>
<name lang="uk">Фільтри експорту Writer2LaTeX</name>
<name lang="tr">Writer2LaTeX ihraç etme filitreleri</name>
<name lang="fa">قربالگر صادر کردن Writer2LaTeX</name>
</display-name>
<icon>

View file

@ -0,0 +1,131 @@
# Strings for Dialog Library W2XDialogs=Persian
0.XhtmlOptions.HelpText=\u062a\u0646\u0638\u06cc\u0645\u0627\u062a XHTML
1.XhtmlOptions.Title=
2.XhtmlOptions.StyleLabel.HelpText=
3.XhtmlOptions.StyleLabel.Label=\u0642\u0627\u0644\u0628
4.XhtmlOptions.ConfigLabel.HelpText=
5.XhtmlOptions.ConfigLabel.Label=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0642\u0627\u0644\u0628
6.XhtmlOptions.Config.HelpText=
17.XhtmlOptions.ScalingLabel.HelpText=
18.XhtmlOptions.ScalingLabel.Label=Scaling
19.XhtmlOptions.Scaling.HelpText=
20.XhtmlOptions.ScalingPercentLabel.HelpText=
21.XhtmlOptions.ScalingPercentLabel.Label=%
22.XhtmlOptions.ColumnScalingLabel.HelpText=
23.XhtmlOptions.ColumnScalingLabel.Label=Column scaling
24.XhtmlOptions.ColumnScaling.HelpText=
25.XhtmlOptions.ColumnScalingPercentLabel.HelpText=
26.XhtmlOptions.ColumnScalingPercentLabel.Label=%
27.XhtmlOptions.ConvertToPx.HelpText=
28.XhtmlOptions.ConvertToPx.Label=Convert units to px (pixels)
29.XhtmlOptions.OriginalImageSize.HelpText=
30.XhtmlOptions.OriginalImageSize.Label=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0646\u062f\u0627\u0632\u0647 \u0627\u0635\u0644\u06cc \u0634\u06a9\u0644
31.XhtmlOptions.SpecialContentLabel.HelpText=
32.XhtmlOptions.SpecialContentLabel.Label=Special content
33.XhtmlOptions.Notes.HelpText=
34.XhtmlOptions.Notes.Label=\u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646 \u06cc\u0627\u062f\u0627\u0634\u062a\u200c\u0647\u0627
35.XhtmlOptions.UseDublinCore.HelpText=
36.XhtmlOptions.UseDublinCore.Label=Export document properties (Dublin Core Metadata)
37.XhtmlOptions.AutoCorrectLabel.HelpText=
38.XhtmlOptions.AutoCorrectLabel.Label=\u062a\u0635\u062d\u06cc\u062d \u062e\u0648\u062f\u06a9\u0627\u0631
39.XhtmlOptions.IgnoreHardLineBreaks.HelpText=
40.XhtmlOptions.IgnoreHardLineBreaks.Label=Ignore hard line breaks
41.XhtmlOptions.IgnoreEmptyParagraphs.HelpText=
42.XhtmlOptions.IgnoreEmptyParagraphs.Label=\u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u067e\u0627\u0631\u0627\u06af\u0631\u0627\u0641\u0647\u0627\u06cc \u062e\u0627\u0644\u06cc
43.XhtmlOptions.IgnoreDoubleSpaces.HelpText=
44.XhtmlOptions.IgnoreDoubleSpaces.Label=\u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u0641\u0627\u0635\u0644\u0647\u200c\u0647\u0627\u06cc \u0645\u062a\u0648\u0627\u0644\u06cc
45.XhtmlOptions.FilesLabel.HelpText=
46.XhtmlOptions.FilesLabel.Label=\u067e\u0631\u0648\u0646\u062f\u0647
47.XhtmlOptions.Split.HelpText=
48.XhtmlOptions.Split.Label=\u062a\u0642\u0633\u06cc\u0645 \u0645\u0633\u062a\u0646\u062f \u0628\u0631 \u0627\u0633\u0627\u0633 \u0633\u0631\u0627\u06cc\u0646\u062f
49.XhtmlOptions.SplitLevelLabel.HelpText=
50.XhtmlOptions.SplitLevelLabel.Label=\u0645\u0631\u062a\u0628\u0647 \u0633\u0631\u0627\u06cc\u0646\u062f
51.XhtmlOptions.SplitLevel.HelpText=
52.SplitLevel.StringItemList=1
53.SplitLevel.StringItemList=2
54.SplitLevel.StringItemList=3
55.SplitLevel.StringItemList=4
56.SplitLevel.StringItemList=5
57.SplitLevel.StringItemList=6
58.XhtmlOptions.RepeatLevelsLabel.HelpText=
59.XhtmlOptions.RepeatLevelsLabel.Label=\u062a\u06a9\u0631\u0627\u0631 \u0645\u0631\u062a\u0628\u0647 \u0633\u0631\u0627\u06cc\u0646\u062f
60.XhtmlOptions.RepeatLevels.HelpText=
61.RepeatLevels.StringItemList=0
62.RepeatLevels.StringItemList=1
63.RepeatLevels.StringItemList=2
64.RepeatLevels.StringItemList=3
65.RepeatLevels.StringItemList=4
66.RepeatLevels.StringItemList=5
67.XhtmlOptions.SaveImagesInSubdir.HelpText=
68.XhtmlOptions.SaveImagesInSubdir.Label=\u0630\u062e\u06cc\u0631\u0647 \u0634\u06a9\u0644\u0647\u0627 \u062f\u0631 \u06cc\u06a9 \u0632\u06cc\u0631\u067e\u0648\u0634\u0647
69.XhtmlOptions.XsltPathLabel.HelpText=
70.XhtmlOptions.XsltPathLabel.Label=\u0645\u0633\u06cc\u0631 XSLT
71.XhtmlOptions.XsltPath.HelpText=
72.XhtmlOptions.XsltPath.Text=
73.XhtmlOptions.ExportButton.HelpText=
74.XhtmlOptions.ExportButton.Label=\u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646
75.XhtmlOptions.CancelButton.HelpText=
76.XhtmlOptions.CancelButton.Label=\u0627\u0646\u0635\u0631\u0627\u0641
77.XhtmlOptionsCalc.HelpText=
78.XhtmlOptionsCalc.Title=\u062a\u0646\u0638\u06cc\u0645\u0627\u062a XHTML
79.XhtmlOptionsCalc.StyleLabel.HelpText=
80.XhtmlOptionsCalc.StyleLabel.Label=\u0642\u0627\u0644\u0628
81.XhtmlOptionsCalc.ConfigLabel.HelpText=
82.XhtmlOptionsCalc.ConfigLabel.Label=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0642\u0627\u0644\u0628
83.XhtmlOptionsCalc.Config.HelpText=
86.XhtmlOptionsCalc.ScalingLabel.HelpText=
87.XhtmlOptionsCalc.ScalingLabel.Label=\u06a9\u0634\u06cc\u062f\u06af\u06cc
88.XhtmlOptionsCalc.Scaling.HelpText=
89.XhtmlOptionsCalc.ScalingPercentLabel.HelpText=
90.XhtmlOptionsCalc.ScalingPercentLabel.Label=\u066a
91.XhtmlOptionsCalc.ColumnScalingLabel.HelpText=
92.XhtmlOptionsCalc.ColumnScalingLabel.Label=\u06a9\u0634\u06cc\u062f\u06af\u06cc \u0633\u062a\u0648\u0646
93.XhtmlOptionsCalc.ColumnScaling.HelpText=
94.XhtmlOptionsCalc.ColumnScalingPercentLabel.HelpText=
95.XhtmlOptionsCalc.ColumnScalingPercentLabel.Label=%
96.XhtmlOptionsCalc.ConvertToPx.HelpText=
97.XhtmlOptionsCalc.ConvertToPx.Label=\u062a\u0628\u062f\u06cc\u0644 \u0648\u0627\u062d\u062f \u0628\u0647 \u067e\u06cc\u06a9\u0633\u0644
98.XhtmlOptionsCalc.OriginalImageSize.HelpText=
99.XhtmlOptionsCalc.OriginalImageSize.Label=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0646\u062f\u0627\u0632\u0647 \u0627\u0635\u0644\u06cc \u0634\u06a9\u0644
100.XhtmlOptionsCalc.SpecialContentLabel.HelpText=
101.XhtmlOptionsCalc.SpecialContentLabel.Label=Special content
102.XhtmlOptionsCalc.Notes.HelpText=
103.XhtmlOptionsCalc.Notes.Label=\u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646 \u06cc\u0627\u062f\u0627\u0634\u062a\u200c\u0647\u0627
104.XhtmlOptionsCalc.UseDublinCore.HelpText=
105.XhtmlOptionsCalc.UseDublinCore.Label=\u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0645\u0633\u062a\u0646\u062f
106.XhtmlOptionsCalc.SheetsLabel.HelpText=
107.XhtmlOptionsCalc.SheetsLabel.Label=Sheets
108.XhtmlOptionsCalc.DisplayHiddenSheets.HelpText=
109.XhtmlOptionsCalc.DisplayHiddenSheets.Label=Display hidden sheets
110.XhtmlOptionsCalc.DisplayHiddenRowsCols.HelpText=
111.XhtmlOptionsCalc.DisplayHiddenRowsCols.Label=\u0646\u0645\u0627\u06cc\u0634 \u0633\u0637\u0631 \u0648 \u0633\u062a\u0648\u0646\u0647\u0627\u06cc \u0645\u062e\u0641\u06cc
112.XhtmlOptionsCalc.DisplayFilteredRowsCols.HelpText=
113.XhtmlOptionsCalc.DisplayFilteredRowsCols.Label=\u0646\u0645\u0627\u06cc\u0634 \u067e\u0627\u0644\u0627\u06cc\u0647\u200c\u0647\u0627\u06cc \u0633\u0637\u0631 \u0648 \u0633\u062a\u0648\u0646
114.XhtmlOptionsCalc.ApplyPrintRanges.HelpText=
115.XhtmlOptionsCalc.ApplyPrintRanges.Label=\u0627\u0639\u0645\u0627\u0644 \u0645\u062d\u062f\u0648\u062f\u0647 \u0686\u0627\u067e
116.XhtmlOptionsCalc.UseTitleAsHeading.HelpText=
117.XhtmlOptionsCalc.UseTitleAsHeading.Label=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0639\u0646\u0648\u0627\u0646 \u0628\u0631\u0627\u06cc \u0633\u0631\u0627\u06cc\u0646\u062f
118.XhtmlOptionsCalc.UseSheetNamesAsHeadings.HelpText=
119.XhtmlOptionsCalc.UseSheetNamesAsHeadings.Label=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u0627\u0645 \u0628\u0631\u0627\u06cc \u0633\u0631\u0627\u06cc\u0646\u062f
120.XhtmlOptionsCalc.FilesLabel.HelpText=
121.XhtmlOptionsCalc.FilesLabel.Label=\u067e\u0631\u0648\u0646\u062f\u0647\u200c\u0647\u0627
122.XhtmlOptionsCalc.CalcSplit.HelpText=
123.XhtmlOptionsCalc.CalcSplit.Label=Save sheets in separate files
124.XhtmlOptionsCalc.SaveImagesInSubdir.HelpText=
125.XhtmlOptionsCalc.SaveImagesInSubdir.Label=\u0630\u062e\u06cc\u0631\u0647 \u0634\u06a9\u0644\u0647\u0627 \u062f\u0631 \u06cc\u06a9 \u0632\u06cc\u0631\u067e\u0648\u0634\u0647
126.XhtmlOptionsCalc.ExportButton.HelpText=
127.XhtmlOptionsCalc.ExportButton.Label=\u0635\u0627\u062f\u0631\u06a9\u0631\u062f\u0646
128.XhtmlOptionsCalc.CancelButton.HelpText=
129.XhtmlOptionsCalc.CancelButton.Label=\u0627\u0646\u0635\u0631\u0627\u0641
130.Config.StringItemList=\u0642\u0627\u0644\u0628 \u0628\u0646\u062f\u06cc \u0627\u0635\u0644\u06cc
131.Config.StringItemList=Chocolate
132.Config.StringItemList=Midnight
133.Config.StringItemList=Modernist
134.Config.StringItemList=Oldstyle
135.Config.StringItemList=Steely
136.Config.StringItemList=Swiss
137.Config.StringItemList=Traditional
138.Config.StringItemList=Ultramarine
139.Config.StringItemList=\u062f\u0644\u062e\u0648\u0627\u0647
140.Config.StringItemList=\u0642\u0627\u0644\u0628 \u0628\u0646\u062f\u06cc \u0627\u0635\u0644\u06cc
141.Config.StringItemList=\u062f\u0644\u062e\u0648\u0627\u0647

View file

@ -0,0 +1 @@
Writer2xhtml provides Writer and Calc export filters for XHTML and XHTML+MathML

View file

@ -5,7 +5,7 @@
<identifier value="org.openoffice.da.writer2xhtml.oxt" />
<version value="1.1.7" />
<version value="1.1.8" />
<dependencies>
<OpenOffice.org-minimal-version value="3.0" d:name="OpenOffice.org 3.0"/>
@ -32,6 +32,7 @@
<name lang="ru">Фильтры экспорта Writer2xhtml</name>
<name lang="uk">Фільтри експорту Writer2xhtml</name>
<name lang="tr">Writer2LaTeX ihraç etme filitreleri</name>
<name lang="fa">Writer2xhtml export filters</name>
</display-name>
<icon>

View file

@ -4,7 +4,7 @@
xmlns:xlink="http://www.w3.org/1999/xlink">
<identifier value="org.openoffice.da.writer4latex.oxt" />
<version value="1.1.7" />
<version value="1.1.8" />
<dependencies>
<OpenOffice.org-minimal-version value="3.0" d:name="OpenOffice.org 3.0"/>
</dependencies>

View file

@ -2,5 +2,5 @@
<description xmlns="http://openoffice.org/extensions/description/2006"
xmlns:d="http://openoffice.org/extensions/description/2006">
<identifier value="org.openoffice.da.writer2latex.xhtml-config-sample.oxt" />
<version value="1.1.7" />
<version value="1.1.8" />
</description>

View file

@ -1,4 +1,4 @@
Writer2LaTeX source version 1.1.7
Writer2LaTeX source version 1.1.8
=================================
Writer2LaTeX is (c) 2002-2011 by Henrik Just.
@ -95,7 +95,7 @@ In addition to oxt, the build file supports the following targets:
clean
Henrik Just, April 2011
Henrik Just, May 2011
Thanks to Michael Niedermair for writing the original ant build file