ZP额外道具名称的多语言问题 (已解决)

Home Home
引用 | 编辑 甜咖啡
2022-06-26 19:07
楼主
推文 x0
Hello, 各位好


请问各位有办法制作非ZP本身额外道具的多语言吗? 我想要让 amx_langmenu "en" 的使用者当打开额外道具选单时 显示英文道具名称, 而amx_langmenu "tc" 则显示繁体中文名称, 请各位为我解答

献花 x0
引用 | 编辑 弑血
2022-06-27 03:39
1楼
  
下面是引用 甜咖啡 于 2022-06-26 19:07 发表的 ZP额外道具名称的多语言问题: 到引言文
Hello, 各位好


请问各位有办法制作非ZP本身额外道具的多语言吗? 我想要让 amx_langmenu "en" 的使用者当打开额外道具选单时 显示英文道具名称, 而amx_langmenu "tc" 则显示繁体中文名称, 请各位为我解答



可以参考zp的language的设置方法


插件init内注册一个 register_dictionary("未定义.txt");


在lang资料夹内 找到 未定义.txt 档案 设置自己想要的语言样式

献花 x0
引用 | 编辑 甜咖啡
2022-06-27 19:32
2楼
  
下面是引用 弑血 于 2022-06-27 03:39 发表的 : 到引言文




可以参考zp的language的设置方法


插件init内注册一个 register_dictionary("未定义.txt");


在lang资料夹内 找到 未定义.txt 档案 设置自己想要的语言样式



你好, 弑血 谢谢你的回覆


你的方法我尝试之后道具插件确实有读取到txt档的内容, 但是当我转换为其他语言时道具名称并不会跟着一起转换为其他语言的名称, 这种情况我该如何解决呢? 请各位为我解答

献花 x0
引用 | 编辑 弑血
2022-06-27 20:16
3楼
  
下面是引用 甜咖啡 于 2022-06-27 19:32 发表的 : 到引言文




你好, 弑血 谢谢你的回覆


你的方法我尝试之后道具插件确实有读取到txt档的内容, 但是当我转换为其他语言时道具名称并不会跟着一起转换为其他语言的名称, 这种情况我该如何解决呢? 请各位为我解答



lang的txt档案内 应该有设置[en] 跟[tc] 之类的 语言定义内容


可以参考看看 其他的txt是怎么对应输出的

献花 x0
引用 | 编辑 甜咖啡
2022-06-28 17:13
4楼
  
下面是引用 弑血 于 2022-06-27 20:16 发表的 : 到引言文




lang的txt档案内 应该有设置[en] 跟[tc] 之类的 语言定义内容


可以参考看看 其他的txt是怎么对应输出的



你好, 弑血


在txt档里2种语言我都设置好了, 输出的部分我想我应该没弄错但就是无法转换成另一种语言, 我贴上相关sma及txt档请你帮我看看有无问题, 不好意思麻烦你了

本帖包含附件
档名: txt zp_extra_item_multilang.txt   (2022-06-28 17:13 / 1 KB)   下载次数:3

本帖包含附件
档名: zip zp_extra_human_armor.7z   (2022-06-28 17:14 / 1 KB)   下载次数:2


献花 x0
引用 | 编辑 弑血
2022-06-28 19:39
5楼
  
下面是引用 甜咖啡 于 2022-06-28 17:13 发表的 : 到引言文




你好, 弑血


在txt档里2种语言我都设置好了, 输出的部分我想我应该没弄错但就是无法转换成另一种语言, 我贴上相关sma及txt档请你帮我看看有无问题, 不好意思麻烦你了



在控制台输入amx_langmenu 就可以选择各国语言的选单


如果再不行 那可能就是 amx_language 本身的问题了

献花 x0
引用 | 编辑 弑血
2022-06-28 20:28
6楼
  
下面是引用 甜咖啡 于 2022-06-28 17:13 发表的 : 到引言文




你好, 弑血


在txt档里2种语言我都设置好了, 输出的部分我想我应该没弄错但就是无法转换成另一种语言, 我贴上相关sma及txt档请你帮我看看有无问题, 不好意思麻烦你了



目前 我是已经测试成功


Lang的txt:




中文选单:




设置语言英文:




英文选单:


献花 x0
引用 | 编辑 甜咖啡
2022-06-28 21:11
7楼
  
下面是引用 弑血 于 2022-06-28 19:39 发表的 : 到引言文




在控制台输入amx_langmenu 就可以选择各国语言的选单


如果再不行 那可能就是 amx_language 本身的问题了



你好, 弑血


我强烈怀疑我的问题应该是在这段的 LANG_PLAYER 上, 我认为我应该使用玩家的 id 但由于 zp_register_extra_item 是在 plugin_init() 里, 编译时将会出现 undefined symbol "id"  这情况我该如何解决呢? 


复制程式
 static szItem[ 64 ]
 formatex( szItem, charsmax( szItem ), "%L", LANG_PLAYER, "HUMANARMOR" )


 g_itemid_humanarmor = zp_register_extra_item( szItem, g_item_cost, ZP_TEAM_HUMAN)


献花 x0
引用 | 编辑 弑血
2022-06-28 22:42
8楼
  
下面是引用 甜咖啡 于 2022-06-28 21:11 发表的 : 到引言文




你好, 弑血


我强烈怀疑我的问题应该是在这段的 LANG_PLAYER 上, 我认为我应该使用玩家的 id 但由于 zp_register_extra_item 是在 plugin_init() 里, 编译时将会出现 undefined symbol "id"  这情况我该如何解决呢? 


复制程式
 static szItem[ 64 ]
 formatex( szItem, charsmax( szItem ), "%L", LANG_PLAYER, "HUMANARMOR" )


 g_itemid_humanarmor = zp_register_extra_item( szItem, g_item_cost, ZP_TEAM_HUMAN)



LANG_PLAYER 是给玩家的没错


目前应该是你没有套用到amx_langmenu的语言设置 他语言没转换成功而已

献花 x0
引用 | 编辑 弑血
2022-06-28 22:54
9楼
  
下面是引用 甜咖啡 于 2022-06-28 21:11 发表的 : 到引言文




你好, 弑血


我强烈怀疑我的问题应该是在这段的 LANG_PLAYER 上, 我认为我应该使用玩家的 id 但由于 zp_register_extra_item 是在 plugin_init() 里, 编译时将会出现 undefined symbol "id"  这情况我该如何解决呢? 


复制程式
 static szItem[ 64 ]
 formatex( szItem, charsmax( szItem ), "%L", LANG_PLAYER, "HUMANARMOR" )


 g_itemid_humanarmor = zp_register_extra_item( szItem, g_item_cost, ZP_TEAM_HUMAN)



我自己也是这样


formatex(class_name, charsmax(class_name), "%L", LANG_PLAYER, g_class_name);

献花 x0