Test Plan
NOTE: Here is how it should work for both Phrases & E-mail Templates, but I'll explain using Phrases.
NOTE: Pick any phrase for tests and use it only.
Some common logic that is used:
* the `Translation in Sync` and `Translate From Language` fields are never shown for primary language
* the `Source ...` fields always show value from translation source language (if non set will fallback to primary)
* each phrase have it's own translation state
* saving phrase (even without translation change) would make it in any automatically
* saving as primary would force other translation of same phrase to look back into that language for original translation (during editing only, no effect when phrases are used on other pages)
## Part 1
# create 2 more languages to result in 3 languages total
# show (via column picker) the `Translation in Sync` and `Translate From Language` columns in grid
# confirm, that for picked phrase:
* `Translation in Sync` says `Yes`
* `Translate From Language` is empty
## Part 2
# select primary language in dropdown above the grid
# open picked phrase for editing
# confirm, that same language is auto-selected in editing form language dropdown
# confirm, that `Translation in Sync` field isn't shown
# confirm, that `Source ...` fields (see next part) are not shown
# change translation
# press `Save`
# confirm, that for that phrase record:
* `Translation in Sync` says `Yes`
* `Translate From Language` is empty
## Part 3
# select non-primary language in dropdown above the grid
# open picked phrase for editing
# confirm, that same language is auto-selected in editing form language dropdown
# confirm, that `Translation in Sync` field is shown and has `Yes` value
# confirm, that below each translatable input/textarea there is another field added:
* looks like label (might have grey background and black border for e-mail templates)
* has title in this format: "Source {FieldTitle} (from {LanguageTitle}):"
* `{FieldTitle}` is title of above shown field
* `{LanguageTitle}` is primary language name
# change translation
# press `Save`
# confirm, that for that phrase record:
* `Translation in Sync` says `Yes`
* `Translate From Language` is empty
## Part 4
# select primary language in dropdown above the grid
# open picked phrase for editing
# confirm, that same language is auto-selected in editing form language dropdown
# confirm, that `Translation in Sync` field isn't shown
# confirm, that `Source ...` fields are not shown
# change translation
# press `Use as Primary`
# confirm, that for that phrase record:
* `Translation in Sync` says `Yes`
* `Translate From Langauge` is empty
# for each non-primary language: select language in dropdown above the grid
# confirm, that for that phrase record:
* `Translation in Sync` says `No`
* `Translate From Langauge` says `LanguageTitle` (the `LanguageTitle` is name of primary language)
## Part 5
# select non-primary language in dropdown above the grid
# open picked phrase for editing
# confirm, that same language is auto-selected in editing form language dropdown
# confirm, that `Translation in Sync` shows and has `No` value
# confirm, that below each translatable input/textarea there is another field added:
* looks like label (might have grey background and black border for e-mail templates)
* has title in this format: "Source {FieldTitle} (from {LanguageTitle}):"
* `{FieldTitle}` is title of above shown field
* `{LanguageTitle}` is primary language name
# change translation
# press `Save`
# confirm, that for that phrase record on that non-primary language:
* `Translation in Sync` says `Yes`
* `Translate From Langauge` is empty
# select other non-prmary language in dropdown above the grid
# confirm, that for that phrase record and other non-primary language:
* `Translation in Sync` says `No`
* `Translate From Langauge` says `LanguageTitle` (the `LanguageTitle` is name of primary language)
## Part 6
# repeat `Part 4` and `Part 5`, but this time press `Use as Primary` during phrase editing on non-primary language
# confirm, that in places where `LangaugeTitle` was used that language (for which `Use as Primary` was used):
* is shown instead of primary language in "Source ..." field titles
* used to get original translation in "Source ..." field values
* shown as "Translate From Language" column/field value