Skip to content

Fix/translation uploader issue 36#51

Merged
dave-mills merged 8 commits into
devfrom
fix/translation-uploader-issue-36
Jul 19, 2026
Merged

Fix/translation uploader issue 36#51
dave-mills merged 8 commits into
devfrom
fix/translation-uploader-issue-36

Conversation

@dave-mills

Copy link
Copy Markdown
Member

Fixes #36:

  • importer no longer hard-codes column G as the "new" language;
  • Template exports now only show the team's selected languages, and skips "default" locales that are in the template but not selected by the team.
  • teams no longer see other team's translations/locales by default; this might be updated in the future if we want to explicitly enable locale sharing, but for now this was the easier approach to avoid teams seeing other team's messy drafts.

…ard-coded column G

The importer assumed exactly one template language and always read
column G, so templates with several default languages imported the
wrong language's text (issue #36). The target column is now resolved
from the header row via TranslationUploadInspector, and import
validation now checks every row per chunk against the template's own
survey rows and choice entries instead of the first row only.
…es and protect identifier columns

Bumps the filament-odk-link submodule to the matching export fix and
adds the export test coverage (owner-filtered reference columns,
verified-empty template, sheet protection).
…and validate uploads before import

Both download actions shared one Filament action name and both passed
withExistingStrings: true, so the empty-template button returned the
existing translations. Uploads are now validated against the template
before the import is queued (headers, target column, entry ids), and
submit() only processes the team's own templates. Also hardens the
file-upload label against non-array state.
…slations table

Locales created by any team were visible to every team that selected
the language. Cross-team sharing is intentionally disabled until a
structured sharing/review flow exists. Also removes the dead
validateFileUpload method, an unused mount parameter, and a stray
newline in a view name.
…ot column typo

The component was not embedded anywhere, hardcoded first/last form
selection, and always produced empty exports under a household-survey
filename. The Locale::owners() pivot referenced 'langauge_id', so the
pivot attribute was always null.
Also switches two test assertions to block closures to avoid a Pest
Expectation covariance false-positive under phpstan.
@dave-mills
dave-mills merged commit beb7719 into dev Jul 19, 2026
1 check passed
@dave-mills
dave-mills deleted the fix/translation-uploader-issue-36 branch July 19, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Translation uploader expects a single existing language.

1 participant