Translate not match html lang

I’m make custom theme base on casper theme
I have route.yml:
routes:

collections:
/:
permalink: /{slug}/
template: index
filter: ‘tag:-[hash-en]’
/en/:
permalink: /en/{slug}/
template: index-en
filter: ‘tag:hash-en’

taxonomies:
tag: /tag/{slug}/
author: /author/{slug}/

In my theme:
I’m change default.hbs with <html lang="{{{block “lang”}}}">
index.hbs:
{{!< default}}
{{!-- The tag above means: insert everything in this file
into the {body} of the default.hbs template --}}
{{#contentFor “lang”}}{{@site.lang}}{{/contentFor}}
index-en.hbs
{{#contentFor “lang”}}en{{/contentFor}}
post.hbs
{{#post}}

{{#has tag="#en"}}

{{#contentFor "lang"}}en{{/contentFor}}

{{else}}

{{#contentFor "lang"}}{{@site.lang}}{{/contentFor}}

{{/has}}

{{/post}}

I configure Publication Language : vi
When i request /en, translator helper not use locales en.json,
translator helper only use value of Publication Language setting.
Help please! Thanks.