Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check against i18n checklist for CR transition for wasm 2.0 #1806

Open
24 tasks done
dschuff opened this issue Sep 18, 2024 · 2 comments
Open
24 tasks done

Check against i18n checklist for CR transition for wasm 2.0 #1806

dschuff opened this issue Sep 18, 2024 · 2 comments
Labels
i18n-tracker Group bringing to attention of Internationalization, or tracked by i18n but not needing response.

Comments

@dschuff
Copy link
Member

dschuff commented Sep 18, 2024

This short review is for is a request for transition for all 3 WebAssembly specifications, namely the core spec, which defines the core code format and semantics;
the JS API specification, which provides a JavaScript API for interacting with WebAssembly; and the Web API specification, which describes the integration of WebAssembly with the broader web platform.

All of the analysis herein concerns the changes made since Wasm 1.0. These are listed
here and include the following extension
proposals:
Sign extension instructions; Non-trapping float-to-int conversions; multi-value block types and function results;
reference types, table instructions, and multiple tables; bulk memory and table instructions; SIMD vector instructions. Links to overviews of each proposal can be found in the proposal's respective github repo (these are listed here).

Because WebAssembly is a code format designed to be produced and by compilers rather than humans, there is very little i18n interaction, especially in the diff since 1.0

  1. If the spec (or its implementation) contains any natural language text that will be read by a human (this includes error messages or other UI text, JSON strings, etc, etc), ensure that there’s metadata about and support for basic things such as language and text direction. Also check the detailed guidance for Language and Text direction.

    None of the new proposals contain any natural language text.

    • Not applicable
  2. If the spec (or its implementation) allows content authors to produce typographically appealing text, either in its own right, or in association with graphics. take into account the different typographic styles used around the world (for things such as line-breaking, text justification, emphasis or other text decorations, text selection and units, etc.) Also check the detailed guidance for Typographic support.

    • Not applicable
  3. If the spec (or its implementation) allows the user to point into text, creates text fragments, concatenates text, allows the user to select or step through text (using a cursor or other methods), etc. make allowances for the ways different scripts handle units of text. Also check the detailed guidance for Text-processing.

    • Not applicable
  4. If the spec (or its implementation) allows searching or matching of text, including syntax and identifiers understand the implications of normalisation, case folding, etc. Also check the detailed guidance for Text-processing.

    • Not applicable
  5. If the spec (or its implementation) sorts text ensure that it does so in locally relevant ways. Also check the detailed guidance for Text-processing.

    • Not applicable
  6. If the spec (or its implementation) captures user input ensure that it also captures metadata about language and text direction, and that it accommodates locale-specific input methods.

    • Not applicable
  7. If the spec (or its implementation) deals with time in any way that will be read by humans and/or crosses time zone boundaries ensure that it will represent time as expected in locales around the world, and manage the relationship between local and global/absolute time. Also check the detailed guidance for Local dates, times and formats.

    • Not applicable
  8. If the spec (or its implementation) allows any character encoding other than UTF-8. make sure you have a convincing argument as to why, and then ensure that the character encoding model is correct. Also check the detailed guidance for Characters.

    • Not applicable
  9. If the spec (or its implementation) defines markup ensure support for internationalisation features and avoid putting human-readable text in attribute values or plain-text elements. Also check the detailed guidance for Markup & syntax.

    • Not applicable
  10. If the spec (or its implementation) deals with names, addresses, time & date formats, etc ensure that the model is flexible enough to cope with wide variations in format, levels of data, etc. Also check the detailed guidance for Local dates, times and formats.

    • Not applicable
  11. If the spec (or its implementation) describes a format or data that is likely to need localization. ensure that there’s an approach in place which allows effective storage and labelling of, and access to localised alternatives for strings, text, images, etc.

    • Not applicable
  12. If the spec (or its implementation) makes any reference to or relies on any cultural norms ensure that it can be adapted to suit different cultural norms around the world (ranging from depictions of people or gestures, to expectations about gender roles, to approaches to work and life, etc).

    • Not applicable

Short i18n review checklist is here

@dschuff dschuff added the i18n-tracker Group bringing to attention of Internationalization, or tracked by i18n but not needing response. label Sep 18, 2024
@xfq
Copy link

xfq commented Sep 19, 2024

Thank you for doing the short self-review!

I took a brief look (not a complete review), and saw this:

If the spec (or its implementation) allows searching or matching of text, including syntax and identifiers understand the implications of normalisation, case folding, etc. Also check the detailed guidance for Text-processing.

This is somewhat applicable, for example, see #1618

@dschuff
Copy link
Member Author

dschuff commented Sep 19, 2024

True, somewhat applicable.
The wat syntax itself isn't used by browsers; browsers only support the wasm binary format, and that allows names (which appear in JS as section names, import and export names) to be any UTF-8 encoded string. This was an asymmetry between the binary and text format that has since been fixed, as @rossberg indicated on #1618.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
i18n-tracker Group bringing to attention of Internationalization, or tracked by i18n but not needing response.
Projects
None yet
Development

No branches or pull requests

2 participants