Skip to content

Commit

Permalink
Merge branch 'main' into aphillips-allow-defaulting-of-functions
Browse files Browse the repository at this point in the history
  • Loading branch information
eemeli committed Aug 31, 2023
2 parents fbd4a5a + 9259563 commit a10da70
Show file tree
Hide file tree
Showing 96 changed files with 5,779 additions and 5,268 deletions.
7 changes: 3 additions & 4 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Feature request
about: Suggest an idea or feature for Message Format
title: ''
labels: ''
assignees: ''

title: ""
labels: ""
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/prettier.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Apply Prettier style

on:
pull_request:
paths:
- "docs/**"
- "exploration/**"
- "spec/**"
push:
branches-ignore:
- main
paths:
- "docs/**"
- "exploration/**"
- "spec/**"
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
prettier:
runs-on: ubuntu-latest

steps:
- name: Checkout from push
if: github.event_name != 'pull_request'
uses: actions/checkout@v3
- name: Checkout from PR
if: github.event_name == 'pull_request'
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}
- uses: actions/setup-node@v3
with:
node-version: "20.x"
- run: npm install
- run: npm run prettier
- name: git config
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
- run: git add .
- name: git commit & push any changes
run: |
git diff-index --quiet HEAD || (git commit -m "style: Apply Prettier" && git push)
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
.DS_Store
.DS_Store
node_modules/
package-lock.json
10 changes: 4 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,25 @@

## Joining the Working Group

We are looking for participation from software developers, localization engineers and others with experience
We are looking for participation from software developers, localization engineers and others with experience
in Internationalization (I18N) and Localization (L10N). If you wish to contribute to this work, please review
the information on the Contributor License Agreement below. In addition, you should:

