06:37:33 RRSAgent has joined #dom-localization 06:37:37 logging to https://www.w3.org/2023/09/13-dom-localization-irc 06:37:37 RRSAgent, do not leave 06:37:37 RRSAgent, make logs public 06:38:08 Meeting: DOM Localization 06:38:40 Chair: eemeli 06:38:40 Agenda: https://github.com/w3c/tpac2023-breakouts/issues/52 06:38:40 clear agenda 06:38:40 agenda+ Pick a scribe 06:38:40 agenda+ Reminders: code of conduct, health policies, recorded session policy 06:38:40 agenda+ Goal of this session 06:38:40 agenda+ Discussion 06:38:40 agenda+ Next steps / where discussion continues 06:38:40 Ian has left #dom-localization 07:07:57 Ian has joined #dom-localization 07:08:05 RRSAgent, do not leave 07:08:28 RRSAgent, make logs public 07:08:32 Ian has left #dom-localization 07:10:34 Ian has joined #dom-localization 07:10:41 Ian has left #dom-localization 07:33:06 hsivonen has joined #dom-localization 07:35:34 annevk has joined #dom-localization 07:35:58 Mu-An has joined #dom-localization 07:36:02 present+ 07:36:14 scribe: annevk 07:36:21 Topic: DOM Localization 07:36:59 eemeli: I've been working on localization systems for about a decade, but not so much in W3C/WHATWG space. 07:38:34 eemeli: [Goes through slides, explains current flow and possible future flow.] 07:39:34 eemeli: Main goal is to enable client-side localization without scripting. 07:42:37 eemeli: Unicode is working on a MessageFormat 2, which provides some of the infrastructure needed for declarative localization 07:42:45 s/on a/on/ 07:44:57 eemeli: [asking the room] Should we do this? And how should we do this if so? 07:45:11 Domenic has joined #dom-localization 07:45:16 q+ 07:46:03 Domenic: I would love to learn more about the use case. In particular why we need client-side localization and cannot use the server. 07:46:40 eemeli: We have an implementation of this functionality in Firefox, called Fluent. 07:47:20 q+ 07:48:22 Domenic: I think the experience would be better with server-side translated content. 07:49:19 q- Domenic 07:50:09 Bert has joined #dom-localization 07:50:13 Mu-An: If localization is not thought about early it's really hard to add it to a website. Having it standardized would make adoption easier. 07:50:52 Domenic: If we implemented this in the server you could get the same developer experience, but a better user experience. 07:51:15 Carlos: many websites already do this client-side, but they don't have a good implementation of this functionality. 07:51:42 Carlos: Are localization files load-blocking? 07:51:52 eemeli: I think that's a question we have to answer. 07:52:03 q- Mu-An 07:52:19 q+ aphilips 07:52:32 addison has joined #dom-localization 07:52:36 q? 07:53:02 q- aphilips 07:53:43 addison: We clearly have web servers that can handle this. Proof is out there. But there are other kinds of web apps that could use this. 07:55:11 littledan: Organization-wise it might be nice to be able to organize your content in this way. 07:55:15 q+ annevk 07:57:40 annevk: I think we should approach this differently. We should start out with a web components library and see if that gets adopted widely. 07:57:45 "Fluent" 07:57:49 present+ 07:58:13 annevk: We would also need new primitives in the DOM to do this properly, such as DOM parts. 07:58:27 present+ 07:59:07 Domenic: Not entirely sure we need DOM parts for this. 07:59:15 RRSAgent, pointer? 07:59:15 See https://www.w3.org/2023/09/13-dom-localization-irc#T07-59-15 08:00:10 Domenic: A question here would be how complex the DOM mutations are going to be? 08:00:36 [littledan mentioned some more advanced features of MessageFormat 2 I missed, but they would complicate it a bit more.] 08:01:58 Thomas: DOM structure has to stay the same. 08:03:14 littledan: At what point does it make sense to add it to the browser? 08:05:47 q+ 08:06:17 littledan: is the locale-negotiation driven by the browser or the website? 08:10:05 q- 08:11:08 Mu-An: Maybe there could be more indication in the HTML to allow for different links for instance, depending on the language. 08:12:42 annevk: Is there a way for an attribute to reference something in MessageFormat 2? 08:12:57 [littledan helpfully clarifies] 08:13:03 q- 08:13:10 q- Mu-An 08:13:22 eemeli: That's an open question. 08:14:24 Thomas: I think typically you'd localize everything 08:14:31 eemeli: I can imagine certain scenarios 08:14:39 [?] 08:16:46 [Some discussion about design particulars.] 08:19:42 Domenic: [suggests using ID instead of l10n attribute] 08:20:01 Thomas: that might be problematic as currently the value of that attribute is a hash of what is localized 08:20:13 eemeli: That's probably still malleable and using ID might be good 08:21:18 Carlos: potentially we could use Selectors, not sure about perf 08:22:57 Domenic: it seems like a separate namespace for identifying a piece of localizable content has a bunch of benefits based on this discussion 08:23:48 Thomas: It's kinda like ARIA where you want to have your own set of attributes 08:26:53 q? 08:28:21 only "hash" got minuted, but it was an important point that it's common to have a retranslation trigger process where any change to the original (the language that developers write and that is the source of translation) requires a change of the localization key (not necessary a hash, could be appending a number). 08:28:29 q+ with closing advice 08:28:43 q+ to provide closing advice 08:29:46 littledan: One thing that's kinda missing from here is how you pass parameters in. Not sure how you do this in Fluent? 08:30:17 eemeli: [explains, finding Fluent documentation left as an exercise for the reader] 08:33:12 Domenic: fairly repeatable process for adding platform features. 1) Motivate use cases better. 2) Going through the tricky cases and identify what your proposed solution is. 08:34:16 eemeli: Intentionally came with an incomplete proposal to find collaborators to finish it. 08:34:30 Thomas: I think it's worth solving. Lots of legacy code that's incompatible. 08:34:57 RRSAgent: make minutes 08:34:58 I have made the request to generate https://www.w3.org/2023/09/13-dom-localization-minutes.html annevk