crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Схема работы по переводу документации, обсуждение вариантов
Litkevich Yuriy
  опции профиля:
сообщение 30.8.2008, 12:07
Сообщение #11


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


по поводу выравнивания, пришлось перелопатить файл A-ru.tmx, т.к. разъехались сегменты. Поступил так:
сохранил с помощью Olifant'а в формат WordFast (текстовый) открыл в экселе и там правил, затем опять с помощью Olifant'а в формат TMX

Цитата(Novak @ 30.8.2008, 0:31) *
Нам по идее что для полного счастья нужно?
Подобную возможность, т.е. сохранять в текстовый файл с разделителями (например, ОРИГИНАЛЬНЫЙ_СЕГМЕНТ табуляция ПЕРЕВЕДЕННЫЙ_СЕГМЕНТ), ну и импортировать такие файлы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 1.9.2008, 7:35
Сообщение #12


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 29.8.2008, 22:36) *
= 1=
Исходная дукументация преобразуется в UTF-8, c коррекцией единственного тэга: с
<?xml version="1.0" encoding="iso-8859-1"?>
на
<?xml version="1.0" encoding="utf-8"?>

Назовем полученое, например, "первой версией"

Набросал утилитку на python-е которая это делает:
Раскрывающийся текст
# -*- coding: cp1251 -*-

import sys, os, os.path as osp
import codecs, re

#<?xml version="1.0" encoding="iso-8859-1"?>
_re_enc = re.compile(r'encoding=\"([^\"]+)\"')
def get_enc(fname):
  """
  Получение текущей кодировки файла
  @param fname Имя файла
  @return имя кодировки или None
  """
  mo = _re_enc.search(file(fname).readline())
  if not mo:
    return None
  return mo.group(1)

def do_file(ifname, ofname, out_enc):
  """
  Перевод файла из текущей кодировки в заданную с коррекцией тага
  @param ifname Исходный файл
  @param out_enc Выходная кодировка
  """
  inp_enc = get_enc(ifname)
  inp_file = codecs.open(ifname, 'r', inp_enc)
  out_file = codecs.open(ofname, 'wt', out_enc)
  line = inp_file.readline()
  print>>out_file, _re_enc.sub(
    'encoding="%s"' % out_enc, line.rstrip())
  for line in inp_file:
    print>>out_file, line.rstrip()

def iname2oname(iname, out_enc):
  """
  Преобразование имени входного файла в имя выходного
  @param iname Исходный файл
  @param out_enc Выходная кодировка
  @return имя кодировки или None
  """
  return '.utf-8.'.join(iname.rsplit('.', 1))

def main(out_enc):
  """
  Перевод всех файлов в указанной или текущей директории
  @param out_enc Выходная кодировка
  """
  if len(sys.argv) < 2 or not osp.isdir(sys.argv[1]):
    path = '.'
  else:
    path = sys.argv[1]
  for name in os.listdir(path):
    if name.endswith('.html') and not name.endswith('.%s.html' % out_enc):
      oname = iname2oname(name, out_enc)
      do_file(
        osp.normpath(osp.join(path, name)),
        osp.normpath(osp.join(path, oname)), out_enc)

if __name__ == '__main__':
  main('utf-8')

Для всех файлов в указанной или текущей директории оканчивающихся на .html создаётся файл .utf-8.html в кодировке utf-8 и поправленным тагом.
Цитата(Litkevich Yuriy @ 29.8.2008, 22:36) *
= Фантазии =
Некий робот периодически, если есть обновления в хранилище, запускает нужные утилиты которые конвертируют изменившиеся "переводы" в выше указаные форматы

Вполне просто организовывается - в свине есть механизм хуков. Пишем хук на после-коммит. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.9.2008, 12:54
Сообщение #13


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Tonal @ 1.9.2008, 11:35) *
Вполне просто организовывается - в свине есть механизм хуков. Пишем хук на после-коммит.

когда SVN перетащим на наш сервер, тогда да, а на асембле хуки свои делать нельзя, там один готовый есть, чтобы тикеты в Track'е закрывать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 22:38