在打字稿中使用Php gettext

问题描述 投票:1回答:1

我对AngularJs 2感兴趣,因此我打算在新项目中使用它。但是,我想用Php gettext启用i18n。

我在上一个项目中使用了Php gettext,如下所示(在JavaScript中嵌入了Php)

//saved as "js-functions.php"
var msg = '<?php echo _('Hello, I am newbie in programming'); ?>';

但是,如果我使用Typescript,我不知道如何在Typescript文件中使用“ include” Php标签。

//saved as "app-template.ts"
let msg = '<?php echo _('How should I include this in .ts file?'); ?>';

在Java中转换Typescript会不会有问题?还是对智能感知有问题?

相关问题:

此外,我看到一些教程建议我们应该让Angular Js 2处理所有视图,并且应该从服务器发送那些数据(包括字符串)以使其具有RESTful风格。因此,我是否需要重新构建程序并尝试在服务器中转换这些字符串,并发送给客户端进行显示?

嗯...如果我有一个privacy-policy.ts文件,该文件定义了template,并包括静态内容(即bla bla bla,所有那些无聊的单词),我应该在服务器中翻译这些单词,该怎么办?发送给客户进行展示?用Angular Js 2 template写所有这些单词是正确的做法吗?

Hmmmm ...还是TypeScript的任何php gettext替换,我正在寻找一种工具,该工具可以自动grep项目中的所有gettext字符串,包括Php,js和ts文件。

或者,如果您有更好的想法来处理Typescript + Php项目的i18n,请咨询。

php angular typescript gettext
1个回答
0
投票

回答一个老问题。希望对在此居住的任何人有用。

有几种方法可以实现,但是我建议不要沿着在JavaScript变量中嵌入PHP标记的路径走。

您走在正确的轨道上,在那里您可以拥有一个包含所有翻译的文件,并且它将导出一个函数,该函数使用该数据将字符串转换为相应的语言环境。这些翻译数据可以与您的主要javascript文件捆绑在一起,然后发送给客户端,也可以将它们提取到单独的文件中,以便浏览器可以同时加载数据并减小捆绑包的大小。

或者您可以托管一个API,该API根据您要转换为的语言环境为您提供翻译数据,并将其注入到您的应用程序中。

无论走什么路径,如果您不打算自己这样做,都可以在npm中找到几个i18n库。

© www.soinside.com 2019 - 2024. All rights reserved.