[{"data":1,"prerenderedAt":130},["ShallowReactive",2],{"bml-reference-library-localization":3},{"data":4,"body":5},{},{"type":6,"children":7},"root",[8,17,46,58,63,75,108,113,125],{"type":9,"tag":10,"props":11,"children":13},"element","h1",{"id":12},"compiled-library-localization",[14],{"type":15,"value":16},"text","Compiled library localization",{"type":9,"tag":18,"props":19,"children":20},"p",{},[21,23,30,32,37,39,44],{"type":15,"value":22},"Library components use the same ",{"type":9,"tag":24,"props":25,"children":27},"code",{"className":26},"",[28],{"type":15,"value":29},"t",{"type":15,"value":31}," markup, ",{"type":9,"tag":24,"props":33,"children":34},{"className":26},[35],{"type":15,"value":36},"t:\u003Cattribute>",{"type":15,"value":38}," bindings, plural forms, and static\n",{"type":9,"tag":24,"props":40,"children":41},{"className":26},[42],{"type":15,"value":43},"t(\"key\")",{"type":15,"value":45}," calls as application components. Author stable message keys and source text in the\nlibrary's BML files. Component import aliases do not change those keys.",{"type":9,"tag":47,"props":48,"children":53},"pre",{"className":49,"code":51,"filename":-1,"highlights":-1,"language":52,"meta":26},[50],"language-html","\u003Ccomponent tag=\"greeting\">\n  \u003Cprop name=\"name\" type=\"String\"\u002F>\n  \u003Cp t=\"design.greeting\">Hello { name }\u003C\u002Fp>\n\u003C\u002Fcomponent>\n","html",[54],{"type":9,"tag":24,"props":55,"children":56},{"__ignoreMap":26},[57],{"type":15,"value":51},{"type":9,"tag":18,"props":59,"children":60},{},[61],{"type":15,"value":62},"The compiler records each component's messages, plural defaults, placeholder expressions, and\nsource locations in its binary library contract. Source attachments are useful for navigation;\nconsuming builds do not read them to discover strings. The library manifest uses format 5.\nRebuild libraries and consumers with matching BML tooling, including wrappers that depend on an\nupdated library contract.",{"type":9,"tag":18,"props":64,"children":65},{},[66,68,73],{"type":15,"value":67},"When a consuming module uses an imported component, its full component closure contributes strings\nto ",{"type":9,"tag":24,"props":69,"children":70},{"className":26},[71],{"type":15,"value":72},"build\u002Fgenerated\u002Fbml\u002Fresources\u002Fbml\u002Fi18n-manifest.json",{"type":15,"value":74},". This includes private helpers and deferred\ndependencies. An unused export or unused project-wide import contributes no library strings.\nAliases and shared dependencies contribute each declaration once. Components sharing a BML file\nretain their own declarations; file-level script keys are shared by that file's components.",{"type":9,"tag":18,"props":76,"children":77},{},[78,80,85,87,92,94,99,101,106],{"type":15,"value":79},"The resulting catalog keeps the existing i18n manifest version and works with the usual\n",{"type":9,"tag":24,"props":81,"children":82},{"className":26},[83],{"type":15,"value":84},"bosca bml i18n extract",{"type":15,"value":86},", ",{"type":9,"tag":24,"props":88,"children":89},{"className":26},[90],{"type":15,"value":91},"status",{"type":15,"value":93},", and ",{"type":9,"tag":24,"props":95,"children":96},{"className":26},[97],{"type":15,"value":98},"push",{"type":15,"value":100}," commands. Imported source locations include the\nartifact coordinate and original BML path, for example\n",{"type":9,"tag":24,"props":102,"children":103},{"className":26},[104],{"type":15,"value":105},"example:design:1.0!\u002Fbml\u002Fgreeting.bml",{"type":15,"value":107},". Translator placeholder examples retain their authored\nexpressions.",{"type":9,"tag":18,"props":109,"children":110},{},[111],{"type":15,"value":112},"One key identifies one source message across the consuming module. Identical defaults deduplicate;\nbare function references inherit an available authored default. Different text, different plural\nforms, or plain\u002Fplural disagreements fail compilation with both source locations. Give different\nmessages distinct keys. Change translations through the consuming project's localization catalog.",{"type":9,"tag":18,"props":114,"children":115},{},[116,118,123],{"type":15,"value":117},"The consuming server's existing ",{"type":9,"tag":24,"props":119,"children":120},{"className":26},[121],{"type":15,"value":122},"MessageSource",{"type":15,"value":124}," and locale policy govern every render. Translations\nuse the host's fallback chain, then the component's authored fallback. Library imports do not add\nsupported locales, fetch catalogs, or replace host bindings. Browser catalog requests continue using\nthe same host endpoint. Localized shared pages and catalog responses keep their existing body-based\nvalidators, so translation updates can change responses without rebuilding the library.",{"type":9,"tag":18,"props":126,"children":127},{},[128],{"type":15,"value":129},"Localization declarations participate in compiled contract digests and dependency inputs. A changed\nlibrary rebuilds the consuming catalog; wrappers must be rebuilt when an underlying contract changes.\nPublication verifies that both component and localization contracts survive archive customization.\nA localization conflict removes the old generated catalog, and removing the last declaration removes\nthe catalog file.",1793227349724]