html 在双语网站中保留语言

2024-03-10

我正在开发一个双语网站(西班牙语/英语),我采纳了第二个答案的建议在这篇文章中 https://stackoverflow.com/questions/32008125/using-javascript-to-change-website-language.

这是导航栏中我用来选择语言的代码:

<li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" id="dropdown06" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        <span lang="es">Idioma</span>
        <span lang="en">Language</span>
    </a>
    <div class="dropdown-menu" aria-labelledby="dropdown06">
        <a class="dropdown-item coll-navbar language">
            <span lang="es">English</span>
            <span lang="en">Español</span>
        </a>
    </div>
</li>

这是js代码:

$('[lang="en"]').hide();
$('.language').click(function() {
  $('[lang="es"]').toggle();
  $('[lang="en"]').toggle();
});

这是实现的代码示例:

<div class="title col-12 col-md-8">
    <h2 class="align-center" lang="es"><strong>
            Costura</strong></h2>
    <h2 class="align-center" lang="en"><strong>
            Sewing</strong></h2>
</div>

而且,它工作得很好,唯一的问题是,当我选择第二种语言并更改 html 页面时,它会返回到第一个语言(在本例中为西班牙语);选择后,如何在所有 html 中保留第二种语言?

提前致谢,


方法一:

您可以使用Jquery Cookie https://plugins.jquery.com/cookie/坚持语言价值观。

$('[lang="en"]').hide();
$('.language').click(function() {
  $('[lang="es"]').toggle();
  $('[lang="en"]').toggle();

  if ($.cookie('lang') === 'en') {
     $.cookie('lang', 'es', { expires: 7 });
  } else {
     $.cookie('lang', 'en', { expires: 7 });
  }
});

然后运行下面的代码块来检查是否有任何lang页面加载时的值:

