private void addRawDocumentsIntoPipeline(LocaleId locale) { String.format("adding RawDocuments (locale: [%s]) to pipeline", locale); for (L10nFile f : project.getFiles()) { RawDocument rd = null; if (!project.createTM) { rd = new RawDocument(f.getURI(), f.getEncoding(), project.sourceLocale, locale); } else { rd = new RawDocument(f.getURI(locale), f.getEncoding(locale), locale, locale); } rd.setFilterConfigId(f.getFilterConfigurationId()); URI targetUri; if (!project.createTM) targetUri = new File(f.getLocalXliffPath(locale)).toURI(); else { targetUri = new File(f.getLocalXliffPath_SourceWithLocaleCodeBeforeXliffExtension(locale)).toURI(); } driver.addBatchItem(rd, targetUri, f.getEncoding(locale)); projetLogger.debug( String.format( "[%s] added to the pipeline driver (target uri: [%s])", f.getURI(), targetUri.toString())); } }
public void extractTranslatedFilesFromXliffs() { IPipelineDriver driverX = new PipelineDriver(); driverX.setFilterConfigurationMapper(fcMapper); // L10nFile file = files.get(0); // LocaleId locale = LocaleId.FRENCH; for (L10nFile file : project.getFiles()) { for (LocaleId locale : project.getTargetLocales()) { // represents source document (e.g. file.resx) RawDocument originalDoc = new RawDocument( new File(file.getLocalPath()).toURI(), file.getEncoding(), project.sourceLocale, locale); originalDoc.setFilterConfigId(file.getFilterConfigurationId()); // reprosents translated xliff file RawDocument xliffDoc = new RawDocument( new File(file.getLocalXliffPath_SourceWithLocaleCodeBeforeXliffExtension(locale)) .toURI(), "UTF-8", project.sourceLocale, locale); BatchItemContext bic = new BatchItemContext( xliffDoc, Util.toURI(file.getLocalPath(locale)), file.getEncoding(locale), originalDoc); driverX.addBatchItem(bic); } } driverX.addStep(new OriginalDocumentXliffMergerStep()); driverX.addStep(new RawDocumentWriterStep()); project.getEventCannon().fireEvent(CtsAppEventType.ExtractingFromXliffStarted); driverX.processBatch(); project.getEventCannon().fireEvent(CtsAppEventType.ExtractingFromXliffFinished); driverX.destroy(); }