Vij*_*jay 6 ngx-translate angular angular7
小智 3
我知道有点晚了,但这个问题有一些看法。我通过谷歌搜索没有找到直接的解决方案,所以我发布了我的解决方案。
我是为 Angular 15 做的
因此,如果有人正在寻找解决方案,您可以这样做:
// https://www.npmjs.com/package/yaml
import { parse } from 'yaml';
...
class TranslateYamlHttpLoader implements TranslateLoader {
constructor(
private http: HttpClient,
public path: string = '/assets/i18n/'
) {}
public getTranslation(lang: string): Observable<Object> {
return this.http
.get(`${this.path}${lang}.yaml`, { responseType: 'text' })
.pipe(map((data) => parse(data)));
}
}
...
@NgModule({
...
HttpClientModule,
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: (http: HttpClient) => new TranslateYamlHttpLoader(http),
deps: [HttpClient],
},
}),
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)
创建翻译文件 src/assets/i18n/en.yaml
hello: Hello Angular
validation:
required: Field is required
Run Code Online (Sandbox Code Playgroud)
现在你可以像平常一样使用 ngx-translate 了:
<button>
{{ 'hello' | translate }}
</button>
<div>
{{ 'validation.required' | translate }}
</div>
Run Code Online (Sandbox Code Playgroud)
我刚刚添加了yaml解析
| 归档时间: |
|
| 查看次数: |
546 次 |
| 最近记录: |