if ($.cookie('lang')) {
    var lang = $.cookie('lang');
    document.documentElement.setAttribute('lang', lang);
} else {
    document.documentElement.setAttribute('lang', 'en');

方法二:

使用本地存储API解决问题:

<html>
    <head>
        
    </head>

    <body>
        
        <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" id="dropdown06" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                <span lang="es">Idioma</span>
                <span lang="en">Language</span>
            </a>
            <div class="dropdown-menu" aria-labelledby="dropdown06">
                <a class="dropdown-item coll-navbar language">
                    <span lang="es">English</span>
                    <span lang="en">Español</span>
                </a>
            </div>
        </li>

        <div class="title col-12 col-md-8">
            <h2 class="align-center" lang="es"><strong>
                    Costura</strong></h2>
            <h2 class="align-center" lang="en"><strong>
                    Sewing</strong></h2>
        </div>



    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>

    <script type="text/javascript">

        var lang = localStorage.getItem("lang");
        if (lang){
            if (lang == "en"){
                $('[lang="en"]').show();
                $('[lang="es"]').hide();
            }else{
                $('[lang="es"]').show();
                $('[lang="en"]').hide();
            }
        }
        
        
        $('.language').click(function() {
           
            $('[lang="es"]').toggle();
            if (lang === 'en') {
                localStorage.setItem('lang', 'en');
                $('[lang="en"]').show();
                $('[lang="es"]').hide();
            } else {
                localStorage.setItem('lang', 'es');
                $('[lang="es"]').show();
                $('[lang="en"]').hide();
            }
        });
    </script>
    </body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

html 在双语网站中保留语言 的相关文章

  • Iphone safari 无法在键盘打开时调整视口大小

    当键盘弹出时 Mobile safari 不会更新 window innerHeight 至少在9 3 5中 并且有几个答案 例如this https stackoverflow com a 17604856 2423187一 有评论说在
  • jQuery Mobile 中的页面高度不正确

    我正在使用 jQuery Mobile 1 2 0 开发一个 Web 应用程序 并且在 iOS 和 Android 上正确计算页面高度 但在 Windows Phone 上则不然 它在页面底部有一个间隙 知道如何修复它吗 最好只使用 CSS
  • 从纵向旋转到横向时的字体大小问题

    解决了它 webkit text size adjust 100 Prevent font scaling in landscape while allowing user zoom 从纵向旋转到横向时 我遇到了一个小的字体大小问题 在 s
  • 迭代 div 内的输入

    我试图通过 jQuery 迭代放置在特定 div 上的所有输入 但没有响应 我无法使用警报查看输入的值 我究竟做错了什么
  • 如何将 HTML 代码转换为 Confluence 风格的 Wiki 标记?

    Mylyn Wikitext 的 API 文档具有将 Wiki 标记转换为 HTML 的函数 但我找不到将 HTML 代码转换 解析为 Wiki 标记的函数 班级MarkupParser有方法parseToHTML 但是我在哪里可以找到相反
  • 用于移动 Web 应用程序的带有图表的框架

    我正在开发一个移动网络应用程序 我需要在饼图中表示一些数据 但是我没有找到任何好的框架来提供良好的选择并在移动设备上正常工作 我想知道一些框架 免费 这可以帮助我 如果您能给出一些基础示例 我会感到惊讶 我正在考虑使用 ajax 技术来显示
  • 如何让我的“点击”功能与 iOS 配合使用

    我有一组充当按钮的 Div 这些按钮有一个简单的 jquery click 函数 该函数适用于除 iOS 之外的所有浏览器 例如 div class button click me div and button click function
  • 使用 PHP 简单 HTML DOM 将隐藏的输入标记值作为字符串获取

    我试图获取输入类型隐藏标记值 CAS AH 11 等 以及名称属性 但在运行基于 PHP 的解析器时我得到的只是一个空白页 有人知道出了什么问题吗 我已经查过了将隐藏输入作为字符串抓取 使用 PHP 简单 HTML DOM 解析器 http
  • 在 Javascript 中获取文本框的值

    我有这个html代码 table border cellpadding 3 cellspacing 0 tbody tr td Song td td td tr tbody table
  • 使用 jQuery 获取样式标签内容?

    问题 我正在尝试获取内容在样式标签内但我无法让它工作 代码的作用 我使用 jQuery 并尝试使用 text 和 html 获取样式内容 这是行不通的 My code
  • HTML5 游戏到本机应用程序 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在用 HTML5 制作游戏 我最熟悉 HTML5 并且比 C 等更高级的语言更喜欢它 HTML5
  • 如何在 Jekyll 博客中包含视频标签/mp4 视频

    I am not寻找一种方法链接到 YouTube https stackoverflow com questions 10529859 how to include video in jekyll markdown blog 122738
  • 为什么有些网站在 iPad 上无法缩放?

    有谁知道为什么 iPad 缩放 你知道 你用两根手指放大文本 屏幕 在某些网站上不起作用 例如 脸书网 c3 arc nasa gov nex 我正在工作的网站 谷歌搜索没有显示任何内容 这让我认为这不是一个常见问题 预先感谢您的任何见解
  • 带有 viewbags 的 MVC 数据集

    如何将数据集放入视图袋中并在视图中显示结果 我有一个来自模型的数据集 并将其写入视图包 我想使用 foreach 循环从视图中的视图包中获取数据行 我已经有一个变量进入视图 所以我无法正常传递数据集 每页我还会有许多其他数据集 所以我认为
  • 使用“SVG 多边形”悬停状态在“SVG”之后淡入 div

    有没有一个只用CSS来解决这个问题的方法 我希望能够在 SVG 之后淡入 div 但前提是用户将鼠标悬停在 SVG 多边形上 代码看起来像这样
  • 如何禁用向左滚动?

    I got a div 元素 parent 包含多个子元素 item 我想启用滚动父元素一个方向 left OR正确的 否则什么都不会发生 看我的代码 parent scroll function gt gt gt scroll event
  • 选择 jQuery 中的每第 n 个项目?

    jQuery 有方便的 even 和 odd 选择器 用于选择集合中偶数或奇数索引的项目 我用它来清除一系列浮动框中的所有其他项目 如下所示 div class 2up div div div div div div div and Cle
  • jquery 中 DOM 元素的手动垃圾回收是否可以提高浏览器性能?

    在性能范围内 删除不再需要的元素是否有意义 或者浏览器是否对代码中未进一步引用的 dom 元素执行自动垃圾收集 some element fadeOut 1000 function el el remove lt does this mak
  • jQuery异步ajax查询和返回值问题(范围、闭包)

    由于异步查询和变量范围问题 代码无法正常工作 我不明白如何解决这个问题 使用 async false 更改为 ajax 方法 不是一个选项 我知道闭包 但我如何在这里实现它 不知道 我已经在这里看到了有关 js 中的闭包和 jQuery 异
  • jQuery 倒计时插件 - 只显示非零周期

    我正在使用 jQuery 倒计时插件编写倒计时 我只希望它显示活动 非零 周期 例如代替 剩余时间 0 天 0 小时 13 分 20 秒 它应该只显示 13 分 20 秒 我的代码是 countdown countdown expiryUr

随机推荐

  • 如何在 Sinatra 代码中发出 POST 请求?

    单击表单中的按钮将发送一个 POST 请求 由以下代码段处理 post register do send post request to http www randomsite com parse response do something
  • JS async/await - 为什么await需要异步?

    为什么使用await需要声明其外部函数async 例如 为什么这个 mongoose 语句需要它所在的函数来返回一个承诺 async function middleware hostname done try let team await
  • MPMediaItem 未使用 MPMediaItemPropertyAssetURL 在 AVAudioPlayer 中播放

    我有这段代码 用于查找并播放 MPMediaItem MPMediaPropertyPredicate predicate MPMediaPropertyPredicate predicateWithValue self persisten
  • 注册自定义单元格时不调用prepareForSegue

    这不是 Segue 标识符拼写错误或类似问题 方法prepareForSegue当我点击表视图控制器中的单元格时 实际上并没有被调用 如果我点击单元格 则仅当我添加新单元格时 控制语句之前的日志语句才不会记录 void prepareFor
  • 1/252 = 0 在 C# 中?

    我正在做计算 在调试时我发现了这个 double num 1 252 当我调试它时 数字设置为零 0 是否有一个原因 我想将其作为实际计算 Thanks 是 该计算正在执行integer算术 尝试这个 double num 1 0 252
  • JavaScript Chrome 扩展 - 从弹出窗口到内容创建新选项卡后发送消息

    在我的扩展的 popup js 中 我想创建一个新选项卡并发送一条消息 content js 必须监听消息并回答 但它不起作用 我尝试了很多在其他问题中找到的解决方案 但没有成功 这是我的文件 Manifest json name Stam
  • 嵌入导航控制器

    我刚刚将 Xcode 从 4 2 更新到 4 3 3 但我不断遇到问题 是否可以在单视图应用程序中添加导航控制器 因为当我尝试将导航控制器嵌入到控制器中时 什么也没有发生 我希望有两个视图控制器通过按钮连接到第二个控制器 并通过导航栏连接到
  • 在 javafx 2 中通过拖动来移动节点的正确方法?

    我正在将具有大量自定义绘画的 Swing Graphics2D 应用程序转换为 JavaFX2 应用程序 虽然我非常喜欢新的 API 但在绘制椭圆时 我似乎遇到了性能问题 我想在鼠标移动到鼠标光标下方时绘制椭圆 当我以稳定的方式 不是快得离
  • 带标头的节点获取 API GET

    https www npmjs com package node fetch https www npmjs com package node fetch节点 v6 4 0 npm v3 10 3 我想在此 API 调用中发送带有自定义标头
  • 如何将 PCL 转换为 .Net 标准库

    所以我有一个 PCL 项目 但现在想更新它以支持 Net Standard 我读过微软网站步骤 https learn microsoft com en us dotnet core porting libraries converting
  • C# 将字节转换为字符串并写入txt文件

    例如我该如何转换byte b new byte 1 b 1 255串起来 我需要一个值为 255 的字符串变量string text 255 然后将其存储在文本文件中 从字节开始 byte b new byte 255 string s E
  • 如何读取多列ListView控件的列名?

    查找 ListView 列名称的最佳方法是什么 我使用在该论坛上找到的过程将 DataTable 转换为列表 但我无法将 Id 列放在第一位 特别是因为并非所有 DataTable 都有 Id 列 我可以在集合 listView Colum
  • IQueryable 和 DbQuery 有什么区别?

    跟进这个问题 答案 如何使实体框架数据上下文只读 https stackoverflow com questions 10437058 how to make entity framework data context readonly 解
  • d3 中的动画折线图

    我找到了example http duspviz mit edu d3 workshop transitions animation d3 中的动画线条系列 我正在尝试在我的中制作相同的动画TS code 但它不成功 Start Anima
  • 如何禁用移动响应式缩放?

    我编写了以下代码来禁用放大或缩小 除以下手机外 它在所有手机上都能正常工作最近的 iPhone 例如 iphone 6 iphone 7 此功能不起作用 我哪里做错了 你的代码没有问题 只是IOS 10不支持它 你可以找到更多here ht
  • 针对不受信任的 SSL 端点生成 WCF 代理

    我需要为客户端公开的服务生成 WCF 代理 该服务被严格锁定 因此事实证明这很困难 另外 我是 WCF 的新手 所以我可能会遗漏一些明显的东西 客户端仅向我们的生产服务器开放了防火墙 因此我无法从我的开发计算机上的 Visual Studi
  • 以编程方式在(线性)布局(即 ScrollView 内部)内添加视图

    我有一个应用程序 点击一些后 会显示新闻内容的活动 我想在其底部显示注释 这些注释是在异步任务中动态加载的 一种方法是使用 ListView 和自定义 ArrayAdapter 但是 我必须将 ListView 放入 ScrollView
  • ASP.NET MVC2 错误:没有为此对象定义无参数构造函数

    编辑 这是固定的 请参阅下面的解决方案 Solution 首先 我错误地将节点定义在 shared web config 中 而不是 WebUI 项目根目录中的 web config 中 我也没有在 web config 中正确定义我的连接
  • 每小时行数

    我正在探索自行车共享数据 我合并了两个表 一个包含自行车共享数据 另一个包含天气数据 开始日期 列位于自行车共享数据中 日期 列是天气数据 我想对每小时的 ID 计数进行分组 这样我就可以看到天气对自行车使用的影响 ID Start End
  • html 在双语网站中保留语言

    我正在开发一个双语网站 西班牙语 英语 我采纳了第二个答案的建议在这篇文章中 https stackoverflow com questions 32008125 using javascript to change website lan