问题标签 [mason]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
572 浏览

perl - 为 Perl/Mason i18n 进行字符串提取的自动化方法?

作为一个团队,我目前正在致力于国际化一个非常大的 Perl/ Mason Web 应用程序(这是否使这成为死亡行军??)。该应用程序已接近 20 年,并且是用相对老式的 Perl 风格编写的;它不使用 Moose 或其他 OO 模块。我目前正计划使用Locale::Maketext::Gettext进行消息查找,并使用 GNU Gettext 目录文件。

我一直在尝试开发一些工具来帮助从我们的 bigass 代码库中提取字符串。目前,我所拥有的只是一个相对简单的 Perl 脚本,用于通过源代码解析以查找字符串文字,提示用户一些上下文以及是否应将字符串标记为翻译,如果是则标记它。

我需要标记的字符串与我可以忽略的字符串相比,噪音太大了。源中的许多字符串不是面向用户的,例如哈希键,或类型比较,例如

我确实对每个提议的字符串应用了一些启发式方法,看看我是否可以立即忽略它(例如,我忽略了用于哈希查找的字符串,因为在我们的代码库中,99% 的时间这些字符串不是面向用户的)。然而,尽管如此,我的程序显示给我的大约 90% 的字符串是我不关心的。

有没有更好的方法可以帮助自动化我的字符串提取任务(即比从源代码中获取每个字符串文字更智能的方法)?是否有任何商业程序可以同时处理 Perl 和 Mason 源代码?

另外,我有一个(相当愚蠢的)关于一个优秀工具的想法,我把它的工作流程放在下面。是否值得付出努力来实现这样的事情(这可能会很快处理 80% 的工作),还是我应该接受一个费力、烦人的手动字符串提取过程?

  1. 首先从源中提取每个字符串文字,并将其放入 Gettext PO 文件中。
  2. 然后,编写一个 Mason 插件来解析应用程序所服务的每个页面的 HTML,目的是记录用户正在查看的字符串。
  3. 使用该应用程序并尝试涵盖所有用例,建立一个面向用户的字符串存储。
  4. 给定用户看到的字符串存储,对目录文件中的字符串进行模糊匹配,并跟踪与 UI 匹配的目录条目。
  5. 最后,目录文件中未匹配的任何内容都可能不是面向用户的,因此请从目录中删除这些内容。
0 投票
1 回答
1122 浏览

perl - 在 perl Mason 框架中定义全局变量

我最近遇到一个问题:如何在 perl Mason Framework 中定义一个全局变量?我需要定义一个变量并为其分配一个值,该值将从所有 Mason 组件中可见,但我所有的尝试都碰巧不成功,因为组件告诉他们看不到该变量。

提前致谢。

0 投票
1 回答
540 浏览

perl - perl/mason:为 handler.pl 中的全局变量赋值

是否可以将值分配给 中的全局变量handler.pl

我需要为 in 中的全局变量赋值handler.pl,并从 Mason 组件中获取该值。

我试过这样:

httpd.conf

处理程序.pl

东西.mas

但它不起作用,它不会返回<h1>test</h1>,但就像<h1></h1>未定义一样$x。我怎样才能让它工作?

0 投票
2 回答
733 浏览

perl - 使用 html::mason 管理会话状态

我正在将HTML::MasonwithApache2 mod_perl2用于一个项目,并且不确定什么是轻松管理会话状态的好方法。

请不要说使用催化剂。我通常会这样做,但这次不会。

0 投票
0 回答
105 浏览

node.js - joose/javascript 基于 mason2 之类的服务器端模板

是否存在类似Perlish Mason2的 node.js 模板?意味着具有以下功能的东西:

  • 基于组件的架构(!!!)(带有自动处理程序,dhandlers (Base.mc))
  • 即时将源代码(组件)编译成功能齐全的joose (javascript) 对象
  • 插件(缓存等)
0 投票
1 回答
202 浏览

perl - mod_perl设置中多个语言环境之间的冲突?

我目前正在致力于国际化大型 Perl/Mason Web 应用程序(Perl 5.8.0、Mason 1.48、mod_perl 和 Apache)。在选择本地化模块时,我决定使用Locale::TextDomain而不是 Locale::Maketext,主要是因为后者的复数形式支持不如我想的那么好。

我对 Locale::TextDomain 的困扰是它根据进程的语言环境解析要用于翻译的目录。当我意识到这一点时,我担心如果我希望用户能够使用不同的语言环境,这将如何影响我的应用程序——改变语言环境以适应一个用户的设置是否会影响另一个用户的会话?例如,是否会出现这样一种情况:由于德国用户的会话更改了进程的区域设置,因此英语用户收到了德语页面?我不太了解 Apache 的线程/进程模型是如何工作的,尽管似乎如果多个用户可以由同一个线程提供服务,这可能会发生。

此电子邮件线程将表明这是可能的;在这里,OP描述了我正在考虑的情况。

如果这是真的,有没有办法可以在仍然使用 Locale::TextDomain 的同时防止这种情况?我想我总是可以破解模块以独立于语言环境(可能使用 DBD::PO)加载目录,但希望我只是错过了一些可以解决我的问题的东西......

0 投票
2 回答
94 浏览

authentication - 从另一个子域登录到子域

我有一个站点parent1.site.com,并且我已登录并且我有域的身份验证 cookie parent1.site.com

有没有办法让我可以使用该cookie,例如自动登录另一个站点parent2.site.com

假设我无法更改身份验证 cookie 的域parent1.amazon.com。我试图将默认域设置为parent2.amazon.comas parent1.amazon.com,但这不起作用。

我会感谢任何形式的帮助。

0 投票
2 回答
1438 浏览

perl - Perl Std->href 格式化

我被要求对链接进行硬编码,以便某些搜索参数默认为 365 天时间范围。

在 perl 中,我使用Std->href(url)来生成 url。

我的问题是:

我需要将以下内容添加到 url 以默认到此时间范围:eventDateOption=365#orderAscending=

但是每当我添加它时,# 标签都会被替换为 %23 等。我想知道是否有办法让它不会发生这种替换。

0 投票
2 回答
314 浏览

html - $m->comp 返回无限递归调用错误

我在使用 HTML::Mason$m->comp从一个视图重定向到另一个视图时遇到问题。

有一个文件说file1.mi其中嵌入了 HTML 代码,file1.mi$m->comp用来重定向到file2.mi.

但是在网页中,无论何时file1.mi加载它都会多次打印页脚,并且在日志中我得到了错误

检测到嵌套页面框架应用程序调度,不完全支持此用法并可能导致意外行为

错误:应用程序上下文错误(渲染):组件堆栈深度为 32 级(无限递归调用?)

. 这是我用于重定向的脚本file1.mi

我在file1.mi呈现网页之前使用此脚本——即在执行任何 HTML 脚本之前。

我对梅森有点陌生,如果您对此有疑问,请继续。

0 投票
1 回答
302 浏览

security - 在处理程序中清理 HTML::Mason 参数?

我正在使用HTML::Mason,经过最近的安全审核,发现我们的某些软件容易受到标头注入的影响。具体来说session_id,这与通过GETPOST请求传递的参数有关。

我试图handler()从自定义处理程序修改我的方法中的环境,但是Apache2::RequestRec已经创建了,所以它不会接受更改。

有没有一种好方法可以在处理程序级别清理所有输入到 HTML::Mason 中?