Merged changes in the trunk up to revision 52191.

Conflicts resolved:
source/blender/makesdna/DNA_scene_types.h
This commit is contained in:
Tamito Kajiyama
2012-11-14 02:01:02 +00:00
115 changed files with 1964 additions and 646 deletions

View File

@@ -40,46 +40,46 @@ LANGUAGES_CATEGORIES = (
)
LANGUAGES = (
# ID, UI english label, ISO code.
( 0, "Default (Default)", "DEFAULT", ""),
( 1, "English (English)", "en_US", "english"),
( 2, "Japanese (日本語)", "ja_JP", "japanese"),
( 3, "Dutch (Nederlandse taal)", "nl_NL", "dutch"),
( 4, "Italian (Italiano)", "it_IT", "italian"),
( 5, "German (Deutsch)", "de_DE", "german"),
( 6, "Finnish (Suomi)", "fi_FI", "finnish"),
( 7, "Swedish (Svenska)", "sv_SE", "swedish"),
( 8, "French (Français)", "fr_FR", "french"),
( 9, "Spanish (Español)", "es", "spanish"),
(10, "Catalan (Català)", "ca_AD", "catalan"),
(11, "Czech (Český)", "cs_CZ", "czech"),
(12, "Portuguese (Português)", "pt_PT", "portuguese_portugal"),
(13, "Simplified Chinese (简体中文)", "zh_CN", "Chinese (Simplified)_China.1252"),
(14, "Traditional Chinese (繁體中文)", "zh_TW", "Chinese (Traditional)_China.1252"),
(15, "Russian (Русский)", "ru_RU", "russian"),
(16, "Croatian (Hrvatski)", "hr_HR", "croatian"),
(17, "Serbian (Српски)", "sr_RS", "serbian"),
(18, "Ukrainian (Український)", "uk_UA", "ukrainian"),
(19, "Polish (Polski)", "pl_PL", "polish"),
(20, "Romanian (Român)", "ro_RO", "romanian"),
( 0, "Default (Default)", "DEFAULT"),
( 1, "English (English)", "en_US"),
( 2, "Japanese (日本語)", "ja_JP"),
( 3, "Dutch (Nederlandse taal)", "nl_NL"),
( 4, "Italian (Italiano)", "it_IT"),
( 5, "German (Deutsch)", "de_DE"),
( 6, "Finnish (Suomi)", "fi_FI"),
( 7, "Swedish (Svenska)", "sv_SE"),
( 8, "French (Français)", "fr_FR"),
( 9, "Spanish (Español)", "es"),
(10, "Catalan (Català)", "ca_AD"),
(11, "Czech (Český)", "cs_CZ"),
(12, "Portuguese (Português)", "pt_PT"),
(13, "Simplified Chinese (简体中文)", "zh_CN"),
(14, "Traditional Chinese (繁體中文)", "zh_TW"),
(15, "Russian (Русский)", "ru_RU"),
(16, "Croatian (Hrvatski)", "hr_HR"),
(17, "Serbian (Српски)", "sr_RS"),
(18, "Ukrainian (Український)", "uk_UA"),
(19, "Polish (Polski)", "pl_PL"),
(20, "Romanian (Român)", "ro_RO"),
# Using the utf8 flipped form of Arabic (العربية).
(21, "Arabic (ﺔﻴﺑﺮﻌﻟﺍ)", "ar_EG", "arabic"),
(22, "Bulgarian (Български)", "bg_BG", "bulgarian"),
(23, "Greek (Ελληνικά)", "el_GR", "greek"),
(24, "Korean (한국 언어)", "ko_KR", "korean"),
(25, "Nepali (नेपाली)", "ne_NP", "nepali"),
(21, "Arabic (ﺔﻴﺑﺮﻌﻟﺍ)", "ar_EG"),
(22, "Bulgarian (Български)", "bg_BG"),
(23, "Greek (Ελληνικά)", "el_GR"),
(24, "Korean (한국 언어)", "ko_KR"),
(25, "Nepali (नेपाली)", "ne_NP"),
# Using the utf8 flipped form of Persian (فارسی).
(26, "Persian (ﯽﺳﺭﺎﻓ)", "fa_IR", "farsi"),
(27, "Indonesian (Bahasa indonesia)", "id_ID", "indonesian"),
(28, "Serbian Latin (Srpski latinica)", "sr_RS@latin", "serbian (latin)"),
(29, "Kyrgyz (Кыргыз тили)", "ky_KG", "kyrgyz"),
(30, "Turkish (Türkçe)", "tr_TR", "turkish"),
(31, "Hungarian (Magyar)", "hu_HU", "hungarian"),
(32, "Brazilian Portuguese (Português do Brasil)", "pt_BR", "protuguese_brazil"),
(26, "Persian (ﯽﺳﺭﺎﻓ)", "fa_IR"),
(27, "Indonesian (Bahasa indonesia)", "id_ID"),
(28, "Serbian Latin (Srpski latinica)", "sr_RS@latin"),
(29, "Kyrgyz (Кыргыз тили)", "ky_KG"),
(30, "Turkish (Türkçe)", "tr_TR"),
(31, "Hungarian (Magyar)", "hu_HU"),
(32, "Brazilian Portuguese (Português do Brasil)", "pt_BR"),
# Using the utf8 flipped form of Hebrew (עִבְרִית)).
(33, "Hebrew (תירִבְעִ)", "he_IL", "hebrew"),
(34, "Estonian (Eestlane)", "et_EE", "estonian"),
(35, "Esperanto (Esperanto)", "eo", "esperanto"),
(36, "Spanish from Spain (Español de España)", "es_ES", "spanish_spain"),
(33, "Hebrew (תירִבְעִ)", "he_IL"),
(34, "Estonian (Eestlane)", "et_EE"),
(35, "Esperanto (Esperanto)", "eo"),
(36, "Spanish from Spain (Español de España)", "es_ES"),
)
# Name of language file used by Blender to generate translations' menu.

