Unfortunately `10_google3_bug.yml` comes before `2_bug.yml`.
This changes the name (slightly) of the issue templates based on the
instructions from GitHub on what to do when you have 10+ issue templates
(as a side-note: I wonder if we need/still use umbrella bugs for the
feature tracker, or two types of performance bugs)
Currently, in the Korean locale (`ko`), the `CupertinoDatePicker`
displays the time in the order of `hour : minute : AM/PM`.
However, the correct format for Korean conventions is `AM/PM : hour :
minute`.
This PR modifies the `CupertinoDatePicker` to display the time in the
correct order when the Korean locale is used.
## Changes
- Updated the time display order for the Korean (`ko`) locale in
`CupertinoDatePicker`.
- Previous format: `hour : minute : AM/PM`
- Updated format: `AM/PM : hour : minute`
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
### Description
This PR adds localization support for the **"Back"** and **"Cancel"**
buttons used in `CupertinoNavigationBar`.
#### Changes:
- Introduced `cancelButtonLabel` and `backButtonLabel` in
`CupertinoLocalizations`.
- ~Updated all ARB files with appropriate translations.~
- Modified `_NavigationBarStaticComponents` and `_BackLabel` to use
these labels.
- Ensured all localization tests pass.
- Fixed the test `Auto back/close button` in the
`packages/flutter/test/cupertino/localizations_test.dart`.
### Why is this needed?
Currently, the **"Back"** and **"Cancel"** (prev. **"Close"**) buttons
in `CupertinoNavigationBar` are hardcoded in English. This update
ensures they are properly localized across supported languages.
### Tests
One test failed (even before my changes): `Saturation is applied before
blur`

