-
Notifications
You must be signed in to change notification settings - Fork 288
Monolingual formats
phlax edited this page Aug 9, 2016
·
4 revisions
- retain existing behaviour for bilingual projects
- any useful features may be ported across once stable
- templates are absolutely authoritative
- a store cannot exist in a lang tp if not in corresponding template tp
- a unit cannot existing in lang stores if not in corresponding template store
- all stores/units in template tp are present in all lang tps
- 2 possible approaches
- Stores/Units are only created in db when the lang unit has a target (or other data)
- lets call it "shadowed tps"
- Stores/Units are created/updated/deleted in every lang tp on template change
- "mirrored tps"
- Stores/Units are only created in db when the lang unit has a target (or other data)
- far better design
- more efficient
- less units
- less change
- requires more work most of the way through stack
- de/serialization
- unit retrieval (ie get_units)
- diffing/Store.update
- way less efficient
- requires far less work to implement
- could be converted to shadowed approach once stable
- when templates are significant there are some advantages to retaining a copy of the template at a particular sync/revision
- in the mlo case there is a desire to preserve formatting (present in the template) in the target lang files, so having a stored copy of template will make it easier to do so
- initial focus is on getting pootle_fs to (be able to) do things in the right order and delegating to correct authority
- not clear what (if any) changes to project_tree codepath would be required to make it work - may be just a matter of documentation
- disable monolingual formats for non-pootle_fs ?
- still need to resolve relationship between named
templates
tp and linkedsource_language
for a given project