Re[3]: Попинайте метод локализации приложений
От: bnk СССР http://unmanagedvisio.com/
Дата: 03.09.17 09:05
Оценка:
Здравствуйте, Shmj, Вы писали:

bnk>>Но нафига оно в студии, есть например решарпер и ResX Manager?

bnk>>Нажал на строчку, Alt+Enter "Move to resources". Повторил для всех нужных.

S>Во-первых, для решарпера нужно сначала создать этот файл с ресурсами. Ведь нам нужно разбивать на категории, значит ресурсный файл будет не один. Без разбивки на категории сложнее переводить. Создание таких файлов -- лишний геммор. Да и выбирать из длинного списка не удобно.


Оно само по умолчанию создаст, если один. Если несколько — то да, нужно отдельно (можно через ResX Manager).
Я в этом смысла особого не вижу, честно говоря. Можно просто идентификаторы делать с категорией, если нужно для контекста.
Типа CategoryX_WarningMessageFileNotFound. Идентификатор придумывать не надо, его решарпер сам придумать может — там есть правила встроенные.

S>А главное. Что если вам нужно перевести строку из некого источника данных? К примеру из JSON-файла. У меня все просто -- передал имя в функцию и получил готовый перевод.


В этом случае да, облом. Этот подход работает для локализации самих приложений, а не данных в этих приложениях.
То есть подразумевается, что локализуемые строчки известны на этапе компиляции. Если они приходят откуда-то извне во время работы,
То откуда ты узнаешь что это будут за строчки? В JSON же может прийти что угодно, не?

S> А вы как сделаете?

В своих продуктах делаю тупо resx по схеме выше (но они относительно небольшие).
В проектах которые делал в контрах использовался специализированный софт (у нас был сначала lingobit потом rc-wintrans, и но они оба отстойные — с контролем версий например был швах).
Зато позволяют объединить в одном проекте все файлы переводов — resx, xml, po, wxl, данные в базе и т.п.).
Если проект составной и разношерстный, помогает навести порядок.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.