1. Apply to join our [mailing list](https://groups.google.com/a/chromium.org/forum/#!forum/message-format-wg)
2. Watch this repository (use the "Watch" button in the upper right corner)

<!-- boilerplate follows - do not edit -->

## Contributor License Agreement

In order to contribute to this project, the Unicode Consortium must have on file a Contributor License Agreement (CLA) covering your contributions, either an individual or a corporate CLA. Pull Requests will not be merged until the correct CLA is signed. Which version needs to be signed depends on who owns the contribution being made: you as the individual making the contribution or your employer. _It is your responsibility to determine whether your contribution is owned by your employer._ Please review [The Unicode Consortium Intellectual Property, Licensing, and Technical Contribution Policies][policies] for further guidance on which CLA to sign, as well as other information and guidelines regarding the Consortium’s licensing and technical contribution policies and procedures.

- **Individual CLA**: If you have determined that the Individual CLA is appropriate, just open a Pull Request and you will have the opportunity to click to accept the Individual CLA.
- **Individual CLA**: If you have determined that the Individual CLA is appropriate, then when you open your first Pull Request, an automated comment will appear that contains a link you can follow to accept the Individual CLA.

- **Corporate CLA**: If you have determined that a Corporate CLA is appropriate, please check the [public list of Corporate CLAs][unicode-corporate-clas] that the Consortium has on file. If your employer has already signed a CLA, then just open a Pull Request and you will have the opportunity to click that your employer has already signed a CLA. If your employer has not already signed a CLA, you will need to arrange for your employer to sign the Corporate CLA, as described in [How to Sign a Unicode CLA][signing].
- **Corporate CLA**: If you have determined that a Corporate CLA is appropriate, please check the [public list of Corporate CLAs][unicode-corporate-clas] that the Consortium has on file. If your employer has already signed a CLA, then when you open your first Pull Request, an automated comment will appear that contains a link you can follow to declare your affiliation with this employer. If your employer has not already signed a CLA, you will need to arrange for your employer to sign the Corporate CLA, as described in [How to Sign a Unicode CLA][signing].

Unless otherwise noted in the LICENSE file, this project is released under the free and open-source [Unicode License][unicode-license], also known as Unicode, Inc. License Agreement - Data Files and Software.

SPDX-License-Identifier: Unicode-DFS-2016


[policies]: https://www.unicode.org/policies/licensing_policy.html
[unicode-corporate-clas]: https://www.unicode.org/policies/corporate-cla-list/
[signing]: https://www.unicode.org/policies/licensing_policy.html#signing
Expand Down
71 changes: 32 additions & 39 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,46 +1,39 @@
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
UNICODE LICENSE V3

See Terms of Use <https://www.unicode.org/copyright.html>
for definitions of Unicode Inc.’s Data Files and Software.
COPYRIGHT AND PERMISSION NOTICE

NOTICE TO USER: Carefully read the following legal agreement.
BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT.
IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
THE DATA FILES OR SOFTWARE.
Copyright © 2019-2023 Unicode, Inc.

COPYRIGHT AND PERMISSION NOTICE
NOTICE TO USER: Carefully read the following legal agreement. BY
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.

Copyright © 1991-2023 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining a
copy of data files and any associated documentation (the "Data Files") or
software and any associated documentation (the "Software") to deal in the
Data Files or Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, and/or sell
copies of the Data Files or Software, and to permit persons to whom the
Data Files or Software are furnished to do so, provided that either (a)
this copyright and permission notice appear with all copies of the Data
Files or Software, or (b) this copyright and permission notice appear in
associated Documentation.

Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation
(the "Data Files") or Unicode software and any associated documentation
(the "Software") to deal in the Data Files or Software
without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, and/or sell copies of
the Data Files or Software, and to permit persons to whom the Data Files
or Software are furnished to do so, provided that either
(a) this copyright and permission notice appear with all copies
of the Data Files or Software, or
(b) this copyright and permission notice appear in associated
Documentation.
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
THIRD PARTY RIGHTS.

THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
FILES OR SOFTWARE.

Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale,
use or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.
Except as contained in this notice, the name of a copyright holder shall
not be used in advertising or otherwise to promote the sale, use or other
dealings in these Data Files or Software without prior written
authorization of the copyright holder.
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ Messages can define variants which correspond to the grammatical (or other) requ
match {$count :number}
when 1 {You have one notification.}
when * {You have {$count} notifications.}

The message syntax is also capable of expressing more complex translation, for example:

let $hostName = {$host :person firstName=long}
let $guestName = {$guest :person firstName=long}
let $guestsOther = {$guestCount :number offset=1}

match {$host :gender} {$guestOther :number}

when female 0 {{$hostName} does not give a party.}
Expand All @@ -56,15 +56,15 @@ See more examples and the formal definition of the grammar in [spec/syntax.md](.

### Implementations

* Java: [`com.ibm.icu.message2`](https://unicode-org.github.io/icu-docs/apidoc/dev/icu4j/index.html?com/ibm/icu/message2/package-summary.html), part of ICU 72 released in October 2022, is a _tech preview_ implementation of the MessageFormat 2 syntax, together with a formatting API. See the [ICU User Guide](https://unicode-org.github.io/icu/userguide/format_parse/messages/mf2.html) for examples and a quickstart guide.
* JavaScript: [`messageformat`](https://github.com/messageformat/messageformat/tree/master/packages/mf2-messageformat) 4.0 implements the MessageFormat 2 syntax, together with a polyfill of the runtime API proposed for ECMA-402.
- Java: [`com.ibm.icu.message2`](https://unicode-org.github.io/icu-docs/apidoc/dev/icu4j/index.html?com/ibm/icu/message2/package-summary.html), part of ICU 72 released in October 2022, is a _tech preview_ implementation of the MessageFormat 2 syntax, together with a formatting API. See the [ICU User Guide](https://unicode-org.github.io/icu/userguide/format_parse/messages/mf2.html) for examples and a quickstart guide.
- JavaScript: [`messageformat`](https://github.com/messageformat/messageformat/tree/master/packages/mf2-messageformat) 4.0 implements the MessageFormat 2 syntax, together with a polyfill of the runtime API proposed for ECMA-402.

## Sharing Feedback

We invite feedback about the current syntax draft, as well as the real-life use-cases, requirements, tooling, runtime APIs, localization workflows, and other topics.

* General questions and thoughts → [post a discussion thread](https://github.com/unicode-org/message-format-wg/discussions).
* Actionable feedback (bugs, feature requests) → [file a new issue](https://github.com/unicode-org/message-format-wg/issues).
- General questions and thoughts → [post a discussion thread](https://github.com/unicode-org/message-format-wg/discussions).
- Actionable feedback (bugs, feature requests) → [file a new issue](https://github.com/unicode-org/message-format-wg/issues).

## Participation

Expand All @@ -74,9 +74,10 @@ To join in:
2. Apply to join our [mailing list](https://groups.google.com/a/chromium.org/forum/#!forum/message-format-wg)
3. Watch this repository (use the "Watch" button in the upper right corner)

## Copyright & Licenses
### Copyright & Licenses

Copyright © 1991-2023 Unicode, Inc. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the United States and other countries.
Copyright © 2019-2023 Unicode, Inc. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the United States and other countries.

The project is released under [LICENSE](./LICENSE). A CLA is required to contribute to this project - please refer to the CONTRIBUTING.md file (or start a Pull Request) for more information.
The project is released under [LICENSE](./LICENSE).

A CLA is required to contribute to this project - please refer to the [CONTRIBUTING.md](./CONTRIBUTING.md) file (or start a Pull Request) for more information.
7 changes: 3 additions & 4 deletions delegates.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
MessageFormat Working Group Delegates
=====================================
# MessageFormat Working Group Delegates

MessageFormat Working Group uses the standard TC39 note-taking procedures, including unique abbreviations for all delegates.

## Acronym Conventions

With the exception of certain grandfathered delegates, all delegates should have three-letter abbreviations. The following scheme is recommended:
With the exception of certain grandfathered delegates, all delegates should have three-letter abbreviations. The following scheme is recommended:

- Suggestion 1: First letter of given name, First letter of surname, Last letter of surname.
- Example: Gordon Moore → GME
Expand All @@ -27,7 +26,7 @@ Please include your primary affiliation (e.g., the company you represent or wher
- Eemeli Aro - OpenJSF & Vincit (EAO)
- Elango Cheran - Google (ECH)
- George Rhoten - Apple (GWR)
- Jan Mühlemann - Locize (JMU)
- Jan Mühlemann - Locize (JMU)
- Janne Tynkkynen - PayPal (JMT)
- Jeff Genovy - Microsoft (JMG)
- John Watson - Facebook (JRW)
Expand Down
4 changes: 1 addition & 3 deletions docs/chair-group.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@ The Chair Group is a representative body of the Message Format WG that collectiv
- Manage and accept WG applications.

- Manage and organize all WG communication channels, email, mail group, boards and Github repositories.

- Prioritize, label and organize the tasks of the WG.

- Use the possibility of e-mail or synchronization meetings to discuss issues or organize WG work.
- Use the possibility of e-mail or synchronization meetings to discuss issues or organize WG work.

- Create and update events and agenda.

Expand All @@ -25,7 +24,6 @@ The Chair Group is a representative body of the Message Format WG that collectiv
- Take care of the minutes of the meetings, including recording of all decisions. The minutes and presentations given in WG should be available in the WG Drive.

- Prepare technical drafts and documentation.

- Formulate concrete questions that the WG can answer in their monthly meetings.

#### Participate
Expand Down
2 changes: 1 addition & 1 deletion docs/consensus_decisions.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ For more details on the process that lead to these decisions, please refer to th
- **Consensus 5 & 6:**
The solution for [issue #127](https://github.com/unicode-org/message-format-wg/issues/127).
Codified in [issue #137](https://github.com/unicode-org/message-format-wg/issues/137) during the [January 2021 meeting](https://github.com/unicode-org/message-format-wg/issues/146) of the working group.
Discussed and accepted at the [February 2021 meeting](https://github.com/unicode-org/message-format-wg/blob/HEAD/meetings/2021/notes-2021-02-15.md) of the working group.
Discussed and accepted at the [February 2021 meeting](https://github.com/unicode-org/message-format-wg/blob/HEAD/meetings/2021/notes-2021-02-15.md) of the working group.
- **Consensus 7:**
Discussed at the [22 September 2021 meeting](https://github.com/unicode-org/message-format-wg/issues/196) of the working group.

Expand Down
12 changes: 6 additions & 6 deletions docs/contributing-to-agenda.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
## Contributing to Meetings

### Prepare Content
- Well ahead of the MFWG plenary meeting, produce and publish documentation about your proposal/idea, slides, design document, Github issue or any other relevant material, to be shared beforehand and presented during the meeting.

- Well ahead of the MFWG plenary meeting, produce and publish documentation about your proposal/idea, slides, design document, Github issue or any other relevant material, to be shared beforehand and presented during the meeting.

### Getting on the agenda

To propose a presentation/ time slot in MFWG plenary meetings:

- If there is not already an issue describing your topic, create one.
> Include all relevant information about the topic including necessary documentation.
> Include all relevant information about the topic including necessary documentation.
- Add the label `Agenda+` to the issue.

- Write to the [group email](https://groups.google.com/a/chromium.org/forum/#!forum/message-format-wg) asking the chair to add your item to the agenda _at least_ 48 hours in advance of the next call. More time is better. Note that the chair may choose to defer your item until a later meeting or to "future". Be sure to indicate any time restrictions you have.

- Watch for the chair to update the [official agenda](https://github.com/unicode-org/message-format-wg/blob/main/meetings/agenda.md).
- Notes for each meeting can be found by date under [this link](https://github.com/unicode-org/message-format-wg/tree/main/meetings)
- Watch for the chair to update the [official agenda](https://github.com/unicode-org/message-format-wg/blob/main/meetings/agenda.md).
- Notes for each meeting can be found by date under [this link](https://github.com/unicode-org/message-format-wg/tree/main/meetings)
Loading

0 comments on commit a10da70

Please sign in to comment.