| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Локализация программы. |
| Автор: iddqd 20.4.2007, 10:10 |
| Необходимо реализовать программу на нескольких языках, при этом, чтоб файлы локализации хранились в XML в легко достпуном для реадктирования виде и чтоб любой человек мог перевести на свой язык. Как это реализовывается в C#? И как быть с переводом строковых литералов? |
| Автор: tol05 20.4.2007, 10:27 |
| 1. System.Resources Namespace (ResourceManager, ResXResourceWriter, ResXResourceReader). 2. Утилита Resgen.exe Вообще об этом неплохо написано в "C#2005 для профессионалов" |
| Автор: iddqd 20.4.2007, 10:42 |
| К сожалению, по двум строчкам мне сложно понять весь механизм работы и реализацию. А вот книгой этой к сожалению не распологаю. Но на озоне заказали, счет сегодня подпишут |
| Автор: _Dream 20.4.2007, 11:11 |
| так студия сама же все делает(когда форму локализуешь) |
| Автор: iddqd 20.4.2007, 11:30 |
| Я же сказал, мне файлы языков надо хранить в XML. И чтоб: а) пользователь мог свободно добавить свой язык б) там можно было хранить строковые литералы |
| Автор: _Dream 20.4.2007, 11:34 | ||
а они где хранятся ? resx ресурсы и отлдичаются тем что там структура xml документа- ключ-значение |
| Автор: iddqd 20.4.2007, 11:43 |
| Можно подробней про саму реализаию, теория тут не интересна. Как это сделать? |
| Автор: tol05 20.4.2007, 11:55 |
| Вот сделал архив с sources к учебнику. Лови. |
| Автор: iddqd 20.4.2007, 12:45 | ||||
| Спасибо. Посмотрел исходники. Пока не очень понятно. Тут есть как раз статья из озвученной книги: http://www.rsdn.ru/article/dotnet/csprof2005_localization.xml Множество вопросов осталось: а) как быть со строковыми литералами, т.е.:
б) автоматическое нахождение всех файлов языка, которые добавил пользователь. в) сам формат XMl файла. г) перевод аттрибутов. т.е.:
Тоже должно переводиться. Может кто-нибудь сделать приложение, где будет одна кнопка и список всех доступных файлов языка, при выборе файла и нажатию кнопки происходит перевод. И чтоб использовался строковый литерал. Пожалуйста. Буду очень признателен и сразу все вопросы будут исчерпаны. |
| Автор: iddqd 20.4.2007, 13:15 | ||
Как я уже говорил - пользователь должен легко взять и перевести программу сам. Разве неподготовленный пользователь сможет такой ужас перевести?
|
| Автор: _Dream 20.4.2007, 14:10 | ||||
| ну если проблема только в этом то как ты знаешь все что тебе надо хранится в паре name-value
и! только это необходимо перевести.. если пугают ResXResourceReader'ы со встроенными методами можеь просто парсить документ и выдирать оттуда эти пары(ну и записывать куда-то) а потом передать неподготовленному пользователю http://www.codeproject.com/useritems/ZetaResourceEditor.asp и http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=59519817-ed3b-47ce-8652-73f37d58e2ab глянь
разве ж так можно? то есть студия тебе сама будет переводить? |