Here are a couple of pointers to get you started:
Source code for the Swift compiler could be found at https://github.com/apple/swift.
Currently diagnostic definitions are located in
.def files e.g. DiagnosticsSema.def.
We'd like to change that so diagnostics could be stored in a more accessible format
like JSON or YAML (or something else entirely) to make it easy for (non-technical)
people to contribute new translations.
Another disadvantage of
.def files is that they are pre-processed into another format while compiler itself is built. With a new format we'd like this limitation to be lifted to enable changes to diagnostic messages without rebuilding compiler itself e.g. path to the file could be passed via argument to the compiler as well as expected locale.
The most relevant bits of the compiler code are located in
DiagnosticEngine, and various
DiagnosticConsumer classes. Clients could be found in
The more details the better but we'd really like to see how the new format is going to be structured, how diagnostics are going to be verified to use existing ids and correct arguments and performance considerations.
If you have any other questions please let me know!
Also note that draft proposals are due at the end of this week so if you want to participate you'd have to submit your solution before March 30th.