如何在TypeScript中编写多语言(字符串翻译)网页

时间:2016-09-05 06:49:47

标签: typescript

我需要使用TypeScript在网页上显示翻译文本,但我不知道是否有任何支持。
我的第一个想法是使用条件导入,但是通过我找到的方法,我松开了代码完成。

declare var Translates: any;
switch (userLanguage)
{
    case "si":
        Translates = require('translates/si');
        break;
    default:
        Translates = require('translates/en');
        break;
}

我想我可以编写定义文件和普通的javascript文件,但是编写声明文件非常耗时,所以如果我能用TypeScript编写代码就会很棒。
当然,加载所有翻译文件并返回正确的字符串不是一种选择。

如何在TypeScript中翻译输出并使用代码完成?我可以在TypeScript中使用哪种方法(如果有的话)用于多语言网站?

代码完成是必需的,因为会有很多翻译(大多数是短字符串 - 1或2个单词)并且我无法记住它们,但打开语言源文件并搜索名称(再次)耗费时间。

1 个答案:

答案 0 :(得分:0)

  

如何在TypeScript中翻译输出并使用代码完成?

遗憾的是,如果不手动输入,就不能这样做,例如type Message = "a" | "b" | "someOtherMessage"

更多

TypeScript团队自己从.json个文件生成它,例如https://github.com/Microsoft/TypeScript/blob/master/src/compiler/diagnosticMessages.json用于生成diagnosticMessages.generated.ts。这不是特定于语言环境的,但我过去曾做过类似的区域设置检查(非开源对不起)。