Просмотр исходного кода

[build/translate] now translate will work on demand

version-14
Rushabh Mehta 12 лет назад
Родитель
Сommit
4e5a988702
3 измененных файлов: 20 добавлений и 10 удалений
  1. +2
    -3
      .gitignore
  2. +1
    -1
      webnotes/build.py
  3. +17
    -6
      webnotes/translate.py

+ 2
- 3
.gitignore Просмотреть файл

@@ -2,6 +2,5 @@
*.py~ *.py~
*.comp.js *.comp.js
*.DS_Store *.DS_Store
user_files
logs
defs.py
locale
.wnf-lang-status

+ 1
- 1
webnotes/build.py Просмотреть файл

@@ -61,7 +61,7 @@ def check_public():
make() make()


def check_lang(): def check_lang():
from webnotes.tranlate import update_translations
from webnotes.translate import update_translations
update_translations() update_translations()


class Bundle: class Bundle:


+ 17
- 6
webnotes/translate.py Просмотреть файл

@@ -42,22 +42,22 @@ def translate(lang=None):
if lang=="all" or lang==None: if lang=="all" or lang==None:
languages = get_all_languages() languages = get_all_languages()


print "Extracting messages..."
print "Extracting / updating translatable strings..."
build_message_files() build_message_files()
print "Compiling messages in one file..."
export_messages(lang, '_lang_tmp.csv') export_messages(lang, '_lang_tmp.csv')
for lang in languages: for lang in languages:
if lang != "en": if lang != "en":
filename = 'app/translations/'+lang+'.csv' filename = 'app/translations/'+lang+'.csv'
print "For " + lang + ":" print "For " + lang + ":"
print "Compiling messages in one file..."
print "Translating via Google Translate..." print "Translating via Google Translate..."
google_translate(lang, '_lang_tmp.csv', filename) google_translate(lang, '_lang_tmp.csv', filename)
print "Updating language files..." print "Updating language files..."
import_messages(lang, filename) import_messages(lang, filename)
print "Deleting temp files..."
print "Deleting temp file..."
os.remove('_lang_tmp.csv') os.remove('_lang_tmp.csv')


def get_all_languages(): def get_all_languages():
@@ -70,22 +70,33 @@ def update_translations():
""" """
langstatus = {} langstatus = {}
languages = get_all_languages() languages = get_all_languages()
if os.path.exists(".wnf-lang-status"):
with open(".erpnext-lang-status", "r") as langstatusfile:
message_updated = False
status_file_path = "app/.wnf-lang-status"
if os.path.exists(status_file_path):
with open(status_file_path, "r") as langstatusfile:
langstatus = eval(langstatusfile.read()) langstatus = eval(langstatusfile.read())
for lang in languages: for lang in languages:
filename = 'app/translations/'+lang+'.csv' filename = 'app/translations/'+lang+'.csv'
if langstatus.get(lang, None)!=os.path.getmtime(filename): if langstatus.get(lang, None)!=os.path.getmtime(filename):
print "Setting up lang files for " + lang + "..." print "Setting up lang files for " + lang + "..."
if not message_updated:
print "Extracting / updating translatable strings..."
build_message_files()
message_updated = True
print "Writing translations..."
import_messages(lang, filename) import_messages(lang, filename)
langstatus[lang] = os.path.getmtime(filename) langstatus[lang] = os.path.getmtime(filename)
with open(".wnf-lang-status", "w") as langstatusfile:
with open(status_file_path, "w") as langstatusfile:
langstatus = langstatusfile.write(str(langstatus)) langstatus = langstatusfile.write(str(langstatus))


def build_message_files(): def build_message_files():
"""build from doctypes, pages, database and framework""" """build from doctypes, pages, database and framework"""
if not webnotes.conn:
webnotes.connect()
build_for_pages('lib/core') build_for_pages('lib/core')
build_for_pages('app') build_for_pages('app')




Загрузка…
Отмена
Сохранить