diff --git a/src/etc/testcases/taskdefs/optional/i18n/translate/input/template.txt b/src/etc/testcases/taskdefs/optional/i18n/translate/input/template.txt index 1f27a3e33..3dca142a5 100644 --- a/src/etc/testcases/taskdefs/optional/i18n/translate/input/template.txt +++ b/src/etc/testcases/taskdefs/optional/i18n/translate/input/template.txt @@ -1 +1 @@ -@This@ @is@ @a@ @demo@ @file@ @for@ @the@ translate@_task@. \ No newline at end of file +@This@ @is@ @a@ @demo@ @file@ @for@ @the@ translate@_task@. diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java b/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java index 680bd8e36..7ba1a084c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java @@ -67,6 +67,7 @@ import java.util.Vector; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Project; +import org.apache.tools.ant.filters.TokenFilter; import org.apache.tools.ant.taskdefs.MatchingTask; import org.apache.tools.ant.types.FileSet; import org.apache.tools.ant.util.FileUtils; @@ -517,7 +518,10 @@ public class Translate extends MatchingTask { BufferedReader in = new BufferedReader(new InputStreamReader(fis, srcEncoding)); String line; - while ((line = in.readLine()) != null) { + TokenFilter.LineTokenizer lineTokenizer = new TokenFilter.LineTokenizer(); + lineTokenizer.setIncludeDelims(true); + line = lineTokenizer.getToken(in); + while ((line) != null) { // 2003-02-21 new replace algorithm by tbee (tbee@tbee.org) // because it wasn't able to replace something like "@aaa;@bbb;" @@ -579,7 +583,7 @@ public class Translate extends MatchingTask { out.write(line); - out.newLine(); + line = lineTokenizer.getToken(in); } if (in != null) { in.close();