If you search for localization array QA, translation array length mismatch, or array order drift across locales, the problem is subtler than a simple type error. Source and target can both remain valid arrays while one locale silently loses an item, gains an extra item, changes order, duplicates an entry or shifts a translation to the wrong position.
A fast localization QA workflow therefore checks array cardinality, order and positional identity separately from value type. Resource Value-Type QA can confirm that both source and target are arrays; Array Cardinality & Order QA asks whether they still contain the right number of elements in the right sequence for the application.
This guide explains how people translate quickly by validating ordered localization arrays before release. It covers menu labels, onboarding steps, weekday names, option lists, ordered instructions, JSON arrays, YAML sequences, spreadsheet round trips, sorting, insertions, deletions, duplicate items, stable IDs, positional references, version diffs, CI and safe remediation.
The owner job is distinct from Missing Keys and Resource Value-Type QA. A locale can have every required key and the correct array type while the internal sequence is still structurally wrong. This page owns that inside-array alignment layer.
1. JSON Arrays Are Ordered Sequences
RFC 8259 defines an array as an ordered sequence of zero or more values. That means position can be semantically meaningful even when every element is valid.
Reordering array items can change application behavior without changing type or syntax. QA should treat sequence order as data. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
2. Cardinality Means How Many Elements Exist
Two arrays can share the same type while containing different numbers of entries. A source with five onboarding steps and a target with four is structurally incomplete.
A target with six may contain duplication or stale residue. Count elements before reviewing language. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
3. Array Length Mismatch Is Deterministic
When the source contract requires one-to-one positional correspondence, source and target lengths should match. This is cheap to automate.
Do not wait for UI testing to discover a missing menu item or extra step. Length parity is a strong first gate. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
4. Some Arrays Intentionally Differ by Locale
Markets can legitimately add, remove or reorder content for legal, cultural or product reasons. Those cases should be documented as explicit exceptions.
Do not force global parity when locale-specific product scope differs intentionally. Architecture should distinguish local overrides from accidental drift. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
5. Order Can Matter Even When Text Is Correct
A list of steps, months, days, menu positions or wizard screens can be perfectly translated and still wrong if reordered. Position can encode sequence, priority or mapping to non-text data.
Review order as part of the resource contract. Natural language quality cannot repair positional drift. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
6. Unordered Concepts Should Prefer Objects Over Arrays
If entries have stable identities and order is not meaningful, object keys or ID-bearing records are often safer than bare arrays. This reduces reliance on position for identity.
Localization QA can then compare stable IDs instead of indexes. Data modeling influences translation risk. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
7. Bare String Arrays Are Fragile
An array such as [“Low”,”Medium”,”High”] relies entirely on order to map labels to application values. If a translator or spreadsheet sorts alphabetically, semantic mapping breaks.
Use stable IDs where the product can. Positional-only resources deserve strong order checks. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
8. Parallel Arrays Are Especially Risky
Some systems keep one array of labels and another array of values or icons. Both arrays must remain aligned by index.
A single insertion in one locale can shift every later mapping. Parallel arrays should ideally be replaced with arrays of objects containing stable IDs. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
9. Array of Objects Is Safer When IDs Exist
An array like [{id:”low”,label:”Low”},…] retains order while also preserving identity. Translators can edit label without touching id.
QA can compare IDs and positions separately. Structure can protect language from positional mistakes. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
10. Array Order Can Be User-Facing
Navigation menus, carousel items, help topics and onboarding steps often display array order directly. A target locale may need a different visual order only when product design explicitly permits it.
Do not sort translated labels automatically. Alphabetical target-language order is not a safe default. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
11. Alphabetical Sorting Can Break Semantic Order
A spreadsheet reviewer may sort a target column for convenience and export the rows without restoring source order. All translations remain present but attach to the wrong positions if row identity is positional.
Use stable keys and validate row order. Convenient review actions can corrupt positional data. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
12. Locale-Specific Collation Is Not Array Semantics
Sorting strings according to locale collation can be correct for a user-generated list and wrong for a fixed application sequence. Do not infer that arrays should be re-sorted because labels changed language.
Order policy comes from the product model. Collation QA and array-order QA solve different questions. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
13. Insertion Can Shift Every Later Index
Adding one source element at index 2 changes the index of every following element. An older target array can still have plausible strings in each position while being semantically misaligned.
Version diffing should highlight insertions and index shifts. Positional resources require careful incremental updates. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
14. Deletion Can Shift Every Later Index
Removing one source element has the same downstream effect in reverse. A target that keeps the obsolete entry can map later labels to the wrong data.
Extra-element detection is therefore as important as missing-element detection. One stale item can corrupt the rest of the sequence. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
15. Appending Is Safer Than Mid-Array Insertion
When product semantics allow it, adding new elements at the end reduces index churn. This is not always possible, but it can simplify backward compatibility.
Do not change product order merely for localization convenience. Design choices can influence maintenance cost. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
16. Stable IDs Reduce Version-Diff Risk
With explicit IDs, a new item can be matched by identity even when inserted in the middle. Translators and scripts no longer depend solely on position.
Array order can then be validated independently from content identity. This is a stronger long-term architecture. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
17. Index-Based References Are Fragile
Other parts of an application can refer to array element 3 rather than a stable ID. Reordering the locale array then changes meaning without changing the reference.
JSON Pointer paths to numeric indexes have the same weakness. Use stable IDs when references must survive reordering. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
18. Spreadsheet Round Trips Can Reorder Rows
Filters, sorts and hidden rows can change row order during review. CSV export may preserve the new order without warning.
Always compare stable IDs and sequence after spreadsheet handoff. Visual review is not enough. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
19. Hidden Rows Can Cause Missing Elements
A reviewer can export only visible rows after filtering. The resulting target array becomes shorter even though the translation work appears complete.
Use programmatic export from the full dataset. Array cardinality should be checked after every spreadsheet round trip. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
20. Duplicate Rows Can Create Duplicate Elements
Copy-paste or merge operations can duplicate one translation row. The target array then has an extra repeated element and shifts later mappings.
Check duplicate stable IDs where available. Cardinality alone tells you something is wrong; identity tells you what. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
21. Duplicate Text Is Not Always Duplicate Identity
Two array positions can intentionally display the same label. Do not delete repeated strings merely because the text matches.
Use IDs or source positions to determine whether duplication is structural or linguistic. Same wording can represent two legitimate entries. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
22. Blank Elements Still Count
An empty string inside an array occupies a real index. It is not equivalent to a missing element.
Empty Target QA should inspect visibility while Array QA preserves position. Do not remove blank elements automatically when index alignment matters. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
23. Null Elements Still Count
A null value occupies an array position and can be meaningful under the schema. Replacing null with deletion shortens the array and shifts later indexes.
Value-Type QA owns null semantics; Array QA owns positional preservation. Structure and content state are separate. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
24. Sparse Arrays Are Language-Specific in Some Runtimes
JavaScript can have array holes that differ from explicit undefined or null values. JSON serialization does not preserve sparse holes in the same way as native JavaScript.
Localization resources should avoid sparse-array semantics where possible. Portable data works better with explicit values. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
25. YAML Sequences Preserve Order
YAML sequences are ordered and can feed the same positional risks as JSON arrays. Anchors and aliases can add shared-node behavior on top.
Parse the effective sequence before comparison. Format changes do not remove order semantics. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
26. XML Lists Can Become Arrays Through Extraction
An XML source can represent repeated child elements that a connector converts to an array. The order of elements can then become target array order.
Validate the connector mapping and round-trip sequence. Cross-format transformations can introduce positional assumptions. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
27. CMS Blocks Often Use Ordered Arrays
Rich-content systems frequently store page sections or inline spans as arrays. Localization connectors may reorder blocks when reconstructing content.
Compare block IDs and order after translation. Content-model arrays can affect whole-page layout. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
28. Menu Arrays Need Stable Command Mapping
A label array can correspond to commands by index. Reordering labels can make ‘Delete’ trigger ‘Archive’ if code mapping is weak.
This is a product-design smell but still a localization risk. High-impact positional arrays deserve strict QA. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
29. Choice Lists Need Stable Value Mapping
Dropdown labels often map to machine values. Use objects with id/value plus label where possible.
Do not localize the machine value. Verify target labels remain paired with the same IDs. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
30. Survey Scales Are Ordered Semantically
Likert scales such as Strongly disagree → Strongly agree have deliberate order. Alphabetical sorting is wrong even when every label is translated accurately.
Test visual order and associated numeric scores. Sequence carries meaning. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
31. Weekday Arrays Can Have Locale-Specific First Day Rules
A generic weekday array may start Monday or Sunday depending on product logic and locale conventions. This is one case where locale-specific order can be intentional.
Use locale data libraries rather than manually reordering translated weekday names. Document whether the array stores canonical or display order. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
32. Month Arrays Usually Follow Calendar Order
Month names should remain aligned with numeric month values. Alphabetic target-language sorting destroys that mapping.
Prefer locale libraries for month names when possible. Static arrays need index parity with calendar semantics. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
33. Ordered Instructions Need Narrative Integrity
Procedures, onboarding flows and tutorials use sequence to express chronology. A reordered target can reverse prerequisite and action.
Review step numbers and ordering together. Language naturalness cannot compensate for wrong process order. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
34. FAQ Arrays May Permit Reordering
Some content arrays are purely editorial and can be rearranged for target audience relevance. That is a product/content decision, not an automatic localization step.
Record approved locale-specific order changes explicitly. Exceptions should be intentional and reviewable. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
35. A/B Test Arrays Can Differ by Variant
Experiment configuration can change array membership or order independently of locale. QA should compare within the same experiment variant.
Do not mix control and treatment arrays in parity checks. Version and feature context belong in the comparison. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
36. Feature Flags Can Hide Elements
A target release may include array items for features disabled in that market. Runtime filtering can make the visible order different from stored order.
Validate the post-filtered sequence users actually see. Static array parity is necessary but not always sufficient. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
37. Fallback Can Mix Arrays From Different Locales
A runtime may fall back at key level and return a parent-locale array when the child array is missing. Users then see the entire parent sequence, not a merged per-element fallback unless the framework explicitly supports that.
Know the fallback unit. Array semantics interact with locale fallback architecture. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
38. Element-Level Fallback Is Dangerous Without IDs
Trying to combine child and parent arrays by index assumes both sequences remain aligned. One locale-specific insertion breaks every later merge.
Use stable IDs for mergeable arrays. Index-only fallback is fragile. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
39. Length Equality Does Not Prove Alignment
Two arrays can have the same number of elements and still be reordered. Cardinality check is the first gate, not the final proof.
Compare stable IDs, source values or approved mappings. Order deserves an independent assertion. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
40. Order Equality Does Not Prove Correct Translation
An array can preserve positions while each target value is mistranslated. Array QA protects structure, not linguistic quality.
Run normal terminology and review checks afterward. Technical and linguistic correctness are complementary. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
41. Checksums Can Detect Whole-Array Drift
A canonical serialization of stable IDs can produce a checksum for release comparison. That is useful for large arrays where order must remain fixed.
Do not hash translated labels as the only identity when wording can change. Hash the structural projection that matters. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
42. Array Diffs Should Be Identity-Aware
A naive line diff can show every following element changed after one insertion. ID-aware diffing can identify one insertion and preserve later matches.
This reduces review noise. Better diffs make incremental localization safer. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
43. LCS-Style Alignment Can Help Without IDs
When stable IDs do not exist, sequence-alignment algorithms can match unchanged elements around insertions or deletions. This is still weaker than explicit identity.
Use it as a diagnostic aid, not authoritative mapping. Structural ambiguity should remain visible. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
44. Source Text as Identity Is Fragile
Matching array items by source wording fails when source copy changes. A semantic ID is stronger.
If no ID exists, combine source history, position and context carefully. Do not assume similar text means same logical item. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
45. Review Tools Should Display Index and ID
A translator reviewing ordered arrays benefits from seeing index, source ID and neighboring items. This makes insertion and reorder mistakes easier to spot.
Hide neither the sequence nor the stable identity. Context is part of structural QA. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
46. Comments Should Explain Approved Reorders
If a locale intentionally changes array order, record the rationale near the resource or project metadata. Future parity checks can then allow the exception.
Undocumented reorder looks identical to corruption. Governed exceptions keep automation trustworthy. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
47. CI Can Compare Array Lengths
Length comparison is deterministic and should run automatically where parity is required. Report source and target counts plus path.
Do not make reviewers count list items manually. Cheap checks belong in CI. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
48. CI Can Compare Stable ID Sequences
For arrays of objects with IDs, compare the ordered ID list across source and target. This catches missing, extra and reordered elements in one pass.
Allow documented locale-specific exceptions. Structural identity makes automation precise. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
49. CI Can Detect Duplicate IDs
Two target array elements can share the same ID after merge or copy-paste. That can break lookup even when length matches source.
Run uniqueness checks within the array. Cardinality, order and identity all matter. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
50. CI Can Validate Index-Referenced Arrays More Strictly
If application code relies on fixed indexes, any reorder should block release. Document those arrays explicitly.
Long-term refactoring toward stable IDs is still preferable. QA can protect fragile architecture while it exists. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
51. Do Not Auto-Sort Arrays to ‘Fix’ Them
Sorting can make output look orderly while destroying semantic sequence. Repair should follow source IDs, approved order or product rules.
Never sort translated labels alphabetically unless that is the intended user behavior. Automatic tidiness can be structural corruption. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
52. Do Not Auto-Deduplicate by Text
Repeated labels can be legitimate across positions. Deduplication based on string equality can shorten arrays and shift mappings.
Use IDs and source structure. Linguistic equality is not structural redundancy. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
53. Do Not Insert Placeholders to Match Length Blindly
Adding empty strings to equalize source and target counts can preserve length while hiding which element is missing. Recover the actual missing item or use explicit null semantics if the schema defines them.
Length parity without identity is superficial. Fix causes, not metrics. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
54. Array QA Complements Value-Type QA
Value-Type QA confirms that the resource remains an array. Array QA confirms how many elements exist and in what order.
Both are required for positional data. One type can contain many structural states. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
55. Array QA Complements JSON Pointer QA
Pointers to numeric indexes assume a particular array order. Array reorder can redirect a valid pointer to a different logical item.
Test both structures together when paths are persisted. Positional references multiply order risk. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
56. Array QA Complements Missing-Key QA
A top-level array key can exist in every locale while one element is absent. Missing-key parity will not catch inside-array omissions.
Run element-level structural checks. Completeness exists at more than one depth. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
57. Release QA Should Use Final Generated Arrays
Source content systems can be correct while connectors, spreadsheets or build steps reorder elements later. Compare the array in the exact shipping artifact.
Runtime users consume the generated sequence. Final structure is the final evidence. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
58. Fix Recurrent Drift at the Connector
If arrays repeatedly reorder during translation export, repair the mapping or serializer. Do not teach reviewers to manually restore order every release.
Systemic sequence defects need systemic fixes. Localization QA should create structural stability. The safe workflow separates array identity, length and order so a valid container does not hide a misaligned sequence.
A practical QA step is to compare source and target cardinality, align elements by stable ID where available, compare the ordered ID sequence, detect duplicates and inspect any approved locale-specific exception. Repair the connector or source structure rather than sorting translated labels by appearance.
Applied Array-Drift Practice Lab
Create a small source resource containing six ordered items with stable IDs and translated labels. Build four damaged target copies: one with an item deleted, one with a duplicate item, one with two adjacent items swapped, and one with all labels alphabetically sorted while IDs remain attached to their original positions. The exercise should let the QA system distinguish cardinality defects from order defects.
Run a simple length comparison first. It should catch the deletion and duplication but not the swap or alphabetical reorder. This demonstrates why cardinality is only the first gate. Then compare the ordered ID sequence. That second check should catch all four damaged copies while ignoring changes to the translated wording itself.
Next insert a new source item in the middle of the sequence and compare an older target version. If the workflow uses positions only, every later element appears shifted. If stable IDs are available, the diff can isolate one insertion and preserve alignment for the remaining items. This is the practical reason semantic identity beats index-only matching.
Repeat the exercise with a legitimate locale-specific reorder documented as an exception. The QA system should surface the difference, recognize the approved rule, and still validate that all required IDs remain present exactly once. Exceptions should narrow the rule rather than disable array QA for the entire locale.
Finally run the same test through the real spreadsheet, CAT, connector and build path used by the project. Sorting, hidden rows and regenerated arrays often behave differently in production tooling than in a hand-built JSON sample. The release check should operate on the generated artifact users actually receive.
Practical Array Cardinality & Order QA Workflow
Identify which localization arrays require strict one-to-one positional parity.
Prefer stable IDs on array elements where the architecture can support them.
Compare source and target element counts.
Compare ordered ID sequences and detect missing, extra or duplicate IDs.
Document intentional locale-specific insertions, removals or reorders.
Re-run after spreadsheet sorts, source updates, merges and final export.
Validate the exact shipping artifact and any index-based runtime references.
Worked Example: One Inserted Menu Item Shifts Every Label
A source array stores five command labels by position. A new command is inserted at index 1. The French target file is based on the previous release and still contains five translated labels in the old order.
Both source and target are valid arrays. The target length is only one item short, but more importantly every label after index 0 now maps to the wrong command.
Array Cardinality & Order QA reports source length 6 versus target length 5 and shows the ordered command IDs. The locale is regenerated from the current ID-bearing source structure and only the new label requires fresh translation.
The defect looked like several bad translations in the UI, but the real cause was positional drift.
Frequently Asked Questions
What is array cardinality?
It is the number of elements in the array.
Why check order separately from length?
Two arrays can have equal length but different ordering, which can change positional meaning or map labels to the wrong values.
Should every locale array have the same order?
Not always. Locale-specific order can be intentional, but the exception should be explicit and supported by runtime identity rather than accidental sorting.
What is the safest array design for localization?
Arrays of objects with stable non-translatable IDs are generally safer than bare positional string arrays when elements need identity across versions.
Can CI automate array QA?
Yes. Compare lengths, ordered ID sequences and duplicate IDs against the source contract.
JSON Array Semantics
RFC 8259 defines a JSON array as an ordered sequence of zero or more values. That means a localization array can be syntactically valid while still being semantically wrong because its order or membership drifted.
The practical lesson is to validate both cardinality and sequence, preferably with stable IDs. Type parity proves only that the value is still an array; it does not prove that the same logical items remain aligned.
Conclusion
Localization Array Cardinality & Order QA protects the inside of ordered resources after type and key checks have already passed.
A fast workflow compares counts, stable identities and sequence, resists automatic sorting and uses ID-aware diffs when source versions insert or delete items.
When array structure is explicit, translators can edit labels freely without shifting the product’s meaning by one index.
Continue the Translation Series
Read How People Translate Quickly | Resource Value-Type QA.
Read How People Translate Quickly | JSON Pointer Path QA.
Read How People Translate Quickly | Missing Localization Keys QA.
