This PR is to add Irish(ga) to Flutter and update localizations.
Fixes https://github.com/flutter/flutter/issues/68291
## 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.
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>
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.
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.
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.
Fixes https://github.com/flutter/flutter/issues/141764
Translation suggestion here:
https://tc.corp.google.com/btviewer/edittranslation?project=Flutter&msgId=8222331119728136330&language=zh-CN
## 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] All existing and new tests are passing.
Fixes#141347
This PR is to add a "clear text" tooltip for the clear button on `SearchAnchor`'s search view and also add a `clearButtonTooltip` entry for `material_localizations`.
## Description
Modifies the semantic label for popup and context menus to be "Dismiss menu" instead of just "Dismiss".
## Related Issues
- Fixes https://github.com/flutter/flutter/issues/118994
## Tests
- Updated tests
Internal bug: b/256596915
Turns out we need to regenerate date localizations in order for the
`intl` package to be setup properly within Flutter. This PR fixes the
script (since it assumes the use of the old `.packages` way of handling
packages), and regenerates the `generated_date_localizations.dart` file.
This PR should properly incorporate the new Welsh translations into
Flutter (and maybe some other strings that seem to be updated in TC).
I think the other translation changes come from this issue:
https://github.com/flutter/flutter/issues/115181.
Fixes#120124.