VeryFire

Development Roadmap

vaytt
vf4ta
ruleMngr

Objectives / challenges

  • Faster
    • Multi-thread:
      • node.js?
      • ajax calls?
      • reactphp?
  • Offline?

AVOID TECHNICAL DEBT!
(thank you for your patience)

Ceci n'est pas une
sauce de tomate

APIs change the way we build applications

QA functions reworked

Unique rule-based function

  • if srcExpr found in srcSeg
    • if tgtExpr (!) found in srcSeg
      • new error
  • Already existing options:
    • Same mumber (bool)
    • Regex or Wildcard or Literal
    • Full segment (bool)
  • Become options:
    • Disallowed: (!)
    • BackRef: () -> \1
    • ForRef: \1 <- ()
    • Back/For: dir = s2t/t2s, or f/b

Profiles

  • To store and reuse preferences/settings
  • Central maintenance by manager
  • Different scopes:
    • Default (all)
    • Language preferences
    • Container preferences
    • User preferences

Database

  • Profiles
  • Rules (previously as CSV, now as SQL)
  • Checks
    • language/container-specific (rule)
    • generic (no rule)
  • Reports
    • errors
  • Errors
    • rule_id, seg_id, edit_id
  • Logs (stats)

Input types

  • Existing (file or zip batch):
    • XLIFF
    • Excel (2 columns)
    • TMX
  • New:
    • OMT packages
      • Analyses target XLIFF files
      • Analyses project_save.tmx
    • RFF: Run Omt to create target files
      • if latest date in project_save > latest date in target files

Redefinition of some checks

Untranslated vs. Empty

  • in bilingual files
    • empty: tgt = 0
    • unaltered (xlat identical to src): src = tgt
  • in OMT packages
    • empty: ><
    • unaltered: src = tgt
    • untranslated: src = tgt + !E seg in proj_save

New check: Fuzzy (VF4TA)

  • Find similar in
    • File
    • Batch
    • Container
    • Global (all ML)

New check: Consistency+

  • Find inconsistent translations in
    • the file
    • the batch/project
    • the container
    • globally

RFF: Edit translation

  • Editable target version
  • Saved in the report
  • Merged back in file

 

  • Run on:
    • input files in Vaytt
    • TMX files in MemoryLn
      • btn on the right for each row

ruleMngr

  • CRUD approach, ruleset database
  • Keep track of modifications to a rule, see history
    • modified by upload
    • modified by editing
  • New value: version -> allows to compare with previous version
    • table.edits
  • Bullet Two
  • Bullet Three

ruleMngr

 

get latest version from rules table +
user who last updated the rule +

history of the rule (row per version w/ user) +

list of checks where it was applied

User feedback onboarded

Client sends request with files and prefs

Server analyses batch and returns report

Client sends back feedback on the report

1

2

3

Frontend rendering (1)

  • User feedback (votes)
    • used to fine-tune results:
      • Error (OK)
      • Ignore (FP)
        Never again
    • saved at the end
      • button Save
      • on closing tab
      • inactivity

Frontend rendering (2)

  • Display of results staggered by scope:
    • Segment
    • Batch/project
    • Container
    • Global (all ML)
  • New column in QA report: Scope
  •  

API

  • Requests from another server
  • Bullet Two
  • Bullet Three

R&D

  • Exploit language assets (ML = corpora)
    • Train MT engines
    • Extract language information
  • Exploit statistics
    • Who did what when?
    • What checks are more/less useful?
    • What checks produce more/less false positives?