#### Manual Testing with the `modal_bottom_sheet` Package
I tested the change using [my custom mini
app](https://gist.github.com/Michae1Weiss/9afee8c425d03e3d41e331fdbf21344f)
and the `modal_bottom_sheet` package. I verified that the button is
correctly translated into German localization.
##### Before

##### After

### Button Name Change: From "Close" to "Cancel"
I have renamed the button from **"Close"** to **"Cancel"** to align with
the iOS native naming convention for buttons in modal dialogs.
#### Example:

### Related Issues
[CupertinoNavigationBar's "Close", "Back", and "Cancel" buttons are not
localized. **#48616** ](https://github.com/flutter/flutter/issues/48616)
[CupertinoNavigationBar's "Back" button is not localized **#120722**
](https://github.com/flutter/flutter/issues/120722)
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
Implements the framework side of secure paste milestone 2, where the iOS
system context menu items can be customized.
Depends on PR https://github.com/flutter/flutter/pull/161103. Currently
I've merged that PR into this one for testing, but I think that PR
should merge separately first.
### Widget API (most users)
```dart
TextField(
contextMenuBuilder: (BuildContext context, EditableTextState editableTextState) {
return SystemContextMenu.editableText(
editableTextState: editableTextState,
// items is optional
items: <IOSSystemContextMenuItem>[
const IOSSystemContextMenuItemCut(),
constIOS SystemContextMenuItemCopy(),
const IOSSystemContextMenuItemPaste(),
const IOSSystemContextMenuItemSelectAll(),
const IOSSystemContextMenuItemSearchWeb(
title: 'Search!', // title is optional for this button, defaults to localized string
),
// Milestone 3:
IOSSystemContextMenuItemCustom(
// title and onPressed are required
title: 'custom button',
onPressed: () {
print('pressed the custom button.');
}
),
],
);
},
),
```
### Raw Controller API
```dart
_systemContextMenuController.show(
widget.anchor,
<IOSSystemContextMenuItemData>[
// Notice these are different classes than those used for the widget. That's
// mainly because I can't provide localized defaults here, so the titles are
// required in the classes that have titles.
const IOSSystemContextMenuItemDataCut(),
const IOSSystemContextMenuItemDataCopy(),
const IOSSystemContextMenuItemDataPaste(),
const IOSSystemContextMenuItemDataSelectAll(),
const IOSSystemContextMenuItemDataSearchWeb(
title: 'Search!', // title is required.
),
// Milestone 3:
IOSSystemContextMenuItemDataCustom(
// title and onPressed are required as before.
title: 'custom button',
onPressed: () {
print('pressed the custom button.');
}
),
],
);
```
<details>
<summary>Json format</summary>
```dart
return _channel.invokeMethod<Map<String, dynamic>>(
'ContextMenu.showSystemContextMenu',
<String, dynamic>{
'targetRect': <String, double>{
'x': targetRect.left,
'y': targetRect.top,
'width': targetRect.width,
'height': targetRect.height,
},
'items': <dynamic>[
<String, dynamic>{
'type': 'default',
'action': 'paste',
},
<String, dynamic>{
'type': 'default',
'action': 'copy',
},
<String, dynamic>{
'type': 'default',
'title': 'Crazy Title',
'action': 'share',
},
],
},
);
```
</summary>
</details>
### Localization changes
This change requires the SystemContextMenu widget in the widgets library
to be able to look up the default localized label for several context
menu buttons like "Copy", etc. Those strings previously resided in
MaterialLocalizations and CupertinoLocalizations, but not in
WidgetsLocalizations, so I have copied the necessary strings into
WidgetsLocalizations.
---------
Co-authored-by: Huan Lin <hellohuanlin@gmail.com>
This PR is to:
* Add Tibetan and Uighur for Flutter
* Update translations
Fixes: #155879
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
This auto-formats all *.dart files in the repository outside of the
`engine` subdirectory and enforces that these files stay formatted with
a presubmit check.
**Reviewers:** Please carefully review all the commits except for the
one titled "formatted". The "formatted" commit was auto-generated by
running `dev/tools/format.sh -a -f`. The other commits were hand-crafted
to prepare the repo for the formatting change. I recommend reviewing the
commits one-by-one via the "Commits" tab and avoiding Github's "Files
changed" tab as it will likely slow down your browser because of the
size of this PR.
---------
Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
When running `dart format` over these lines the `// ignore` ended up on
a line where it wasn't properly ignoring the lint. This adjusts the
placement of `// ignore`s so they will continue to ignore the right
thing even after the code is auto formatted.
I am hoping that if we do this now the large PR that formats the entire
repo will go in smoother without manual intervention.
Fixes https://github.com/flutter/flutter/issues/156565
This update corrects the `TimeOfDayFormat` mapping for the Hindi language. Previously, the format was incorrectly set to `a_space_h_colon_mm` - (a h:mm), but it should be `h_colon_mm_space_a` - (h:mm a) since Hindi is a LTR language.
*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*
*List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.*
*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
The translation console stop processing l10n requests since end of last year and finally finished all of them:) This PR is to update material and cupertino localizations.
[Wikipeidia](https://ko.wikipedia.org/wiki/%EC%9E%98%EB%9D%BC%EB%82%B4%EA%B8%B0,_%EB%B3%B5%EC%82%AC,_%EB%B6%99%EC%97%AC%EB%84%A3%EA%B8%B0)
In korea, we use '잘라내기', '복사', '붙여넣기', not '잘라냄', '복사', '붙여넣기'.

e.g.) korean translation site, papago
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
Manual recreation of https://github.com/flutter/flutter/pull/148911
Entire PR is just the output of
```
flutter update-packages --force-upgrade
```
followed by (run from the root of the flutter repo)
```
find . -type d -name 'android' | dart dev/tools/bin/generate_gradle_lockfiles.dart --no-gradle-generation --no-exclusion
```
This PR is step 12 in the journey to solve issue #136139 and make the
entire Flutter repo more readable.
Most of it involves implementing switch expressions, and there's also a
few other random things that I wanted to clean up a bit.
DDS was temporarily pinned to 4.1.0 because 4.2.0 triggered some test
failures (see https://github.com/flutter/flutter/pull/147250). Those
failures should be fixed by vm_service 14.2.2, so this unpins DDS and
rolls both of these packages (along with devtools_shared, which is a DDS
dependency).
(If the bot updates vm_service before this is done, I can rebase over
that will reduce the size of this PR to just a few files)
This PR is to update material_color_utilities package version to the latest. `material_color_utilities/scheme/scheme_fruit_salad.dart` and `material_color_utilities/scheme/scheme_rainbow.dart` are exported after version 0.9.0.
Once this PR is merged, we don't need to explicitly import these two files like the change in PR #144805, which breaks some dependencies in `Google testing`.