Skip to content

Vault Pure

Update

1.0.6: the way back from Google Drive, and three languages by hand

Two emails from a user in Japan set off this update. The first one said the backup
could be saved to Google Drive but not brought back.

He was right, and it was not one thing but three.

Why the way back was blocked

Restoring had no entry in the settings. It sat behind the plus button in the gallery,
among the import actions. Anyone who had saved a backup looked for the way back where the
way out had been, found nothing, and concluded the app writes backups it cannot read.

The file picker filtered on the file type of a zip. Google Drive reports a different type
for anything it does not recognise, and what does not match the filter is greyed out in
the picker. The file was there to see and impossible to tap.

And the file size query could fail the check of the backup. Files from the cloud arrive
without a reliable size, and a perfectly intact archive was reported as invalid.

What is different now

  • Restore backup sits in Settings under Advanced, right below the entry that creates one
  • Files from Google Drive can be selected
  • A backup in the cloud is downloaded once instead of twice, which halves the waiting
  • Fixed: a crash on the second restore attempt in a row

The recycle bin, from the second email

He had found the way and wrote straight back with the next wish: could the recycle bin be
emptied in one go. It could not. Delete every photo on its own, confirm every time, a
hundred taps for fifty pictures.

Now a long press starts a selection, another tap adds to it, and the top bar carries the
count, select all, restore and delete. Beside it, a button that empties the bin outright.
It asks once, and the question names the number.

And in the same version: the languages

Google Play translates uploaded apps itself, afresh for every bundle. Vault Pure
ships German and English, and Play attaches 49 more languages without a single
line for them sitting in the source folder.

Measured rather than assumed: each of the 49 generated language packs was searched
for "AES-256", a word no library brings along. All 49 carry our own strings.

Three languages Play does not offer

Traditional Chinese, Filipino and Malay are on Google's list of excluded
languages. For those, translating is our job or nobody's.

So it was done by hand: 367 strings and four plurals each, translated from the
English original rather than converted from the Simplified Chinese. That
difference is not cosmetic. 計算機 is a pocket calculator in Taiwan and a computer
on the mainland. Swapping characters instead of translating writes mainland
vocabulary in traditional script.

What turned up along the way

The store listing was Traditional Chinese while the app spoke only Simplified.
Since Android 7 the one does not match the other: anyone reading the store page in
Taipei and then installing the app most likely saw English. Both versions exist
today, each with its own screenshots in the language of the page above them.

Keeping it that way

A test fails the build when a shipped language is missing a string, when it
carries one the original has dropped, or when a placeholder does not survive
translation. That last one is the dangerous case: turning %1$d into %1$s
crashes exactly when the text appears, in that one language, on a device nobody
here owns. The test was checked by breaking a string on purpose.

Where to go next

See it on Google Play
or read the info page. It shipped as 1.0.6; the 1.0.5 before it never made it past internal
testing. The last version to reach a device was
1.0.1.

The way back and the recycle bin are here because somebody wrote an email. That is the
shortest way to change anything about these apps.

To the info page →