Здравствуйте, Shmj, Вы писали:
VC>>Зато есть файлы, имя файла чем не имя категории?
S>Слишком привязано к исходникам. А переводчику важен не исходник а форма. Он же будет смотреть в сайте или проге в какой форме написан тот или иной текст, если возникнут вопросы.
Никто никаких исходников локаизованных ресурсов не отправляет переводчикам.
Как ты себе это представляеш? Если у тебя нет локализации конкретного ресурса файла Page1.resx на клингонский язык, то и файла у тебя Page1.Клингонсткий.resx у тебя даже нет.
А переводят как спрашивается? А тулзами пользуются.
Вот платный комбайн всеядный http://www2.multilizer.com/product/plug-ins/
Таких много
Он генерит инсталлятор маленький для переводчика по исходникам. переводчик у себя инсталит, переводит, отпрааляет перевод назад,
Этим же комбайном перевод ты заливаеш в исходники обратно,
Он умеет и resx и gettext переводить. и много всякого — по ссылке выше смотри
Для .NET Core возможно и нет пока поддержки. Молодо-зелено пока .NET Core. Появится и для core, не переживай, если три тима которые .NET Core пилят не пересрутся
Здравствуйте, VladCore, Вы писали:
VC>>>Зато есть файлы, имя файла чем не имя категории?
S>>Слишком привязано к исходникам. А переводчику важен не исходник а форма. Он же будет смотреть в сайте или проге в какой форме написан тот или иной текст, если возникнут вопросы.
VC>Никто никаких исходников локаизованных ресурсов не отправляет переводчикам. VC>Как ты себе это представляеш? Если у тебя нет локализации конкретного ресурса файла Page1.resx на клингонский язык, то и файла у тебя Page1.Клингонсткий.resx у тебя даже нет.
Вы меня спросили о недостатках gettext. Я сказал что там нет категории. А вы сказали -- "Зато есть файлы, имя файла чем не имя категории?."
Причем тут resx до gettext?
Имя файла для gettext -- это имя файла с исходниками, верно? По этому и говорю -- не удобно, слишком привязано к исходникам.
VC>А переводят как спрашивается? А тулзами пользуются.
VC>Вот платный комбайн всеядный http://www2.multilizer.com/product/plug-ins/
Не нужен. При смене парадигмы комбайны становятся не нужными вообще.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, AndrewVK, Вы писали:
AVK>>>>В результате когда текст надо слегка поменять — надо бежать по всем локализованным версиям. S>>>Зачем?
AVK>>Затем что это ключ. AVK>>А для других языков что делать? Они то отвалились при изменении ключа.
S>Объясняю.
S>Допустим, в коде вы написали: "My Pеge" (ошибка)
S>При запросе из eu-Culture автоматически создается запись для языка en с значением My Pеge = null. Если null -- значит возвращаем значение из кода. Аналогично для всех языков. Т.е. нет языка по умолчанию, он условен.
S>Если нужно изменить только для английского -- заменяете в базе null в английской версии на My Page. При этом остальные языки можно не трогать.
т.е. во всех языковых файлах увековечится ошибка и переводчики на все языки будут разбираться, что под My Pege подразумевалось My Page?
Типа в файле для английского перевода будет что-то типа:
My Pege = My Page
для русского My Pege = Моя страница
а если пофиксить опечатку в коде, то все переводы придётся фиксить, т.к. уже никто не будет знать, что My Pege в файле — это на самом деле "ключ" My Page?
Здравствуйте, karbofos42, Вы писали:
K>а если пофиксить опечатку в коде, то все переводы придётся фиксить, т.к. уже никто не будет знать, что My Pege в файле — это на самом деле "ключ" My Page?
Если пофиксил в коде после того как сделан перевод -- нужно пофиксить и файлы с переводами. Изменение делается одной кнопкой: вводите старый текст, затем вводите как должно быть.
Здравствуйте, AndrewVK, Вы писали:
S>> Для языка по умолчанию (английского) тоже создается запись в базе, но пустая. Если хотите поменять только английскую версию -- то можно это пустое значение заполнить, тогда будет отдавать не то что написано в коде а из базы. AVK>А для других языков что делать? Они то отвалились при изменении ключа.
Взять и перевести?