mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-08-29 14:57:05 +00:00
refactor(i18n): route remaining Obsidian UI text through the message catalogue
Continues the source-key migration inside the application boundary introduced in 1.0.0, where LiveSync owns its catalogue and consumes Commonlib as a published package. - Replace hardcoded user-visible strings in the Obsidian UI (Setup Wizard dialogues, P2P panes, Customisation Sync panes, Global History, the JSON conflict pane and the remote-configuration menu) with `$msg` calls, keeping the English source string as the key. - Wire up strings whose translations already existed in the catalogue but were still rendered as literals, for example the whole Intro dialogue. - Add the new entries to `src/common/messagesYAML/en.yaml` and `es.yaml`, then regenerate `messagesJson/` and `combinedMessages.prod.ts` through the documented `i18n:bake` pipeline. - No Commonlib gitlink or catalogue is involved; every change is LiveSync-owned. Regenerating the catalogue also normalises three pre-existing entries each in `ko.json` and `zh.json`, where the committed JSON kept a trailing space before a newline that YAML cannot represent. Verified with tsc-check, tsc-check:apps, svelte-check and lint. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,57 +58,69 @@
|
||||
</Check>
|
||||
</Guidance>
|
||||
{:else}
|
||||
<DialogHeader title="Final Confirmation: Overwrite Server Data with This Device's Files" />
|
||||
<DialogHeader title={msg("Final Confirmation: Overwrite Server Data with This Device's Files")} />
|
||||
<Guidance
|
||||
>This procedure will first delete all existing synchronisation data from the server. Following this, the server
|
||||
data will be completely rebuilt, using the current state of your Vault on this device (including its local
|
||||
database) as <strong>the single, authoritative master copy</strong>.</Guidance
|
||||
>{msg(
|
||||
"This procedure will first delete all existing synchronisation data from the server. Following this, the server data will be completely rebuilt, using the current state of your Vault on this device (including its local database) as"
|
||||
)} <strong>{msg("the single, authoritative master copy")}</strong>.</Guidance
|
||||
>
|
||||
<InfoNote>
|
||||
You should perform this operation only in exceptional circumstances, such as when the server data is completely
|
||||
corrupted, when changes on all other devices are no longer needed, or when the database size has become unusually
|
||||
large in comparison to the Vault size.
|
||||
{msg(
|
||||
"You should perform this operation only in exceptional circumstances, such as when the server data is completely corrupted, when changes on all other devices are no longer needed, or when the database size has become unusually large in comparison to the Vault size."
|
||||
)}
|
||||
</InfoNote>
|
||||
<Guidance important title="⚠️ Please Confirm the Following">
|
||||
<Guidance important title={msg("⚠️ Please Confirm the Following")}>
|
||||
<Check
|
||||
title="I understand that all changes made on other smartphones or computers possibly could be lost."
|
||||
title={msg("I understand that all changes made on other smartphones or computers possibly could be lost.")}
|
||||
bind:value={confirmationCheck1}
|
||||
>
|
||||
<InfoNote>There is a way to resolve this on other devices.</InfoNote>
|
||||
<InfoNote>Of course, we can back up the data before proceeding.</InfoNote>
|
||||
<InfoNote>{msg("There is a way to resolve this on other devices.")}</InfoNote>
|
||||
<InfoNote>{msg("Of course, we can back up the data before proceeding.")}</InfoNote>
|
||||
</Check>
|
||||
<Check
|
||||
title="I understand that other devices will no longer be able to synchronise, and will need to be reset the synchronisation information."
|
||||
title={msg(
|
||||
"I understand that other devices will no longer be able to synchronise, and will need to be reset the synchronisation information."
|
||||
)}
|
||||
bind:value={confirmationCheck2}
|
||||
>
|
||||
<InfoNote>by resetting the remote, you will be informed on other devices.</InfoNote>
|
||||
<InfoNote>{msg("by resetting the remote, you will be informed on other devices.")}</InfoNote>
|
||||
</Check>
|
||||
<Check title="I understand that this action is irreversible once performed." bind:value={confirmationCheck3} />
|
||||
<Check
|
||||
title={msg("I understand that this action is irreversible once performed.")}
|
||||
bind:value={confirmationCheck3}
|
||||
/>
|
||||
</Guidance>
|
||||
{/if}
|
||||
<hr />
|
||||
<Instruction>
|
||||
<Question>Have you created a backup before proceeding?</Question>
|
||||
<Question>{msg("Have you created a backup before proceeding?")}</Question>
|
||||
<InfoNote warning>
|
||||
This is an extremely powerful operation. We strongly recommend that you copy your Vault folder to a safe
|
||||
location.
|
||||
{msg(
|
||||
"This is an extremely powerful operation. We strongly recommend that you copy your Vault folder to a safe location."
|
||||
)}
|
||||
</InfoNote>
|
||||
<Options>
|
||||
<Option selectedValue={TYPE_BACKUP_DONE} title="I have created a backup of my Vault." bind:value={backupType} />
|
||||
<Option
|
||||
selectedValue={TYPE_BACKUP_DONE}
|
||||
title={msg("I have created a backup of my Vault.")}
|
||||
bind:value={backupType}
|
||||
/>
|
||||
<Option
|
||||
selectedValue={TYPE_BACKUP_SKIPPED}
|
||||
title="I understand the risks and will proceed without a backup."
|
||||
title={msg("I understand the risks and will proceed without a backup.")}
|
||||
bind:value={backupType}
|
||||
/>
|
||||
<Option
|
||||
selectedValue={TYPE_UNABLE_TO_BACKUP}
|
||||
title="I am unable to create a backup of my Vaults."
|
||||
title={msg("I am unable to create a backup of my Vaults.")}
|
||||
bind:value={backupType}
|
||||
>
|
||||
<InfoNote error visible={backupType === TYPE_UNABLE_TO_BACKUP}>
|
||||
<strong
|
||||
>You should create a new synchronisation destination and rebuild your data there. <br /> After that,
|
||||
synchronise to a brand new vault on each other device with the new remote one by one.</strong
|
||||
>{msg("You should create a new synchronisation destination and rebuild your data there.")} <br />
|
||||
{msg(
|
||||
"After that, synchronise to a brand new vault on each other device with the new remote one by one."
|
||||
)}</strong
|
||||
>
|
||||
</InfoNote>
|
||||
</Option>
|
||||
@@ -116,17 +128,19 @@
|
||||
</Instruction>
|
||||
{#if !isP2P}
|
||||
<Instruction>
|
||||
<ExtraItems title="Advanced">
|
||||
<Check title="Prevent fetching configuration from server" bind:value={preventFetchingConfig} />
|
||||
<ExtraItems title={msg("Advanced")}>
|
||||
<Check title={msg("Prevent fetching configuration from server")} bind:value={preventFetchingConfig} />
|
||||
</ExtraItems>
|
||||
</Instruction>
|
||||
{/if}
|
||||
<UserDecisions>
|
||||
<Decision
|
||||
title={isP2P ? msg("Ui.SetupWizard.RebuildEverythingP2P.Proceed") : "I Understand, Overwrite Server"}
|
||||
title={isP2P
|
||||
? msg("Ui.SetupWizard.RebuildEverythingP2P.Proceed")
|
||||
: msg("I Understand, Overwrite Server")}
|
||||
important
|
||||
disabled={!canProceed}
|
||||
commit={() => commit()}
|
||||
/>
|
||||
<Decision title="Cancel" commit={() => setResult(TYPE_CANCEL)} />
|
||||
<Decision title={msg("Cancel")} commit={() => setResult(TYPE_CANCEL)} />
|
||||
</UserDecisions>
|
||||
|
||||
Reference in New Issue
Block a user