@Override public Segment getCorrespondingTarget(Segment srcSeg, LocaleId trgLoc) { ISegments trgSegs = parent.getTargetSegments(trgLoc); return trgSegs.get(srcSeg.id); }
textCont.getSegments().create(segmenter.getRanges()); if ( htmlOutput ) { for ( Segment seg : textCont.getSegments() ) {
private void doJoinWithNext(TextContainer cont, String segId) { int segIndex; ISegments segs = cont.getSegments(); segIndex = segs.getIndex(segId); if (segIndex != -1) segs.joinWithNext(segIndex); }
private String doInsert(TextContainer container, int index, String originalId, String insertedId, Segment seg) { ISegments segs = container.getSegments(); Segment currentSeg; // handle source for target locale if (originalId == null) { // must be the first source segs.insert(index, seg); return seg.id; // return validated Id } // handle insertion for any other container currentSeg = segs.get(originalId); if (currentSeg != null) { segs.insert(segs.getIndex(originalId), seg); if (insertedId != null) seg.id = insertedId; return seg.id; } // append if unable to insert segs.append(seg); return insertedId; // return the most up-to-date insertedId }
private int removeSegment(TextContainer container, String segId) { ISegments segs = container.getSegments(); int segIndex = segs.getIndex(segId); if (segIndex > -1) { container.remove(segs.getPartIndex(segIndex)); return 1; } return 0; }
srcRanges = mergeFromSkel.getSegments().getRanges(); mergeFromSkel.joinAll(); trgRanges = targetFromTran.getSegments().getRanges(); targetFromTran.joinAll(); } else { mergeFromSkel.getSegments().create(srcRanges, true); targetFromTran.getSegments().create(trgRanges, true); if (mergeFromSkel.getSegments().count() < targetFromTran.getSegments().count()) { LOGGER.error("Item id='{}': There is at least one extra segment in the translation file.", tuFromTran.getId()); Segment tseg = targetFromTran.getSegments().get(seg.id); if ( tseg == null ) { continue;
@Override public Segment splitSource(LocaleId trgLoc, Segment srcSeg, int splitPos) { TextContainer theSource = getSource(trgLoc); ISegments srcSegs = theSource.getSegments(); int segIndex = srcSegs.getIndex(srcSeg.id); if (segIndex == -1) return null; // segment id not found in the container int partIndex = srcSegs.getPartIndex(segIndex); // split the source theSource.split(partIndex, splitPos, splitPos, false); Segment newSeg = srcSegs.get(segIndex + 1); ISegments currentSegs; Segment currentSeg; ContainerIterator ci = new ContainerIterator(trgLoc); // inserting new segments in all the places they go if (ci.hasTarget()) { currentSegs = ci.getTarget().getSegments(); currentSeg = currentSegs.get(srcSeg.id); if (currentSeg != null) currentSegs.insert(currentSegs.getIndex(srcSeg.id) + 1, new Segment(srcSeg.id, new TextFragment(""))); } return newSeg; }
!trgCont.hasBeenSegmented() ) { trgSeg.computeSegments(trgCont); trgCont.getSegments().create(trgSeg.getRanges()); if ( trgCont.getSegments().count() != tu.getSource().getSegments().count() ) { ISegments trgSegs = trgCont.getSegments(); for ( Segment seg : tu.getSource().getSegments() ) { if ( trgSegs.get(seg.id) == null ) {
if ( tu.hasTarget(manifest.getTargetLocale()) ) { trgTc = tu.getTarget(manifest.getTargetLocale()); if ( trgTc.getSegments().count() != srcTc.getSegments().count() ) { Segment trgSeg = trgSegs.get(srcSeg.getId()); int trgSegIndex = trgSegs.getIndex(srcSeg.getId()); if ( srcSegIndex != trgSegIndex ) { int trgPartIndex = trgSegs.getPartIndex(trgSegIndex); xSeg.setTargetOrder(trgPartIndex+1); Segment trgSeg = trgSegs.get(srcSeg.getId()); if ( trgSeg != null ) {
@Override public void setSegment(int index, Segment seg, LocaleId trgLoc) { ISegments segs = getSource(trgLoc).getSegments(); String oldId = segs.get(index).id; String newId = seg.id; boolean idChanged = !newId.equals(oldId); int theIndex = index; Segment tempSeg; ContainerIterator ci = new ContainerIterator(trgLoc); if (ci.hasSource()) ci.getSource().getSegments().set(theIndex, seg.clone()); if (ci.hasTarget()) { segs = ci.getTarget().getSegments(); segs.set(segs.getIndex(oldId), seg.clone()); } // update the ids if (idChanged) { ci = new ContainerIterator(trgLoc); if (ci.hasSource()) { tempSeg = ci.getSource().getSegments().get(oldId); if (tempSeg != null) tempSeg.id = newId; } if (ci.hasTarget()) { tempSeg = ci.getTarget().getSegments().get(oldId); if (tempSeg != null) tempSeg.id = newId; } } }
String segId = (String) marker[0]; Segment srcSeg = src.getSegments().get(segId); Segment trgSeg = trg == null ? null : trg.getSegments().get(segId); int segIndex = trg.getSegments().getIndex(segId); srcSeg = (Segment) src.get(segIndex); int segIndex = src.getSegments().getIndex(segId); trgSeg = (Segment) trg.get(segIndex);
srcRanges = srcOriCont.getSegments().getRanges(); srcRanges = srcTraCont.getSegments().getRanges(); srcRanges = srcOriCont.getSegments().getRanges(); trgRanges = trgTraCont.getSegments().getRanges(); trgTraCont.joinAll(); srcOriCont.getSegments().create(srcRanges, true); trgTraCont.getSegments().create(trgRanges, true); if ( srcOriCont.getSegments().count() < trgTraCont.getSegments().count() ) { logger.warn("Item id='{}': There is at least one extra segment in the translation file.\n" + "Extra segments are not merged into the translated output.", srcOriCont.getSegments().create(srcRanges, true); trgTraCont.getSegments().create(trgRanges, true);
private void updateButtons () { btSave.setEnabled(( rawDoc != null ) && ( TUCount > 0 )); if ( segmentMode ) { btPrevious.setEnabled(( current > 0 ) && (( curSeg > 0 ) || ( TUCount > 0 ))); btNext.setEnabled(( TUCount > 0 ) && (( curSeg < srcSegs.count()-1 ) || ( current < (TUCount-1) ))); } else { btPrevious.setEnabled(( current > 0 ) && ( TUCount > 0 )); btNext.setEnabled(( TUCount > 0 ) && ( current < (TUCount-1) )); } btFirst.setEnabled(btPrevious.getEnabled()); btLast.setEnabled(btNext.getEnabled()); }
if (mergeAsSegments) { trgRanges = new ArrayList<Range>(); srcRanges = tuFromTrans.getSourceSegments().getRanges();// .saveCurrentSourceSegmentation(); fromTrans.getSegments().joinAll(trgRanges); if (!tu.getSource().contentIsOneSegment()) { srcCont = tu.getSource().clone(); srcCont.getSegments().joinAll(); trgCont.getSegments().joinAll(); trgCont.getSegments().create(trgRanges); tu.getSource().getSegments().create(srcRanges);
getSegments().append((Segment)part, collapseIfPreviousEmpty); return;
for ( Range range : cont.getSegments().getRanges() ) { tmp2.append(range.toString());
@Override public Segment getTargetSegment(LocaleId trgLoc, String segId, boolean createIfNeeded) { Segment seg = createTarget(trgLoc, false, IResource.COPY_SEGMENTATION).getSegments().get(segId); if (( seg == null ) && createIfNeeded ) { // If the segment does not exists: create a new one if requested seg = new Segment(segId); getTarget(trgLoc).getSegments().append(seg); //TODO consider appending a segment to variant source if present } return seg; }