View File

@@ -53,7 +53,7 @@ FLAG_MESSAGES = {
def find_matching_po(languages, stats, forbidden):
"""Match languages defined in LANGUAGES setting to relevant po, if possible!"""
ret = []
for uid, label, org_key, long_loc in languages:
for uid, label, org_key, in languages:
key = org_key
if key not in stats:
# Try to simplify the key (eg from es_ES to es).
@@ -64,11 +64,11 @@ def find_matching_po(languages, stats, forbidden):
key = key + org_key[org_key.index('@'):]
if key in stats:
if key in forbidden:
ret.append((stats[key], uid, label, org_key, long_loc, FORBIDDEN))
ret.append((stats[key], uid, label, org_key, FORBIDDEN))
else:
ret.append((stats[key], uid, label, org_key, long_loc, OK))
ret.append((stats[key], uid, label, org_key, OK))
else:
ret.append((0.0, uid, label, org_key, long_loc, MISSING))
ret.append((0.0, uid, label, org_key, MISSING))
return ret
def main():
@@ -103,14 +103,14 @@ def main():
stats = sorted(stats, key=lambda it: it[0], reverse=True)
langs_cats = [[] for i in range(len(limits))]
highest_uid = 0
for prop, uid, label, key, long_loc, flag in stats:
for prop, uid, label, key, flag in stats:
if prop < limits[idx][0]:
# Sub-sort languages by iso-codes.
langs_cats[idx].sort(key=lambda it: it[2])
idx += 1
if prop < min_trans and flag == OK:
flag = TOOLOW
langs_cats[idx].append((uid, label, key, long_loc, flag))
langs_cats[idx].append((uid, label, key, flag))
if abs(uid) > highest_uid:
highest_uid = abs(uid)
# Sub-sort last group of languages by iso-codes!
@@ -120,7 +120,7 @@ def main():
f.write("# and to generate translation menu.\n")
f.write("#\n")
f.write("# File format:\n")
f.write("# ID:MENULABEL:ISOCODE:WINCODE\n")
f.write("# ID:MENULABEL:ISOCODE\n")
f.write("# ID must be unique, except for 0 value (marks categories for menu).\n")
f.write("# Line starting with a # are comments!\n")
f.write("#\n")
@@ -135,12 +135,12 @@ def main():
# Do not write the category if it has no language!
f.write("# Void category! #0:{}:\n".format(cat[1]))
# ...and all matching language entries!
for uid, label, key, long_loc, flag in langs_cat:
for uid, label, key, flag in langs_cat:
if flag == OK:
f.write("{}:{}:{}:{}\n".format(uid, label, key, long_loc))
f.write("{}:{}:{}\n".format(uid, label, key))
else:
# Non-existing, commented entry!
f.write("# {} #{}:{}:{}:{}\n".format(FLAG_MESSAGES[flag], uid, label, key, long_loc))
f.write("# {} #{}:{}:{}\n".format(FLAG_MESSAGES[flag], uid, label, key))
if __name__ == "__main__":

View File

@@ -554,6 +554,12 @@ class WM_MT_operator_presets(Menu):
def draw(self, context):
self.operator = context.active_operator.bl_idname
# dummy 'default' menu item
layout = self.layout
layout.operator("wm.operator_defaults")
layout.seperator()
Menu.draw_preset(self, context)
@property

View File

@@ -249,6 +249,7 @@ class IMAGE_MT_uvs_weldalign(Menu):
layout = self.layout
layout.operator("uv.weld") # W, 1
layout.operator("uv.remove_doubles")
layout.operator_enum("uv.align", "axis") # W, 2/3/4

View File

@@ -1736,18 +1736,9 @@ class VIEW3D_MT_edit_mesh_select_mode(Menu):
layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN'
props = layout.operator("wm.context_set_value", text="Vertex", icon='VERTEXSEL')
props.value = "(True, False, False)"
props.data_path = "tool_settings.mesh_select_mode"
props = layout.operator("wm.context_set_value", text="Edge", icon='EDGESEL')
props.value = "(False, True, False)"
props.data_path = "tool_settings.mesh_select_mode"
props = layout.operator("wm.context_set_value", text="Face", icon='FACESEL')
props.value = "(False, False, True)"
props.data_path = "tool_settings.mesh_select_mode"
layout.operator("mesh.select_mode", text="Vertex", icon='VERTEXSEL').type = 'VERT'
layout.operator("mesh.select_mode", text="Edge", icon='EDGESEL').type = 'EDGE'
layout.operator("mesh.select_mode", text="Face", icon='FACESEL').type = 'FACE'
class VIEW3D_MT_edit_mesh_extrude(Menu):