Skip to content

Commit 5d755c4

Browse files
authored
chore: move translations to flarum (#52)
1 parent ad58d26 commit 5d755c4

28 files changed

+98
-98
lines changed

README.md

+12-12
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ This extension allows users increasing control over their data.
1212
Install manually with composer:
1313

1414
```sh
15-
composer require blomstra/gdpr:@beta
15+
composer require flarum/gdpr:@beta
1616
```
1717

1818
### Use
@@ -27,7 +27,7 @@ From here, users may self-service export their data from the forum, or start an
2727
If your forum runs multiple queues, ie `low` and `high`, you may specify which queue jobs for this extension are run on in your skeleton's `extend.php` file:
2828

2929
```php
30-
Blomstra\Gdpr\Jobs\GdprJob::$onQueue = 'low';
30+
Flarum\Gdpr\Jobs\GdprJob::$onQueue = 'low';
3131

3232
return [
3333
... your current extenders,
@@ -40,16 +40,16 @@ You can easily register a new Data type, remove an existing Data type, or exclud
4040

4141
#### Registering a new Data Type:
4242

43-
Your data type class should implement the `Blomstra\Gdpr\Contracts\DataType`:
43+
Your data type class should implement the `Flarum\Gdpr\Contracts\DataType`:
4444
```php
4545
<?php
4646

47-
use Blomstra\Gdpr\Extend\UserData;
48-
use Blomstra\Extend;
47+
use Flarum\Gdpr\Extend\UserData;
48+
use Flarum\Extend;
4949

5050
return [
5151
(new Extend\Conditional())
52-
->whenExtensionEnabled('blomstra-gdpr', fn () => [
52+
->whenExtensionEnabled('flarum-gdpr', fn () => [
5353
(new UserData())
5454
->addType(Your\Own\DataType::class),
5555

@@ -60,17 +60,17 @@ return [
6060

6161
The implementation you create needs a export method, it will receive a ZipArchive resource.
6262
You can use that to add any strings or actual files to the archive. Make sure to properly
63-
name the file and always prefix it with your extension slug (blomstra-something-filename).
63+
name the file and always prefix it with your extension slug (flarum-something-filename).
6464

6565
#### Removing a Data Type:
6666
If for any reason you want to exclude a certain DataType from the export:
6767
```php
68-
use Blomstra\Gdpr\Extend\UserData;
69-
use Blomstra\Extend;
68+
use Flarum\Gdpr\Extend\UserData;
69+
use Flarum\Extend;
7070

7171
return [
7272
(new Extend\Conditional())
73-
->whenExtensionEnabled('blomstra-gdpr', fn () => [
73+
->whenExtensionEnabled('flarum-gdpr', fn () => [
7474
(new UserData())
7575
->removeType(Your\Own\DataType::class),
7676

@@ -81,11 +81,11 @@ return [
8181

8282
#### Exclude specific columns from the user table during export:
8383
```php
84-
use Blomstra\Gdpr\Extend\UserData;
84+
use Flarum\Gdpr\Extend\UserData;
8585

8686
return [
8787
(new Extend\Conditional())
88-
->whenExtensionEnabled('blomstra-gdpr', fn () => [
88+
->whenExtensionEnabled('flarum-gdpr', fn () => [
8989
(new UserData())
9090
->removeUserColumn('column_name') // For a single column
9191
->removeUserColumns(['column1', 'column2']), // For multiple columns

js/src/admin/GdprPage.tsx

+15-15
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ export default class GdprPage<CustomAttrs extends IPageAttrs = IPageAttrs> exten
2121
return {
2222
className: 'GdprPage--header',
2323
icon: 'fas fa-user-shield',
24-
title: app.translator.trans('blomstra-gdpr.admin.gdpr_page.heading'),
25-
description: app.translator.trans('blomstra-gdpr.admin.gdpr_page.description'),
24+
title: app.translator.trans('flarum-gdpr.admin.gdpr_page.heading'),
25+
description: app.translator.trans('flarum-gdpr.admin.gdpr_page.description'),
2626
};
2727
}
2828

@@ -42,22 +42,22 @@ export default class GdprPage<CustomAttrs extends IPageAttrs = IPageAttrs> exten
4242

4343
return (
4444
<div className="GdprPage">
45-
<h3>{app.translator.trans('blomstra-gdpr.admin.gdpr_page.settings.heading')}</h3>
46-
<p className="helpText">{app.translator.trans('blomstra-gdpr.admin.gdpr_page.settings.help_text')}</p>
47-
<LinkButton className="Button" href={app.route('extension', { id: 'blomstra-gdpr' })}>
48-
{app.translator.trans('blomstra-gdpr.admin.gdpr_page.settings.extension_settings_button')}
45+
<h3>{app.translator.trans('flarum-gdpr.admin.gdpr_page.settings.heading')}</h3>
46+
<p className="helpText">{app.translator.trans('flarum-gdpr.admin.gdpr_page.settings.help_text')}</p>
47+
<LinkButton className="Button" href={app.route('extension', { id: 'flarum-gdpr' })}>
48+
{app.translator.trans('flarum-gdpr.admin.gdpr_page.settings.extension_settings_button')}
4949
</LinkButton>
5050
<hr />
51-
<h3>{app.translator.trans('blomstra-gdpr.admin.gdpr_page.data_types.title')}</h3>
52-
<p className="helpText">{app.translator.trans('blomstra-gdpr.admin.gdpr_page.data_types.help_text')}</p>
51+
<h3>{app.translator.trans('flarum-gdpr.admin.gdpr_page.data_types.title')}</h3>
52+
<p className="helpText">{app.translator.trans('flarum-gdpr.admin.gdpr_page.data_types.help_text')}</p>
5353

5454
<div className="GdprGrid">
5555
<div class="GdprGrid-row">
56-
<div className="GdprGrid-header">{app.translator.trans('blomstra-gdpr.admin.gdpr_page.data_types.type')}</div>
57-
<div className="GdprGrid-header">{app.translator.trans('blomstra-gdpr.admin.gdpr_page.data_types.export_description')}</div>
58-
<div className="GdprGrid-header">{app.translator.trans('blomstra-gdpr.admin.gdpr_page.data_types.anonymize_description')}</div>
59-
<div className="GdprGrid-header">{app.translator.trans('blomstra-gdpr.admin.gdpr_page.data_types.delete_description')}</div>
60-
<div className="GdprGrid-header">{app.translator.trans('blomstra-gdpr.admin.gdpr_page.data_types.extension')}</div>
56+
<div className="GdprGrid-header">{app.translator.trans('flarum-gdpr.admin.gdpr_page.data_types.type')}</div>
57+
<div className="GdprGrid-header">{app.translator.trans('flarum-gdpr.admin.gdpr_page.data_types.export_description')}</div>
58+
<div className="GdprGrid-header">{app.translator.trans('flarum-gdpr.admin.gdpr_page.data_types.anonymize_description')}</div>
59+
<div className="GdprGrid-header">{app.translator.trans('flarum-gdpr.admin.gdpr_page.data_types.delete_description')}</div>
60+
<div className="GdprGrid-header">{app.translator.trans('flarum-gdpr.admin.gdpr_page.data_types.extension')}</div>
6161
</div>
6262

6363
{this.gdprDataTypes.map((dataType) => (
@@ -79,8 +79,8 @@ export default class GdprPage<CustomAttrs extends IPageAttrs = IPageAttrs> exten
7979
))}
8080
</div>
8181
<hr />
82-
<h3>{app.translator.trans('blomstra-gdpr.admin.gdpr_page.user_table_data.title')}</h3>
83-
<p className="helpText">{app.translator.trans('blomstra-gdpr.admin.gdpr_page.user_table_data.help_text')}</p>
82+
<h3>{app.translator.trans('flarum-gdpr.admin.gdpr_page.user_table_data.title')}</h3>
83+
<p className="helpText">{app.translator.trans('flarum-gdpr.admin.gdpr_page.user_table_data.help_text')}</p>
8484
<div className="GdprUserColumnData">Not yet implemented</div>
8585
</div>
8686
);

js/src/admin/extendAdminNav.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ export default function extendAdminNav() {
99
extend(AdminNav.prototype, 'items', function (items: ItemList<Mithril.Children>) {
1010
items.add(
1111
'gdpr',
12-
<LinkButton href={app.route('gdpr')} icon="fas fa-user-shield" title={app.translator.trans('blomstra-gdpr.admin.gdpr.title')}>
13-
{app.translator.trans('blomstra-gdpr.admin.nav.gdpr_button')}
12+
<LinkButton href={app.route('gdpr')} icon="fas fa-user-shield" title={app.translator.trans('flarum-gdpr.admin.gdpr.title')}>
13+
{app.translator.trans('flarum-gdpr.admin.nav.gdpr_button')}
1414
</LinkButton>,
1515
48
1616
);

js/src/admin/extendUserListPage.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default function extendUserListPage() {
2525
columns.add(
2626
'gdpr',
2727
{
28-
name: app.translator.trans('blomstra-gdpr.admin.userlist.columns.gdpr_actions.title'),
28+
name: app.translator.trans('flarum-gdpr.admin.userlist.columns.gdpr_actions.title'),
2929
content: (user: User) => {
3030
return <div className="gdprActions">{this.gdprActions(user).toArray()}</div>;
3131
},
@@ -40,7 +40,7 @@ export default function extendUserListPage() {
4040
if (user.canModerateExports()) {
4141
items.add(
4242
'export-data',
43-
<Tooltip text={app.translator.trans('blomstra-gdpr.admin.userlist.columns.gdpr_actions.export', { username: username(user) })}>
43+
<Tooltip text={app.translator.trans('flarum-gdpr.admin.userlist.columns.gdpr_actions.export', { username: username(user) })}>
4444
<Button className="Button Button--icon" icon="fas fa-file-export" onclick={() => app.modal.show(RequestDataExportModal, { user: user })} />
4545
</Tooltip>
4646
);

js/src/admin/index.tsx

+16-16
Original file line numberDiff line numberDiff line change
@@ -11,62 +11,62 @@ app.initializers.add('flarum-gdpr', () => {
1111
.registerSetting(function () {
1212
return (
1313
<div className="Form-group">
14-
<h3>{app.translator.trans('blomstra-gdpr.admin.settings.gdpr_page.title')}</h3>
15-
<p className="helpText">{app.translator.trans('blomstra-gdpr.admin.settings.gdpr_page.help_text')}</p>
14+
<h3>{app.translator.trans('flarum-gdpr.admin.settings.gdpr_page.title')}</h3>
15+
<p className="helpText">{app.translator.trans('flarum-gdpr.admin.settings.gdpr_page.help_text')}</p>
1616
<LinkButton href={app.route('gdpr')} icon="fas fa-user-shield" className="Button">
17-
{app.translator.trans('blomstra-gdpr.admin.nav.gdpr_button')}
17+
{app.translator.trans('flarum-gdpr.admin.nav.gdpr_button')}
1818
</LinkButton>
1919
</div>
2020
);
2121
})
2222
.registerSetting({
2323
setting: 'flarum-gdpr.allow-anonymization',
24-
label: app.translator.trans('blomstra-gdpr.admin.settings.allow_anonymization'),
25-
help: app.translator.trans('blomstra-gdpr.admin.settings.allow_anonymization_help'),
24+
label: app.translator.trans('flarum-gdpr.admin.settings.allow_anonymization'),
25+
help: app.translator.trans('flarum-gdpr.admin.settings.allow_anonymization_help'),
2626
type: 'boolean',
2727
})
2828
.registerSetting({
2929
setting: 'flarum-gdpr.allow-deletion',
30-
label: app.translator.trans('blomstra-gdpr.admin.settings.allow_deletion'),
31-
help: app.translator.trans('blomstra-gdpr.admin.settings.allow_deletion_help'),
30+
label: app.translator.trans('flarum-gdpr.admin.settings.allow_deletion'),
31+
help: app.translator.trans('flarum-gdpr.admin.settings.allow_deletion_help'),
3232
type: 'boolean',
3333
})
3434
.registerSetting({
3535
setting: 'flarum-gdpr.default-erasure',
36-
label: app.translator.trans('blomstra-gdpr.admin.settings.default_erasure'),
37-
help: app.translator.trans('blomstra-gdpr.admin.settings.default_erasure_help'),
36+
label: app.translator.trans('flarum-gdpr.admin.settings.default_erasure'),
37+
help: app.translator.trans('flarum-gdpr.admin.settings.default_erasure_help'),
3838
type: 'select',
3939
options: {
40-
anonymization: app.translator.trans('blomstra-gdpr.admin.settings.default_erasure_options.anonymization'),
41-
deletion: app.translator.trans('blomstra-gdpr.admin.settings.default_erasure_options.deletion'),
40+
anonymization: app.translator.trans('flarum-gdpr.admin.settings.default_erasure_options.anonymization'),
41+
deletion: app.translator.trans('flarum-gdpr.admin.settings.default_erasure_options.deletion'),
4242
},
4343
})
4444
.registerSetting({
4545
setting: 'flarum-gdpr.default-anonymous-username',
4646
type: 'string',
47-
label: app.translator.trans('blomstra-gdpr.admin.settings.default_anonymous_username'),
48-
help: app.translator.trans('blomstra-gdpr.admin.settings.default_anonymous_username_help'),
47+
label: app.translator.trans('flarum-gdpr.admin.settings.default_anonymous_username'),
48+
help: app.translator.trans('flarum-gdpr.admin.settings.default_anonymous_username_help'),
4949
})
5050
.registerPermission(
5151
{
5252
icon: 'fas fa-user-minus',
53-
label: app.translator.trans('blomstra-gdpr.admin.permissions.process_erasure'),
53+
label: app.translator.trans('flarum-gdpr.admin.permissions.process_erasure'),
5454
permission: 'processErasure',
5555
},
5656
'moderate'
5757
)
5858
.registerPermission(
5959
{
6060
icon: 'fas fa-file-export',
61-
label: app.translator.trans('blomstra-gdpr.admin.permissions.process_export_for_others'),
61+
label: app.translator.trans('flarum-gdpr.admin.permissions.process_export_for_others'),
6262
permission: 'moderateExport',
6363
},
6464
'moderate'
6565
)
6666
.registerPermission(
6767
{
6868
icon: 'fas fa-eye',
69-
label: app.translator.trans('blomstra-gdpr.admin.permissions.see_anonymized_user_badges'),
69+
label: app.translator.trans('flarum-gdpr.admin.permissions.see_anonymized_user_badges'),
7070
permission: 'seeAnonymizedUserBadges',
7171
allowGuest: true,
7272
},

js/src/common/components/RequestDataExportModal.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export default class RequestDataExportModal extends Modal<RequestDataExportModal
2424
}
2525

2626
title() {
27-
return app.translator.trans('blomstra-gdpr.lib.request_data.title', {
27+
return app.translator.trans('flarum-gdpr.lib.request_data.title', {
2828
username: username(this.user),
2929
});
3030
}
@@ -34,15 +34,15 @@ export default class RequestDataExportModal extends Modal<RequestDataExportModal
3434
<div className="Modal-body">
3535
<div className="Form Form--centered">
3636
<div className="User">{avatar(this.user)}</div>
37-
<p className="helpText">{app.translator.trans('blomstra-gdpr.lib.request_data.text')}</p>
37+
<p className="helpText">{app.translator.trans('flarum-gdpr.lib.request_data.text')}</p>
3838
<div className="Form-group">
3939
<Button
4040
className="Button Button--primary Button--block"
4141
onclick={() => this.requestExport()}
4242
loading={this.loading}
4343
disabled={this.loading}
4444
>
45-
{app.translator.trans('blomstra-gdpr.lib.request_data.request_button')}
45+
{app.translator.trans('flarum-gdpr.lib.request_data.request_button')}
4646
</Button>
4747
</div>
4848
</div>

js/src/forum/addAnonymousBadges.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export default function () {
1010
if (this.anonymized()) {
1111
badges.add(
1212
'anonymized',
13-
<Badge label={app.translator.trans('blomstra-gdpr.forum.badges.anonymized_user')} icon="fas fa-user-secret" type="anonymized" />
13+
<Badge label={app.translator.trans('flarum-gdpr.forum.badges.anonymized_user')} icon="fas fa-user-secret" type="anonymized" />
1414
);
1515
}
1616
});

js/src/forum/components/DeleteUserModal.tsx

+5-5
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default class DeleteUserModal extends Modal<DeleteUserModalAttrs> {
2525
}
2626

2727
title() {
28-
return app.translator.trans('blomstra-gdpr.forum.delete_user.title', {
28+
return app.translator.trans('flarum-gdpr.forum.delete_user.title', {
2929
username: username(this.user),
3030
});
3131
}
@@ -35,7 +35,7 @@ export default class DeleteUserModal extends Modal<DeleteUserModalAttrs> {
3535
<div className="Modal-body">
3636
<div className="Form Form--centered">
3737
<p className="helpText">
38-
{app.translator.trans('blomstra-gdpr.forum.delete_user.text', {
38+
{app.translator.trans('flarum-gdpr.forum.delete_user.text', {
3939
username: username(this.user),
4040
})}
4141
</p>
@@ -46,7 +46,7 @@ export default class DeleteUserModal extends Modal<DeleteUserModalAttrs> {
4646
loading={this.loading}
4747
disabled={this.loading}
4848
>
49-
{app.translator.trans('blomstra-gdpr.forum.delete_user.modal_delete_button')}
49+
{app.translator.trans('flarum-gdpr.forum.delete_user.modal_delete_button')}
5050
</Button>
5151
</div>
5252
{app.forum.attribute('erasureAnonymizationAllowed') && app.forum.attribute('erasureDeletionAllowed') && (
@@ -58,7 +58,7 @@ export default class DeleteUserModal extends Modal<DeleteUserModalAttrs> {
5858
loading={this.loadingAnonymization}
5959
disabled={this.loadingAnonymization}
6060
>
61-
{app.translator.trans('blomstra-gdpr.forum.process_erasure.anonymization_button')}
61+
{app.translator.trans('flarum-gdpr.forum.process_erasure.anonymization_button')}
6262
</Button>
6363
</div>
6464
<div className="Form-group">
@@ -68,7 +68,7 @@ export default class DeleteUserModal extends Modal<DeleteUserModalAttrs> {
6868
loading={this.loadingDeletion}
6969
disabled={this.loadingDeletion}
7070
>
71-
{app.translator.trans('blomstra-gdpr.forum.process_erasure.deletion_button')}
71+
{app.translator.trans('flarum-gdpr.forum.process_erasure.deletion_button')}
7272
</Button>
7373
</div>
7474
</div>

js/src/forum/components/ErasureRequestsDropdown.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ interface ErasureRequestsDropdownAttrs extends IDropdownAttrs {
1111

1212
export default class ErasureRequestsDropdown extends NotificationsDropdown<ErasureRequestsDropdownAttrs> {
1313
static initAttrs(attrs: ErasureRequestsDropdownAttrs) {
14-
attrs.label = attrs.label || app.translator.trans('blomstra-gdpr.forum.erasure_requests.tooltip');
14+
attrs.label = attrs.label || app.translator.trans('flarum-gdpr.forum.erasure_requests.tooltip');
1515
attrs.icon = attrs.icon || 'fas fa-user-minus';
1616

1717
super.initAttrs(attrs);

js/src/forum/components/ErasureRequestsList.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export default class ErasureRequestsList extends Component {
1616
return (
1717
<div className="NotificationList ErasureRequestsList">
1818
<div className="NotificationList-header">
19-
<h4 className="App-titleControl App-titleControl--text">{app.translator.trans('blomstra-gdpr.forum.erasure_requests.title')}</h4>
19+
<h4 className="App-titleControl App-titleControl--text">{app.translator.trans('flarum-gdpr.forum.erasure_requests.title')}</h4>
2020
</div>
2121
<div className="NotificationList-content">
2222
<ul className="NotificationGroup-content">
@@ -28,7 +28,7 @@ export default class ErasureRequestsList extends Component {
2828
{avatar(request.user())}
2929
{icon('fas fa-user-edit', { className: 'Notification-icon' })}
3030
<span className="Notification-content">
31-
{app.translator.trans(`blomstra-gdpr.forum.erasure_requests.item_text`, {
31+
{app.translator.trans(`flarum-gdpr.forum.erasure_requests.item_text`, {
3232
name: username(request.user()),
3333
})}
3434
</span>
@@ -38,7 +38,7 @@ export default class ErasureRequestsList extends Component {
3838
);
3939
})
4040
) : !state.loading ? (
41-
<div className="NotificationList-empty">{app.translator.trans('blomstra-gdpr.forum.erasure_requests.empty_text')}</div>
41+
<div className="NotificationList-empty">{app.translator.trans('flarum-gdpr.forum.erasure_requests.empty_text')}</div>
4242
) : (
4343
LoadingIndicator.component({ className: 'LoadingIndicator--block' })
4444
)}

js/src/forum/components/ExportAvailableNotification.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export default class ExportAvailableNotification extends Notification {
1717

1818
content() {
1919
const notification = this.attrs.notification;
20-
return app.translator.trans('blomstra-gdpr.forum.notification.export-ready', {
20+
return app.translator.trans('flarum-gdpr.forum.notification.export-ready', {
2121
username: username(notification.fromUser()),
2222
});
2323
}

0 commit comments

Comments
 (0)