我正在处理我的python脚本,因为我想将字符串存储在名为strings.po
的语言文件中,这样我就可以更改标签中的文本。
我想知道如何编写代码以使用我存储在strings.po中的id输入标签控件中的字符串?
答案 0 :(得分:1)
首先,对于XBMC Frodo及其以上建议,使用字符串ID范围32000-32999作为脚本加载项。
此外,它仍然无需使用.po格式进行翻译,您仍然可以使用.xml格式。
Anayway,以下是两个例子:
<强> YOUR_ADDON_DIR /资源/语言/英语/ strings.po 强>
# XBMC Media Center language file
# Addon Provider: Tristan Fischer (sphere@dersphere.de)
msgid ""
msgstr ""
"Project-Id-Version: XBMC Addons\n"
"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: XBMC Translation Team\n"
"Language-Team: English (http://www.transifex.com/projects/p/xbmc-addons/language/en/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgctxt "#32000"
msgid "Hello"
msgstr ""
<强> YOUR_ADDON_DIR /资源/语言/英语/ strings.xml中强>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<string id="32000">Hello</string>
</strings>
同样,你不需要两者,其中一个很好。
在skin xml文件中使用“Hello”-string(ID = 32000):
<control type="label">
<description>My hello label</description>
<posx>0</posx>
<posy>0</posy>
<width>80</width>
<height>36</height>
<align>left</align>
<font>font12</font>
<textcolor>white</textcolor>
<visible>true</visible>
<label>$LOCALIZE[SCRIPT32000]</label>
</control>
如果您需要python中的翻译:
import xbmcaddon
addon = xbmcaddon.Addon()
my_hello_string = addon.getLocalizedString(32000)