自动摘要
正在生成中……
Loco Translate 是一个免费的 WordPress 翻译插件 , 作用是创建Wordpress主题/插件甚至系统的语言包,不过这个插件上手有些难度,某些操作和界面甚至有些误导。我之前用来做过一个模板的项目,然而过了几个月之后,这次要使用的时候,竟然又双叒叕忘记了用法,为了防止这种杯具再次发生,好记性不如烂笔头,我决定记录一下。(不说了,我也是被迫的?)
插件激活后进入它的插件主页,比如:https://example.com/wp-admin/admin.php?page=loco ,以给当前主题Opstore增加一个香港中文版的语言包为例。
创建翻译模板文件.pot
点击Bundle name下的 Opsstore ,如果打开后的页面显示 No translations found for "opstore"
的字样,我们需要先创建一个翻译模板文件,文件后缀名.pot ,点击 Create template。
这时插件并不会立刻创建模板,而是扫描主题下的代码文件,提取出要翻译的词汇信息,并汇总如下:
需要点击下方Create template 才会正式创建( 话说为什么不直接给我Create出来呢,还要点一下? ),生成文件 themes/opstore/languages/opstore.pot
创建语言包.po
之后会跳转回之前页面,这时选择New language
选择要创建的语言包,这里选香港中文,位置根据实际情况决定
PS: 一般主题语言包的位置在 functions.php 可以找到或自己定义,比如opstore的:
load_theme_textdomain( 'opstore', get_template_directory() . '/languages' );
因此选择Author项:( 注意这个位置不要选错,否则主题找不到语言包)
点击Start translating就可以开始翻译了,可以通过filter查找指定的词条,Fuzzy 临时标志词条
生成编译语言包 .mo
翻译是非常辛苦的工作,特别是词条很多的情况,有时翻译了一部分,困了累了,就临时保存文件吧。
保存成功后会看到PO file saved and MO file compiled, 这时在主题的langages目录下出现了三个文件:
.pot是模板文件,是这个翻译项目的原始词条汇总;
.po是文本模式下的语言包,用编辑器打开是人类可读的形式,包含了原始词条和翻译后的词条;
.mo是编译后的语言包,供WordPress调用。
制作语言包就是生成这三个文件的过程。
更新pot模板文件
有一个要特别注意的问题 ,也是一个可能让新手很困惑的一个问题,如果你修改了与语言相关的代码,比如在代码里修改了一个词条名称或者增加了一个新词条,需要同步一次 .pot ,否则你是找不到新词条的。同步的时候模板会重新扫描项目文件,新的词条或修改后的词条才会出现在.pot里,
步骤如下:
回到之前的页面,点击Edit emplate
点击Sync
注意这个页面不是语言翻译页,不要在这里做翻译:
你需要再回一次原来的页面,点击对应翻译包的编辑页:
看到页面有source Text和香港中文版字样,这个才是我们要编辑的语言包界面:
总结
使用这个插件主要可能出现问题集中在三个方面:
1. 没有理解 po, pot,mo 的作用,加上这个插件本身有些困惑提示,相似的界面,会导致操作流程问题。
2. 选错了语言包位置,
3. 更新了代码没有更新pot文件。
相关内容
不要再使用docker或homebrew管理不同版本PHP、Node.js和数据库了!
laravel DebugBar
【开发记录】使用laravel 做书签网站
使用livewire,alpine.js和tailwindcss 构建搜索引擎联想功能
使用livewire,alpine.js和tailwindcss 构建搜索引擎联想功能