Protobuf supports only ASCII names. We cannot have commands in, say, Russian or Chinese. This introduces some difficulties of mapping results of EventStorming (which is obviously conducted in a native language of the domain experts) to the code and back.
Although we cannot change Protobuf, we can provide options that would allow labelling model elements names in a native language. We still would have everything in the proto code defined presumably in English, but options placed alongside would ease the mapping. Also, since options are available in run-time, we'd be able to show diagnostics in native language too.
Here's how it may look:
message CreateUser {
option (name) = {ru: "Создать пользователя", en_US: "Create User"};
string id = 1 [ (name).ru = "идентификатор" ];
}
Protobuf supports only ASCII names. We cannot have commands in, say, Russian or Chinese. This introduces some difficulties of mapping results of EventStorming (which is obviously conducted in a native language of the domain experts) to the code and back.
Although we cannot change Protobuf, we can provide options that would allow labelling model elements names in a native language. We still would have everything in the proto code defined presumably in English, but options placed alongside would ease the mapping. Also, since options are available in run-time, we'd be able to show diagnostics in native language too.
Here's how it may look: