我面临着NGX-翻译的问题!这是我有2个sperate API与不同的语言,因此例如与此类似http://example.com/api
和http://example.com/fr/api/
现在NGX-翻译我必须使用en/fr.json
文件翻译我的角应用!因为我从文档看到了!
但现在我需要使用来自这两个API的数据是!它已经被翻译在服务器上!
http://example.com/api
http://example.com/fr/api/
所以我的问题在这里,我该怎么办?以及继续使用json files
在我的应用程序一样the application menu
有一些静态的话
如果有其他替代产品,请不要犹豫,告诉!
假设:
["en","fr"]
您可以创建构建正确的API端点如下服务:
@Injectable()
export class EnpointLocalizer {
private readonly tokenMap = {'en': '/', '/fr/'}
constructor(private readonly translate: TranslateService){}
localizeJoin(sections: string[]){
const {currentLang} = this.translate;
return sections.join(this.tokenMap[currentLang] || '/');
}
}
如下,其中要求,那么你可以把它注射和使用它:
@Injectable()
export class FooService {
private endpoint = ["http://example.com","api"];
constructor(private http: HttpClient, private localizer: EnpointLocalizer){}
fetch(){
return this.http.get(this.localizer.localizeJoin(this.endpoint),...);
}
}
当然,也有,你可以实现一个“本地化”的逻辑(例如,正则表达式拍打+替换)不同的方式。但是,对于您的使用情况下,我认为这是一个简单而明确的开始。
使用只有那些言词管(some statics words in my app like the application menu)
喜欢
{{ 'HOME.NAME' |翻译}}
和删除翻译从API数据过滤器