Skip to content

Commit

Permalink
Refactored translations keys
Browse files Browse the repository at this point in the history
  • Loading branch information
lupusA committed Apr 7, 2024
1 parent dda4271 commit 6a3b1c3
Show file tree
Hide file tree
Showing 36 changed files with 2,303 additions and 2,323 deletions.
8 changes: 7 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,13 @@
"feedback.provider.required-either-known-host-data",
"feedback.provider.required-either-key-file",
"feedback.policy.files.ignore-files-help",
"feedback.policy.scheduling.cron-help"
"feedback.policy.scheduling.cron-help",
"feedback.policy.find-count",
"feedback.policy.find-count_one",
"feedback.policy.find-count_other",
"feedback.task.estimated-results",
"feedback.snapshot.show-individual-snapshots-count_other",
"feedback.snapshot.show-individual-snapshots-count_one"
],
"i18n-ally.extract.ignoredByFiles": {
"src\\components\\policy-editor\\PolicyEditor.jsx": [
Expand Down
515 changes: 256 additions & 259 deletions public/locales/de/translation.json

Large diffs are not rendered by default.

515 changes: 256 additions & 259 deletions public/locales/en/translation.json

Large diffs are not rendered by default.

515 changes: 256 additions & 259 deletions public/locales/es/translation.json

Large diffs are not rendered by default.

515 changes: 256 additions & 259 deletions public/locales/fr/translation.json

Large diffs are not rendered by default.

515 changes: 256 additions & 259 deletions public/locales/it/translation.json

Large diffs are not rendered by default.

515 changes: 256 additions & 259 deletions public/locales/jp/translation.json

Large diffs are not rendered by default.

515 changes: 256 additions & 259 deletions public/locales/pl/translation.json

Large diffs are not rendered by default.

515 changes: 256 additions & 259 deletions public/locales/ru/translation.json

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions src/components/DirectoryItems.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,30 +38,30 @@ export class DirectoryItems extends Component {
const { bytesStringBase2 } = this.context;
const columns = [{
id: "name",
Header: i18n.t('feedback.header.name'),
Header: i18n.t('feedback.directory.header.name'),
width: "",
accessor: x => directoryLinkOrDownload(x, this.props.historyState),
}, {
id: "mtime",
accessor: "mtime",
Header: i18n.t('feedback.header.modification-last'),
Header: i18n.t('feedback.directory.header.last-modification'),
width: 200,
Cell: x => rfc3339TimestampForDisplay(x.cell.value),
}, {
id: "size",
accessor: x => sizeInfo(x),
Header: i18n.t('feedback.header.size'),
Header: i18n.t('feedback.directory.header.size'),
width: 100,
Cell: x => sizeWithFailures(x.cell.value, x.row.original.summ, bytesStringBase2),
}, {
id: "files",
accessor: "summ.files",
Header: i18n.t('feedback.header.files'),
Header: i18n.t('feedback.directory.header.files'),
width: 100,
}, {
id: "dirs",
accessor: "summ.dirs",
Header: i18n.t('feedback.header.directories'),
Header: i18n.t('feedback.directory.header.directories'),
width: 100,
}]

Expand Down
2 changes: 1 addition & 1 deletion src/components/Logs.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export class Logs extends Component {
return <p>{error.message}</p>;
}
if (isLoading) {
return <p>{i18n.t('common.loading')}</p>;
return <p>{i18n.t('common.label.loading')}</p>;
}

if (logs) {
Expand Down
38 changes: 19 additions & 19 deletions src/components/SetupRepository.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -317,17 +317,17 @@ export class SetupRepository extends Component {
{this.connectionErrorInfo()}
<hr />

<Button data-testid='back-button' variant="warning" onClick={() => this.setState({ provider: null, providerSettings: null, connectError: null })}>{i18n.t('common.back')}</Button>
<Button data-testid='back-button' variant="warning" onClick={() => this.setState({ provider: null, providerSettings: null, connectError: null })}>{i18n.t('common.action.back')}</Button>
&nbsp;
<Button variant="primary" type="submit" data-testid="submit-button">{i18n.t('common.next')}</Button>
<Button variant="primary" type="submit" data-testid="submit-button">{i18n.t('common.action.next')}</Button>
{this.loadingSpinner()}
</Form>;
}

toggleAdvancedButton() {
// Determine button icon and text based upon component state.
const icon = this.state.showAdvanced ? faAngleDoubleUp : faAngleDoubleDown;
const text = this.state.showAdvanced ? i18n.t('event.repository.advanced-options-hide') : i18n.t('event.repository.advanced-options.show');
const text = this.state.showAdvanced ? i18n.t('event.repository.hide-advanced-options') : i18n.t('event.repository.show-advanced-options');

return <Button data-testid='advanced-options' onClick={this.toggleAdvanced}
variant="primary"
Expand All @@ -344,8 +344,8 @@ export class SetupRepository extends Component {
<h3>{i18n.t('feedback.repository.create-repository-new')}</h3>
<p>{i18n.t('feedback.repository.create-repository-new-help')}</p>
<Row>
{RequiredField(this, i18n.t('feedback.validation.required.password-repository'), "password", { autoFocus: true, type: "password", placeholder: i18n.t('feedback.validation.required.password-repository-hint') }, i18n.t('feedback.validation.required.password-repository-help'))}
{RequiredField(this, i18n.t('feedback.validation.required.repository-password-confirm'), "confirmPassword", { type: "password", placeholder: i18n.t('feedback.validation.required.repository-password-confirm-again') })}
{RequiredField(this, i18n.t('feedback.repository.repository-password'), "password", { autoFocus: true, type: "password", placeholder: i18n.t('feedback.repository.enter-repository-password') }, i18n.t('feedback.repository.repository-password-help'))}
{RequiredField(this, i18n.t('feedback.repository.repository-password-confirm'), "confirmPassword", { type: "password", placeholder: i18n.t('feedback.repository.repository-password-confirm-again') })}
</Row>
<div style={{ marginTop: "1rem" }}>
{this.toggleAdvancedButton()}
Expand All @@ -364,7 +364,7 @@ export class SetupRepository extends Component {
</Form.Control>
</Form.Group>
<Form.Group as={Col}>
<Form.Label className="required">{i18n.t('repository.attribute.algorithm.hash')}</Form.Label>
<Form.Label className="required">{i18n.t('feedback.repository.attribute.algorithm-hash')}</Form.Label>
<Form.Control as="select"
name="hash"
onChange={this.handleChange}
Expand All @@ -374,7 +374,7 @@ export class SetupRepository extends Component {
</Form.Control>
</Form.Group>
<Form.Group as={Col}>
<Form.Label className="required">{i18n.t('repository.attribute.algorithm.splitter')}</Form.Label>
<Form.Label className="required">{i18n.t('feedback.repository.attribute.algorithm-splitter')}</Form.Label>
<Form.Control as="select"
name="splitter"
onChange={this.handleChange}
Expand All @@ -387,18 +387,18 @@ export class SetupRepository extends Component {
<br/>
<Row>
<Form.Group as={Col}>
<Form.Label className="required">{i18n.t('repository.attribute.format')}</Form.Label>
<Form.Label className="required">{i18n.t('feedback.repository.attribute.repository-format')}</Form.Label>
<Form.Control as="select"
name="formatVersion"
onChange={this.handleChange}
data-testid="control-formatVersion"
value={this.state.formatVersion}>
<option value="2">{i18n.t('value.repository.format.latest')}</option>
<option value="1">{i18n.t('value.repository.format.legacy')}</option>
<option value="2">{i18n.t('value.repository.latest-format')}</option>
<option value="1">{i18n.t('value.repository.legacy-format')}</option>
</Form.Control>
</Form.Group>
<Form.Group as={Col}>
<Form.Label className="required">{i18n.t('repository.attribute.eco')}</Form.Label>
<Form.Label className="required">{i18n.t('feedback.repository.attribute.repository-eco')}</Form.Label>
<Form.Control as="select"
name="eccOverheadPercent"
onChange={this.handleChange}
Expand All @@ -412,7 +412,7 @@ export class SetupRepository extends Component {
</Form.Control>
</Form.Group>
<Form.Group as={Col}>
<Form.Label className="required">{i18n.t('repository.attribute.algorithm.eco')}</Form.Label>
<Form.Label className="required">{i18n.t('feedback.repository.attribute.algorithm-eco')}</Form.Label>
<Form.Control as="select"
name="ecc"
onChange={this.handleChange}
Expand All @@ -428,7 +428,7 @@ export class SetupRepository extends Component {
<Row>
<Col></Col>
<Col sm={8} className="text-muted">
{i18n.t('feedback.repository.eec-warning')} <a href="https://kopia.io/docs/advanced/ecc/" target="_blank" rel="noreferrer">{i18n.t('common.click-here-to-learn-more')}.</a>
{i18n.t('feedback.repository.eec-warning')} <a href="https://kopia.io/docs/advanced/ecc/" target="_blank" rel="noreferrer">{i18n.t('common.action.click-here-to-learn-more')}.</a>
</Col>
</Row>
<br/>
Expand All @@ -443,7 +443,7 @@ export class SetupRepository extends Component {
<br/>
{this.connectionErrorInfo()}
<hr />
<Button data-testid='back-button' variant="warning" onClick={() => this.setState({ providerSettings: {}, storageVerified: false })}>{i18n.t('common.back')}</Button>
<Button data-testid='back-button' variant="warning" onClick={() => this.setState({ providerSettings: {}, storageVerified: false })}>{i18n.t('common.action.back')}</Button>
{' '}
<Button variant="primary" type="submit" data-testid="submit-button">{i18n.t('event.repository.create-repository')}</Button>
{this.loadingSpinner()}
Expand All @@ -452,8 +452,8 @@ export class SetupRepository extends Component {

overrideUsernameHostnameRow() {
return <Row>
{RequiredField(this, i18n.t('feedback.validation.required.username'), "username", {}, i18n.t('feedback.validation.required.username-hint'))}
{RequiredField(this, i18n.t('feedback.validation.required.hostname'), "hostname", {}, i18n.t('feedback.validation.required.hostname-hint'))}
{RequiredField(this, i18n.t('feedback.repository.username'), "username", {}, i18n.t('feedback.repository.username-hint'))}
{RequiredField(this, i18n.t('feedback.repository.hostname'), "hostname", {}, i18n.t('feedback.repository.hostname-hint'))}
</Row>;
}

Expand All @@ -480,8 +480,8 @@ export class SetupRepository extends Component {
</Row>
<br/>
<Row>
{(this.state.provider !== "_token" && this.state.provider !== "_server") && RequiredField(this, i18n.t('feedback.validation.required.password-repository'), "password", { autoFocus: true, type: "password", placeholder: i18n.t('feedback.validation.required.password-repository-hint') }, i18n.t('feedback.validation.required.password-repository-help'))}
{this.state.provider === "_server" && RequiredField(this, i18n.t('feedback.validation.required.server-password'), "password", { autoFocus: true, type: "password", placeholder: i18n.t('feedback.validation.required.server-password-hint') })}
{(this.state.provider !== "_token" && this.state.provider !== "_server") && RequiredField(this, i18n.t('feedback.repository.repository-password'), "password", { autoFocus: true, type: "password", placeholder: i18n.t('feedback.repository.enter-repository-password') }, i18n.t('feedback.repository.repository-password-help'))}
{this.state.provider === "_server" && RequiredField(this, i18n.t('feedback.repository.server-password'), "password", { autoFocus: true, type: "password", placeholder: i18n.t('feedback.repository.server-password-hint') })}
</Row>
<br/>
<Row>
Expand All @@ -499,7 +499,7 @@ export class SetupRepository extends Component {
</Collapse>
{this.connectionErrorInfo()}
<hr />
<Button data-testid='back-button' variant="warning" onClick={() => this.setState({ providerSettings: {}, storageVerified: false })}>{i18n.t('common.back')}</Button>
<Button data-testid='back-button' variant="warning" onClick={() => this.setState({ providerSettings: {}, storageVerified: false })}>{i18n.t('common.action.back')}</Button>
{' '}
<Button variant="primary" type="submit" data-testid="submit-button">{i18n.t('event.repository.connect-to-repository')}</Button>
{this.loadingSpinner()}
Expand Down
12 changes: 6 additions & 6 deletions src/components/SetupRepositoryAzure.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,18 @@ export class SetupRepositoryAzure extends Component {
render() {
return <>
<Row>
{RequiredField(this, i18n.t('feedback.validation.azure.container'), "container", { autoFocus: true, placeholder: i18n.t('feedback.validation.azure.container-hint') })}
{OptionalField(this, i18n.t('feedback.validation.azure.object-name-prefix'), "prefix", { placeholder: i18n.t('feedback.validation.azure.object-name-prefix-hint') })}
{RequiredField(this, i18n.t('feedback.provider.azure.container'), "container", { autoFocus: true, placeholder: i18n.t('feedback.provider.azure.enter-container-name') })}
{OptionalField(this, i18n.t('feedback.provider.azure.object-name-prefix'), "prefix", { placeholder: i18n.t('feedback.provider.azure.enter-object-name-prefix') })}
</Row>
<br/>
<Row>
{RequiredField(this, i18n.t('feedback.validation.azure.storage-account'), "storageAccount", { placeholder: i18n.t('feedback.validation.azure.storage-account-hint') })}
{OptionalField(this, i18n.t('feedback.validation.azure.access-key'), "storageKey", { placeholder: i18n.t('feedback.validation.azure.access-key-hint'), type: "password" })}
{RequiredField(this, i18n.t('feedback.provider.azure.storage-account'), "storageAccount", { placeholder: i18n.t('feedback.provider.azure.enter-storage-account') })}
{OptionalField(this, i18n.t('feedback.provider.azure.access-key'), "storageKey", { placeholder: i18n.t('feedback.provider.azure.enter-access-key'), type: "password" })}
</Row>
<br/>
<Row>
{OptionalField(this, i18n.t('feedback.validation.azure.azure-storage-domain'), "storageDomain", { placeholder: i18n.t('feedback.validation.azure.azure-storage-domain-hint') })}
{OptionalField(this, i18n.t('feedback.validation.azure.sas-token'), "sasToken", { placeholder: i18n.t('feedback.validation.azure.sas-token-hint'), type: "password" })}
{OptionalField(this, i18n.t('feedback.provider.azure.azure-storage-domain'), "storageDomain", { placeholder: i18n.t('feedback.provider.azure.enter-azure-storage-domain') })}
{OptionalField(this, i18n.t('feedback.provider.azure.sas-token'), "sasToken", { placeholder: i18n.t('feedback.provider.azure.enter-sas-token'), type: "password" })}
</Row>
</>;
}
Expand Down
8 changes: 4 additions & 4 deletions src/components/SetupRepositoryB2.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@ export class SetupRepositoryB2 extends Component {
render() {
return <>
<Row>
{RequiredField(this, i18n.t('feedback.validation.b2.bucket-name'), "bucket", { autoFocus: true, placeholder: i18n.t('feedback.validation.b2.bucket-name-hint') })}
{RequiredField(this, i18n.t('feedback.provider.b2.bucket-name'), "bucket", { autoFocus: true, placeholder: i18n.t('feedback.provider.b2.enter-bucket-name') })}
</Row>
<br/>
<Row>
{RequiredField(this, i18n.t('feedback.validation.b2.key-id'), "keyId", { placeholder: i18n.t('feedback.validation.b2.key-id-hint') })}
{RequiredField(this, i18n.t('feedback.validation.b2.key'), "key", { placeholder: i18n.t('feedback.validation.b2.key-hint'), type: "password" })}
{RequiredField(this, i18n.t('feedback.provider.b2.key-id'), "keyId", { placeholder: i18n.t('feedback.provider.b2.enter-account-key-id') })}
{RequiredField(this, i18n.t('feedback.provider.b2.key'), "key", { placeholder: i18n.t('feedback.provider.b2.enter-account-key'), type: "password" })}
</Row>
<br/>
<Row>
{OptionalField(this, i18n.t('feedback.validation.b2.object-name-prefix'), "prefix", { placeholder: i18n.t('feedback.validation.b2.object-name-prefix-hint') })}
{OptionalField(this, i18n.t('feedback.provider.b2.object-name-prefix'), "prefix", { placeholder: i18n.t('feedback.provider.b2.enter-object-name-prefix') })}
</Row>
</>;
}
Expand Down
2 changes: 1 addition & 1 deletion src/components/SetupRepositoryFilesystem.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export class SetupRepositoryFilesystem extends Component {

render() {
return <>
{RequiredDirectory(this, i18n.t('feedback.validation.local.directory-path'), "path", { autoFocus: true, placeholder: i18n.t('feedback.validation.local.directory-path-hint')})}
{RequiredDirectory(this, i18n.t('feedback.provider.filesystem.directory-path'), "path", { autoFocus: true, placeholder: i18n.t('feedback.provider.filesystem.enter-directory-path')})}
</>;
}
}
8 changes: 4 additions & 4 deletions src/components/SetupRepositoryGCS.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@ export class SetupRepositoryGCS extends Component {
render() {
return <>
<Row>
{RequiredField(this, i18n.t('feedback.validation.gcs.bucket-name'), "bucket", { autoFocus: true, placeholder: i18n.t('feedback.validation.gcs.bucket-name-hint') })}
{OptionalField(this, i18n.t('feedback.validation.gcs.object-name-prefix'), "prefix", { placeholder: i18n.t('feedback.validation.gcs.object-name-prefix-hint'), type: "password" })}
{RequiredField(this, i18n.t('feedback.provider.gcs.bucket-name'), "bucket", { autoFocus: true, placeholder: i18n.t('feedback.provider.gcs.enter-bucket-name') })}
{OptionalField(this, i18n.t('feedback.provider.gcs.object-name-prefix'), "prefix", { placeholder: i18n.t('feedback.provider.gcs.enter-object-name-prefix'), type: "password" })}
</Row>
<br/>
<Row>
{OptionalField(this, i18n.t('feedback.validation.gcs.credentials-file'), "credentialsFile", { placeholder: i18n.t('feedback.validation.gcs.credentials-file-hint') })}
{OptionalField(this, i18n.t('feedback.provider.gcs.credentials-file'), "credentialsFile", { placeholder: i18n.t('feedback.provider.gcs.enter-credentials-file-name') })}
</Row>
<br/>
<Row>
{OptionalField(this, i18n.t('feedback.validation.gcs.credentials-json'), "credentials", { placeholder: i18n.t('feedback.validation.gcs.credentials-json-paste'), as: "textarea", rows: 5 })}
{OptionalField(this, i18n.t('feedback.provider.gcs.credentials-json'), "credentials", { placeholder: i18n.t('feedback.prodiver.gcs.paste-json-credentials'), as: "textarea", rows: 5 })}
</Row>
</>;
}
Expand Down
Loading

0 comments on commit 6a3b1c3

Please sign in to comment.