使用grep查找和编辑正确的表单

时间:2013-09-28 15:51:05

标签: php shell grep

我有一个网站,建立在CMS(Ushahidi)上,内置翻译。每页的右上角是30多种语言的下拉菜单。我正在尝试编辑它,以便只剩下两种语言:英语和法语。

为了找到要编辑的文件,我一直在使用grep:

grep -Rl English pathtowebsite

我使用英语作为搜索词。这导致了我的文件和目录的兔子洞,其中包含每种语言选项的语言翻译。我删除了除英语和法语之外的所有内容。

但是,表单仍然提供所有语言的选项。我无法使用什么搜索词来查找要编辑的表单。

以下是html的示例。为了删除除英语和法语之外的所有语言的选项,我将如何找到此表单?有问题的网站在这里,如果它有帮助:http://tinyurl.com/c8djrvr

<div class="language-box"><form action="https://trashswag.com/main?l=uk_UA&amp;l=en_GB" method="get">
<input type="hidden" name="l" value="en_GB"  />
<select id="l" name="l"  onchange="this.form.submit()" >
<option value="az_AZ">Azərbaycan dili (AZ)</option>
<option value="id_ID">Bahasa Indonesia (ID)</option>
<option value="bs_BA">Bosanski (BA)</option>
<option value="ca_ES">Català (ES)</option>
<option value="cy_GB">Cymraeg (GB)</option>
<option value="da">Dansk</option>
<option value="de_DE">Deutsch (DE)</option>
<option value="en_GB" selected="selected">English (GB)</option>
<option value="en_US">English (US)</option>
<option value="es_AR">Español (AR)</option>
<option value="es_CL">Español (CL)</option>
<option value="es_ES">Español (ES)</option>
<option value="es_PE">Español (PE)</option>
</select></form>
</div>

2 个答案:

答案 0 :(得分:2)

Ushahidi框架可能为您提供更清晰的解决方案,但纯粹是在谈论您可以使用的grep命令:

 grep -Rl 'English (.*)</option>' pathtowebsite

<强>更新

实际上,此下拉列表是动态填充的,而不是直接来自文件。它是直接来自application/cache/kohana_configuration,如果你在调整application/i18n后清除缓存目录就应该没问题。

答案 1 :(得分:1)

Ushahidi wiki上的文档告诉我们,通过查看application/i18n目录生成语言下拉列表。您应该从该目录中删除您不想支持的语言的相应文件夹。

在进行更改后,请不要忘记通过删除application/cache文件夹中的内容来清除应用程序缓存。

维基页面: https://wiki.ushahidi.com/display/WIKI/Localization