Javascript 切换表单中标签的语言

Javascript 切换表单中标签的语言,javascript,python,html,flask,flask-wtforms,Javascript,Python,Html,Flask,Flask Wtforms,我在烧瓶应用程序中编写了一系列wtforms。我应用程序中的一个页面将被说英语和西班牙语的人使用。我想找到一个干净的方法,通过网页上的切换按钮在英语和西班牙语之间切换表单元素标签 我在这里找到了一个很好的解决方案,可以使用HTMLlang属性切换语言(第二个答案由J Grover提供): 这将每种语言封装在元素中,然后简单地隐藏我们不想看到的语言 我的问题是表单上字段的标签来自wtforms对象。我不确定如何在当前设置中包括多种语言。下面是我现在的位置示例: 表格 class RoofChec

我在烧瓶应用程序中编写了一系列wtforms。我应用程序中的一个页面将被说英语和西班牙语的人使用。我想找到一个干净的方法,通过网页上的切换按钮在英语和西班牙语之间切换表单元素标签

我在这里找到了一个很好的解决方案,可以使用HTML
lang
属性切换语言(第二个答案由J Grover提供):

这将每种语言封装在
元素中,然后简单地隐藏我们不想看到的语言

我的问题是表单上字段的标签来自wtforms对象。我不确定如何在当前设置中包括多种语言。下面是我现在的位置示例:

表格

class RoofCheck(FlaskForm):                                                                                                                                                                                              
    """                                                                                                                                                                                                                      
    Class holding the form inputs for a roof check                                                                                                                                                                                       
    """                                                                                                                                                                                                                      
    roofstate = RadioField('Roof Status',                                                                                                                                                                               
                           validators=[validators.DataRequired('Please select roof closed or open')],                                                                                                                        
                           choices=[('closed', 'Closed'), ('open', 'Open')])                                                                                                                                                 
    comments = TextAreaField('Comments on roof status',                                                                                                                                                                    
                             [validators.optional(), validators.length(max=390)],                                                                                                                                          
                             render_kw={"placeholder": "Enter comments here",                                                                                                                                              
                                        "rows": 4,                                                                                                                                                                         
                                        "style": "min-width: 100%"})                                                                                                                                                       
    submit = SubmitField('Submit') 
HTML

<div id='roof_check' class='col-md-6 padding-0'>                                                                                                                                                                        
    <form id="roof_check_form" action={{ url_for('roof_check')}} method="post" name="roof">                                                                                                                                   
        <fieldset class='form_group'>                                                                                                                                                                                    
            {{ form1.hidden_tag() }}                                                                                                                                                                                     
            <legend class='text-center'>                                                                                                                                                                                 
                Daily visual check of the roof                                                                                                                                                          
            </legend>                                                                                                                                                                                                    
            {% for subfield in form1.roofstate %}                                                                                                                                                                        
                <div class='form-check'>                                                                                                                                                                                 
                    {{ subfield }} &nbsp;                                                                                                                                                                                
                    {{ subfield.label(class_="form-check-label") }} <br/>                                                                                                                                                
                </div>                                                                                                                                                                                                   
            {% endfor %}                                                                                                                                                                                                 
            <div class='form-check'>                                                                                                                                                                                     
                {{ form1.comments }}                                                                                                                                                                                   
            </div>                                                                                                                                                                                                       
            <div class='form-check'>                                                                                                                                                                                     
                {% with messages = get_flashed_messages(category_filter=["form1"]) %}                                                                                                                                    
                    {% if messages %}                                                                                                                                                                                    
                        {% for message in messages %}                                                                                                                                                                    
                            <div> {{ message }} </div>                                                                                                                                                                   
                        {% endfor %}                                                                                                                                                                                     
                    {% endif %}                                                                                                                                                                                          
                {% endwith %}                                                                                                                                                                                            
                {% for message in form1.roofstate.errors %}                                                                                                                                                              
                    <div> {{ message }} </div>                                                                                                                                                                           
                {% endfor %}                                                                                                                                                                                             
                <div style="padding-top: 5px;">                                                                                                                                                                          
                    {{ form1.submit(class_="btn btn-primary") }}                                                                                                                                                        
                </div>                                                                                                                                                                                                   
            </div>                                                                                                                                                                                                       
        </fieldset>                                                                                                                                                                                                      
    </form>                                                                                                                                                                                                              
</div> 

{{form1.hidden_tag()}}
每天对屋顶进行目视检查
{form1.STATE%中的子字段为%1}
{{子字段}}
{{subfield.label(class=“form check label”)}
{%endfor%} {{form1.comments}} {%with messages=get_flashed_messages(category_filter=[“form1]”)%} {%if消息%} {消息%中的消息为%s} {{message}} {%endfor%} {%endif%} {%endwith%} {form1.ROOTSTATE.errors%中的消息为%1}
roof_status_text = ("<span lang='en'>Roof Status</span>"
                    "<span lang='es'>Estado del Techo</span>")
open_text = ("<span lang='en'>Open</span>"
             "<span lang='es'>Abierto</span>")
closed_text = ("<span lang='en'>Closed</span>"
               "<span lang='es'>Cerrado</span>")
roofstate = RadioField(roof_status_text,
                       validators=[validators.DataRequired('Please select roof closed or open')],                                                                                                                        
                       choices=[('closed', closed_text),
                                ('open', open_text)])