Merged changes in the trunk up to revision 52191.
Conflicts resolved: source/blender/makesdna/DNA_scene_types.h
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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__":
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user