A2uiStrings
The handful of words this module has to supply itself, for the host to translate.
Almost every string a surface shows came out of the agent's payload, and that is deliberate: the agent chose the surface's language, and a renderer that mixed its own English into it would be answering a question nobody asked it. Five words cannot come from there. A picker dialog has a confirm and a cancel button, a filterable ChoicePicker has a search field, a Modal has the button that closes it, a Video has the frame itself, and none of the five has any text in the catalog to borrow -- but leaving them unnamed is not a solution either: an unlabelled control announces nothing to a screen reader, which for a dialog's only controls means the dialog cannot be operated without sight, and an unnamed region is one a reader passes over as if it were not there.
So they are named here and the host may replace them, the same shape A2uiImageLoader uses for the same reason -- the library declines to decide something that belongs to the application:
CompositionLocalProvider(
LocalA2uiStrings provides A2uiStrings(confirm = "決定", cancel = "取消", filter = "絞り込み"),
) {
A2uiSurface(renderer, surfaceId, Material3Components.Basic)
}The defaults are English because something has to be on screen when a host says nothing, and an empty string would be the unlabelled button again.