Skip to content

[Paintroid-515] Use Paintroid keys for translations#161

Open
Knist1704 wants to merge 2 commits into
Catrobat:developfrom
Knist1704:PAINTROID-515
Open

[Paintroid-515] Use Paintroid keys for translations#161
Knist1704 wants to merge 2 commits into
Catrobat:developfrom
Knist1704:PAINTROID-515

Conversation

@Knist1704
Copy link
Copy Markdown
Contributor

@Knist1704 Knist1704 commented May 14, 2026

This pull request refactores the app to use localization keys similar to the ones used in the Paintroid-Kotlin project.
Jira Link

New Features and Enhancements

  • Localization with Paintroid-Kotlin keys in main paintroid and colorpicker package

Refactorings and Bug Fixes

  • Existing hardcoded strings are now localized
  • Edited existing test cases to be more in line with the Paintroid-Kotlin project
  • Added keys for the "project" and other new features of the flutter version
  • Unused crowdin files delete

Checklist

Your checklist for this pull request

Please review the contributing guidelines and wiki pages of this repository.

  • Include the name of the Jira ticket in the PR’s title
  • Add the link to the ticket in Jira in the description of the PR
  • Include a summary of the changes plus the relevant context
  • Choose the proper base branch (develop)
  • Confirm that the changes follow the project’s coding guidelines (Wiki)
  • Verify that the changes generate no compiler or linter warnings
  • Perform a self-review of the changes
  • Verify to commit no other files than the intentionally changed ones
  • Include reasonable and readable tests verifying the added or changed behavior
  • Confirm that new and existing tests pass locally
  • Check that the commits’ message style matches the project’s guideline
  • Verify that your changes do not have any conflicts with the base branch
  • After the PR, verify that all CI checks have passed
  • Add new information to the Wiki

Copy link
Copy Markdown
Contributor

@Lenkomotive Lenkomotive left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

solid work 👍🏼 pls also fix conflicts

import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';

// ignore_for_file: type=lint
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can this be removed if we convert the keys to camelCase: pocketpaint_app_name -> pocketpaintAppName? snake_case is not flutter/dart convention

String get dialog_smoothing => 'Glättung';

@override
String get dialog_zoom_window_enabled => 'Enabled';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some keys are still english, pls check.

findsOneWidget);

final okButton = find.widgetWithText(TextButton, 'OK');
final okButton = find.widgetWithText(TextButton, 'DONE');
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some tests still use hardcoded values, pls check the testfiles again for incosistencies.

Comment thread l10n.yaml
@@ -0,0 +1,6 @@
arb-dir: assets/lang
template-arb-file: app_translations_en.arb

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add nullable-getter: false and strip the ! from every callsite. dart analyze lists 30 unnecessary_non_null_assertion warnings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants