2014-01-18 5 views
3

Я работаю над своим скриптом python, так как хотел бы сохранить строки в языковом файле strings.po, что позволило бы мне изменить текст на ярлыке.Как ввести строки в элемент управления ярлыком для xbmc?

Я хочу знать, как вы пишете код для ввода строк в элементе управления меткой, используя идентификатор, который я храню в strings.po?

ответ

1

Во-первых, для XBMC Frodo и выше предлагается использовать диапазон идентификаторов строк 32000-32999 для надстроек скриптов.

Кроме того, по-прежнему не требуется использовать формат .po для переводов, вам все же разрешено использовать формат .xml.

Anayway, вот пример для обоих:

YOUR_ADDON_DIR/ресурсы/язык/английский/strings.po

# XBMC Media Center language file 
# Addon Provider: Tristan Fischer ([email protected]) 
msgid "" 
msgstr "" 
"Project-Id-Version: XBMC Addons\n" 
"Report-Msgid-Bugs-To: [email protected]\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> 

Опять же, вам не нужны оба, один из них в порядке.

Чтобы использовать "Hello" -string (с ID = 32000) в XML-файлах кожи:

<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) 
+0

Спасибо за эту сферу , Должен ли я использовать один и тот же идентификатор для других языков? если да, то как xbmc будет знать, какой язык я ищу, если я хочу читать для французского языка, который имеет тот же идентификатор, что и английский? –

+0

@ user3179027: Да, конечно, идентификаторы должны быть одинаковыми. XBMC автоматически ищет строки на языке, который пользователь установил в настройках локали xbmc. Пожалуйста, подумайте о том, чтобы принять мой ответ, если это было полезно. – sphere

+0

О, ладно, я получил его сейчас за вашу помощь. Я принял ваш ответ, поскольку это было очень полезно. Спасибо!!! –

 Смежные вопросы

  • Нет связанных вопросов^_^