吃着冰激凌的宇航员 發表於 2025-10-16 17:43:00

keycloak~标准的国际化设计

<p>在 Keycloak 中,国际化设置和默认语言的配置主要涉及以下几个方面:</p>
<h3 id="1-keycloak-配置">1. <strong>Keycloak 配置</strong></h3>
<p>在 Keycloak 的管理控制台中,你可以通过以下步骤设置默认语言:</p>
<ul>
<li>登录到 Keycloak 管理控制台。</li>
<li>选择你的 Realm。</li>
<li>转到 <strong>Realm 设置</strong>(Realm Settings)。</li>
<li>在 <strong>国际化</strong>(Internationalization)选项卡中,可以设置默认语言。</li>
</ul>
<p>如果没有明确设置,Keycloak 默认会使用 <code>en</code>(英语)作为会话语言。</p>
<h3 id="2-浏览器语言">2. <strong>浏览器语言</strong></h3>
<p>Keycloak 会根据用户的浏览器语言设置来决定初始的语言。如果浏览器发送的请求中包含 <code>Accept-Language</code> 头部,Keycloak 会优先考虑这个值。也就是说,如果用户的浏览器语言是其他语言,Keycloak 会尝试匹配并使用该语言。</p>
<ul>
<li>当keycloak程序里配置的语言和浏览器不一致时,会出来语言和皮肤不一样的情况,默认程序里语言是中文</li>
<li>浏览器默认是英文,这时会出现页面内容和KEYCLOAK_LOCALE不一致情况</li>
</ul>
<p><img src="https://images.cnblogs.com/cnblogs_com/lori/2399824/o_240926071026_036D51C3-3E6C-455b-A80A-0ADE770366DA.png" alt="" loading="lazy"></p>
<h3 id="3-cookie-设置">3. <strong>Cookie 设置</strong></h3>
<p>当用户登录后,Keycloak 会在 Cookie 中生成一个名为 <code>KEYCLOAK_LOCALE</code> 的会话级别变量,用于存储当前的语言设置。如果用户在界面上更改了语言,该 Cookie 的值将会更新。</p>
<h3 id="总结">总结</h3>
<ul>
<li>默认语言 (<code>KEYCLOAK_LOCALE</code>) 可以在 Keycloak 管理控制台中进行设置。</li>
<li>如果未设置,Keycloak 默认使用英语。</li>
<li>浏览器的语言设置会影响 Keycloak 的初始语言选择。</li>
</ul>
<p>你可以检查这些设置,以确保 Keycloak 的语言配置符合你的需求。如果需要进一步的帮助,请告诉我!</p>
<h1 id="会话级cookie">会话级cookie</h1>
<p>在 Keycloak 中,<code>KEYCLOAK_LOCALE</code> Cookie 的生命周期是会话级的,这意味着它的存活时间与浏览器会话相关。具体来说:</p>
<h3 id="会话级-cookie-的特性">会话级 Cookie 的特性</h3>
<ul>
<li>
<p><strong>关闭浏览器后失效</strong>:会话级 Cookie 在用户关闭浏览器时会被删除。因此,当你下次重新打开浏览器时,之前存储在 <code>KEYCLOAK_LOCALE</code> Cookie 中的值将不再存在。</p>
</li>
<li>
<p><strong>浏览器标签页</strong>:如果你只是关闭了某个标签页,而不是整个浏览器,Cookie 仍然会保持有效,直到你关闭整个浏览器或手动清除 Cookie。</p>
</li>
</ul>
<h3 id="可能的例外情况">可能的例外情况</h3>
<ol>
<li>
<p><strong>持久化 Cookie</strong>:如果开发者在设置 Cookie 时使用了持久化选项(例如,设置了过期时间),那么即使关闭浏览器,Cookie 也会保留。但这并不适用于会话级 Cookie。</p>
</li>
<li>
<p><strong>隐私模式</strong>:在隐私/无痕模式下,所有会话级 Cookie 会在窗口关闭后立即被删除。</p>
</li>
</ol>
<h3 id="总结-1">总结</h3>
<p>如果你关闭了浏览器,<code>KEYCLOAK_LOCALE</code> Cookie 的值应该不会保留。如果你发现关闭浏览器后再次打开仍能看到该值,可能是因为使用了持久化 Cookie 或其他特殊设置。可以检查 Cookie 的属性以确认其类型和生命周期设置。</p>


</div>
<div id="MySignature" role="contentinfo">
    <p></p>
<div class="navgood">
<p>作者:仓储大叔,张占岭,<br>
荣誉:微软MVP<br>QQ:853066980</p>

<p><strong>支付宝扫一扫,为大叔打赏!</strong>
<br><img src="https://images.cnblogs.com/cnblogs_com/lori/237884/o_IMG_7144.JPG"></p>
</div><br><br>
来源:https://www.cnblogs.com/lori/p/19146270
頁: [1]
查看完整版本: keycloak~标准的国际化设计