查看“如何进一步汉化FreePBX界面”的源代码
←
如何进一步汉化FreePBX界面
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:用户
您可以查看并复制此页面的源代码:
'''手动汉化FreePBX 中文界面''' FreePBX 自从 FreePBX 2.5 以后已经包括了gettext包支持i18n 中文汉化. 用户可以在本地对FreePBX 进行汉化处理,汉化FreePBX 需要经过以下几个步骤: '''找到相关汉化文件''' 在每个模块文件夹下面有一个 module_名称/i18n, 这个路径下有各种语言的POT文件,当然包括了zh_CN的文件,具体的文件路径是模块名称/i18n/zh_CN/LC_MESSAGES/模块名称.po 文件。 这些文件支持每个具体的模块界面汉化。 '''注意:'''core 文件夹不包括 i18n路径,主界面的中文汉化包存放在 admin/i18n/''zh_CN''/LC_MESSAGES<nowiki>/amp.po</nowiki> - <nowiki>amp.mo</nowiki>。 '''对PO文件进行汉化''' 举例,我们现在要对backup 模块中的po 文件进行汉化,用户使用POedit工具,在用户电脑打开PO文件,然后文件,用户根据文件中的提示可以一一对应进行汉化。在文件中用户会看到 "msgid" 和 "msgstr" 一对对应的值。"msgid" 是英文的原始条目, "msgstr" 就是中文的含义,这里有一个例子: <nowiki>#: amp_conf/htdocs/admin/modules/core/page.routing.php:275</nowiki> <nowiki>#: amp_conf/htdocs/admin/modules/core/page.did.php:141</nowiki> <nowiki>#, php-format</nowiki> msgid "Delete Route %s" msgstr "删除路由 %s" 在linux 环境下的编译工具是 KBabel ,当然用户也可以拷贝到Windows 环境下,使用[http://www.poedit.net/ Poedit]来编辑。 '''完成翻译以后,保存编译PO文件''' 这里的.po 文件需要编译保存成一个.mo 文件,系统才能显示中文,这些: '''注意:''' KBabel或者Poedit 可以点击保存,如果所有语法正确的话,工具会在相应的文件路径下保存一个同样文件名的mo后缀文件。用户可以把这个文件存放回i18n/''zh_CN''/LC_MESSAGES 目录下的 文件夹中。 当然用户也可以在linux 命令进行文件转换: msgfmt -v <nowiki>backup.po</nowiki> -o <nowiki>backup.mo</nowiki> '''测试汉化效果''' 为了支持中文界面的显示,我们必须在语言选择界面添加中文选项。打开文件 /var/www/html/admin/views/men<nowiki>u.ph</nowiki>p (默认是CentOS 安装),其他环境可能在不同的路径。 '''/var/www/html/admin/views<nowiki>/menu.ph</nowiki>p''' <pre> <nowiki>if($amp_conf['SHOWLANGUAGE']) {</nowiki> $out .= '<a id="language-menu-button" ' . 'class="button-right ui-widget-content ui-state-default">' . _('Language') . '</a>'; $out .= '<ul id="fpbx_lang" style="display:none;">'; $out .= '<li data-lang="en_US"><a href="#">'. _('English') . '</a></li>'; $out .= '<li data-lang="bg_BG"><a href="#">' . _('Bulgarian') . '</a></li>'; $out .= '<li data-lang="zh_CN"><a href="#">' . _('Chinese') . '</a></li>'; // 这里已经支持了中文zh_CN $out .= '<li data-lang="de_DE"><a href="#">' . _('German') . '</a></li>'; $out .= '<li data-lang="fr_FR"><a href="#">' . _('French') . '</a></li>'; $out .= '<li data-lang="he_IL"><a href="#">' . _('Hebrew') . '</a></li>'; $out .= '<li data-lang="hu_HU"><a href="#">' . _('Hungarian') . '</a></li>'; $out .= '<li data-lang="it_IT"><a href="#">' . _('Italian') . '</a></li>'; $out .= '<li data-lang="pt_PT"><a href="#">' . _('Portuguese') . '</a></li>'; $out .= '<li data-lang="pt_BR"><a href="#">' . _('Portuguese (Brasil)') . '</a></li>'; $out .= '<li data-lang="ru_RU"><a href="#">' . _('Russian') . '</a></li>'; $out .= '<li data-lang="sv_SE"><a href="#">' . _('Swedish') . '</a></li>'; $out .= '<li data-lang="es_ES"><a href="#">' . _('Spanish') . '</a></li>'; $out .= '</ul>'; } </pre> Once you've located the code block, you'll want to add you code to above the line that shows: $out .= '</ul>'; For example, if you want to add Danish as the new language, you would add the following live above the code block above: $out .= '<li data-lang="da_DK"><a href="#">' . _('Danish') . '</a></li>'; Finally you can test your translations by refreshing your browser window and selecting your new language. If everything looks good, zip up your translated <modules>.po and <modules.>mo files and submit them by creating a New Ticket in our bug tracker. For information on how to do that, please see [file:///E:/display/FOP/Bug+Reporting Bug Reporting]. '''Determining Translation Status''' The '''languagestatus''' module provides developers insight into the translation status of core modules. To install the module, follow the steps below: * Click Admin * Choose Module Admin * Make sure Unsupported is checked * Check for Updates * Install languagestatus The module provides a menu option under Admin called '''Language Status. '''If you click on this, you will be greeted with a page that tells you to choose a language. If you do not have the language selection dropdown in the menu, complete the following: * Click Settings * Choose Advanced Settings * Set '''Show Language setting''' to True Choose a language other than English to see how well core modules are translated. 参与官方中文汉化,请登录: http://wiki.freepbx.org/display/FOP/Translating+FreePBX+with+Weblate
返回至
如何进一步汉化FreePBX界面
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
合作伙伴
FreePBX官方
IPPBX软硬件
SIP 终端话机
SBC
语音网关,Sangoma语音板卡
工具
链入页面
相关更改
特殊页面
页面信息