今天我爱编程网小编整理了PHP如何实现国际化(多语言)相关信息,希望在这方面能够更好的大家。
本文目录一览:

PHP如何实现国际化(多语言)
在PHP中实现国际化(多语言)主要依赖gettext库,它允许程序支持多种语言。程序中的字符串,如菜单名、错误信息,通过gettext包装为msgid,如gettext(“string”)或_(“string”)。xgettext从源代码提取这些msgid,生成po文件,再由翻译人员将其翻译为po文件,msgfmt将其转化为mo文件,安装到系统特定位置。运行时,程序根据系统locale设置和mo文件内容确定显示的语言。
配置步骤包括:
1. 在类UNIX系统上,需安装gettext并编译PHP时启用支持;在Windows系统中,需在php.ini中启用php_gettext.dll。
2. 推荐使用poedit等工具处理po文件,进行翻译。
下面以“Hello World”示例说明:在PHP文件中设置语言环境和文本域,然后使用gettext输出文本。未翻译时,直接显示英文。要实现中文输出,需制作po和mo文件,通过xgettext提取msgid,msgfmt生成mo文件,最后将它们放置在对应的语言目录下。
在PHP中,_函数通常用于替换gettext,例如:“_”Hello World!”。通过这些步骤,PHP程序即可根据用户设置的语言环境显示对应语言的文本。

翻译一下有代码有英文只翻译英文的意思
< ? php
/ *
__PocketMine Plugin__
name = SimpleWorlds
描述=简单世界装载机和发电机
版本= 0.2
作者= shoghicp
类= SimpleWorlds
apiversion = 7,8,9,10
,11
* /
/ *
小的变更
= = = = = = = = = = = = = = =
0.1
——最初版本
0.2
——卸载支持
0.3
由imboss
它使用API11
* /
类SimpleWorlds实现插件{
私有api,美元配置;
公共职能__construct(ServerAPI api,美元服务器= false){
$ this - > api = $ api;
}
公共职能init(){
$ this - > api - >控制台- >注册(“simpleworlds”、“加载/卸载<水平>或/ simpleworlds生成<种子> <发电机> <水平>”,数组(这美元,"命令"));
$ this - > api - >控制台- >别名(“软件”、“simpleworlds”);
$ this - > api - >控制台- >别名(“swu”、“simpleworlds卸载”);
$ this - > api - >控制台- >别名(“此”、“simpleworlds负载”);
$ this - > api - >控制台- >别名(“swg”、“simpleworlds生成”);
$ this - >配置=新配置api($ this - > - >插件- > configPath(这个美元)。”配置。yml”,CONFIG_YAML阵列(
“default-generator”= >“SuperflatGenerator”,
“autogenerate”= >假,
“自动装载”= >阵列(),
));
控制台(“SimpleWorlds加载水平…”);
foreach($ this - >配置- >(“自动装载”)美元级别){
美元$ this - >负荷水平(水平);
}
}
公共函数命令(cmd,params,美元发行美元,美元的别名){
输出美元= " ";
如果(cmd = = =美元simpleworlds){
如果count($ params)< 2){
美元输出。= "用法:/ cmd负载<水平>或美元/ simpleworlds生成<种子> <发电机> <水平> \ n”;
返回输出美元;
}
$ subcmd =函数(基于“增大化现实”技术
PHP file_put_contents函数写入不了txt文件 代码如图
我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP file_put_contents函数写入不了txt文件 代码如图的相关内容。
1、查看一下你写入的文件路径是否正确
2、那个文件是否有写入的权限
3、file_put_contents方法是否存在
依据你给的代码图片,将其修改了一下,你试试看看行不行:
<?php
if($_POST['Submit'] == '注册'){
$a = 'file.txt';
$c = $_POST['user'];
// 如果$c是一个数组,先foreach循环 - 组装成需要写入发内容
if(is_array($c)){
foreach ($c as $k => $v) {
$html = '这是写入的内容'."\r\n";
$html .= '写入的内容要是字符串!'."\r\n";
$html .= '.....';
}
$c = $html;
}
// 写入
if(file_exists('file_put_contents')){
file_put_contents($a, $c);
}else{
$handle = fopen($a, 'w+');
fwrite($handle, $c);
fclose($handle);
}
}
?>
若有任何疑问,欢迎追问......
我爱编程网
以上就是我爱编程网小编给大家带来的PHP如何实现国际化(多语言)全部内容,希望对大家有所帮助!更多相关文章关注我爱编程网:
www.52biancheng.com免责声明:文章内容来自网络,如有侵权请及时联系删除。