(ComputerCraft) (minecraft version 1.7.10) (问题)制作一个语言文件reader
(ComputerCraft) (minecraft version 1.7.10) (question) Make a language file reader
我想为我的操作系统制作一种语言reader,但我找不到任何对我有帮助的东西。
我想将该列表放入我的其他脚本中。
这里是de-de语言文件(位置:/os/bin/):
de = {
Menu = "Menü",
Shutdown = "Ausschalten",
MenuLength = 4,
ShutdownLength = 11
}
有人能帮帮我吗?
gsub()
字符串 function/method 可以用你的翻译 table 做到这一点。
为此,您只需使用您的语言 table。
示例...
# /usr/bin/lua
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
> de = {
>> Menu = "Menü",
>> Shutdown = "Ausschalten",
>> MenuLength = 4,
>> ShutdownLength = 11
>> }
> language = de
> print(('Menu Shutdown'):gsub('(%g+)', language))
Menü Ausschalten 2
如果必须使用 Lua 5.1,则使用 %w
...
# /bin/lua
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> de = {
>> Menu = "Menü",
>> Shutdown = "Ausschalten",
>> MenuLength = 4,
>> ShutdownLength = 11
>> }
> language = de
> print(('Menu Shutdown'):gsub('(%w+)', language))
Menü Ausschalten 2
长度可以用 len()
function/method...
> print(('Shutdown'):gsub('(%w+)', language):len())
11
> print(('Menu'):gsub('(%w+)', language):len())
5
正如您在 Lua 中看到的,变音符号 ü
的测量结果不同。
为了包括你的 de-de.lua 我建议 dofile()
用你的特定路径加载它...
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> dofile('/os/bin/de-de.lua') -- But read comment about security
> print(de['Menu'])
Menü
尝试将带有德语变音符号的特殊词转换为其字节表示。
并将字节放入您的翻译 table...
$ lua
Lua 5.4.3 Copyright (C) 1994-2021 Lua.org, PUC-Rio
> print(('Menü'):byte(1,-1))
77 101 110 195 188
> print('1058')
Menü
> de = {Menu = '1058'}
> print(('Menu'):gsub('%g+', de))
Menü 1
...或 Lua 5.1...
$ /bin/lua
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> print(('Menü'):byte(1, -1))
77 101 110 195 188
> print('1058')
Menü
> de = {Menu = '1058'}
> print(('Menu'):gsub('%w+', de))
Menü 1
你也可以混合它。
以下是字节:üäößÜÄÖ
> print(('üäößÜÄÖ'):byte(1, -1))
195 188 195 164 195 182 195 159 195 156 195 132 195 150
> de = {Menu = 'Men58', Umlaute = '58545259565250'}
> print(('Menu Umlaute'):gsub('%w+', de))
Menü üäößÜÄÖ 2
我想为我的操作系统制作一种语言reader,但我找不到任何对我有帮助的东西。
我想将该列表放入我的其他脚本中。
这里是de-de语言文件(位置:/os/bin/):
de = {
Menu = "Menü",
Shutdown = "Ausschalten",
MenuLength = 4,
ShutdownLength = 11
}
有人能帮帮我吗?
gsub()
字符串 function/method 可以用你的翻译 table 做到这一点。
为此,您只需使用您的语言 table。
示例...
# /usr/bin/lua
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
> de = {
>> Menu = "Menü",
>> Shutdown = "Ausschalten",
>> MenuLength = 4,
>> ShutdownLength = 11
>> }
> language = de
> print(('Menu Shutdown'):gsub('(%g+)', language))
Menü Ausschalten 2
如果必须使用 Lua 5.1,则使用 %w
...
# /bin/lua
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> de = {
>> Menu = "Menü",
>> Shutdown = "Ausschalten",
>> MenuLength = 4,
>> ShutdownLength = 11
>> }
> language = de
> print(('Menu Shutdown'):gsub('(%w+)', language))
Menü Ausschalten 2
长度可以用 len()
function/method...
> print(('Shutdown'):gsub('(%w+)', language):len())
11
> print(('Menu'):gsub('(%w+)', language):len())
5
正如您在 Lua 中看到的,变音符号 ü
的测量结果不同。
为了包括你的 de-de.lua 我建议 dofile()
用你的特定路径加载它...
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> dofile('/os/bin/de-de.lua') -- But read comment about security
> print(de['Menu'])
Menü
尝试将带有德语变音符号的特殊词转换为其字节表示。
并将字节放入您的翻译 table...
$ lua
Lua 5.4.3 Copyright (C) 1994-2021 Lua.org, PUC-Rio
> print(('Menü'):byte(1,-1))
77 101 110 195 188
> print('1058')
Menü
> de = {Menu = '1058'}
> print(('Menu'):gsub('%g+', de))
Menü 1
...或 Lua 5.1...
$ /bin/lua
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> print(('Menü'):byte(1, -1))
77 101 110 195 188
> print('1058')
Menü
> de = {Menu = '1058'}
> print(('Menu'):gsub('%w+', de))
Menü 1
你也可以混合它。
以下是字节:üäößÜÄÖ
> print(('üäößÜÄÖ'):byte(1, -1))
195 188 195 164 195 182 195 159 195 156 195 132 195 150
> de = {Menu = 'Men58', Umlaute = '58545259565250'}
> print(('Menu Umlaute'):gsub('%w+', de))
Menü üäößÜÄÖ 2