Страница: 1 |
Страница: 1 |
Вопрос: Локализация
Добавлено: 08.10.04 15:24
Автор вопроса: Mihalыch | ICQ: 373-509-101
Подскажите, как лучше осуществить локализацию приложения? Т. е. я имею ввиду, где лучше хранить данные, в базе данных, текстовом файле или в файле ресурсов? В книжке пишут в файле ресурсов, сам я думаю в текстовом файле. Сейчас открыл файл ru.lng из Opera оказалось обычный файл последовательного доступа, есть строки радом с каждой находится числовой идентификатор, вот пример:
; Opera language file version 2.0
; Copyright c 1995-2002 Opera Software ASA. All rights reserved.
; It is created by KOCTET koctet@narod.ru, http://koctet.narod.ru
[Info]
Language="ru"
LanguageName="Русский"
Charset="UTF-8"
Build.Win=3613
Version.Win=7.50
DB.version=128
[Translation]
; General strings
; Used in a popup error message when Opera can't connect to the remote
; server due to other phenomena than the one stated in 32873.
32869="Невозможно подключиться к удаленному серверу"
; The error code corresponding to this string is used in a number of
; situations when the server has abruptly closed the connection, and then
; the string can be used in a popup error message.
32864="Соединение закрыто удаленным сервером"
Файл довольно большой. Не будет ли тормозить приложение при считывании данных, ведь для загрузки скажем Caption’а кнопки возможно придется перелопатить весь файл… и так каждый раз при загрузке очередной формы. Или получение данных происходит как то по другому?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #1
Добавлено: 08.10.04 16:02
Это у тебя не простой файл последовательного доступа, а ini-файл! Последнее важно. С помощью функций API получаешь доступ к любой точке твоего файла почти как к базе данных
Локализация... Текстовый ini-файл, это если ты хотел-бы, чтобы каждый желающий мог сделать перевод на свой родной язык. А если ты зашиваешь в рекурсы это дело, то делать переводы на малазийский и дальнечукотский язык сможет только счастливый обладатель твоих исходников (ты?) или не менее счастливый обладатель редактора ресурсов (заметь, что ресурсы можно поправить лишь в установленном приложении, очень редко в инсталляционном пакете). Так что работать с ресурсами тебе удобно как программеру, но если не хочешь заниматься впоследствии переводами на языки самолично, то .lng/.ini придуман для тебя!
Лично я за ini!
Номер ответа: 2
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #2
Добавлено: 08.10.04 16:09
А с помощью, каких API, которые читают данные из файла, например lread, llseek или есть специальные функции для работы с такими файлами?
Номер ответа: 3
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #3
Добавлено: 08.10.04 16:37
Нееее.... Есть спец функции для чтения ini
Номер ответа: 4
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #4
Добавлено: 08.10.04 17:17
Посмотри в примерах, очень часто встречается. Или сделай поиск по форуму. Обычно модуль с функциями-оболочками, реже модуль класса, можешь и напрямую API использовать.
Номер ответа: 5
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #5
Добавлено: 08.10.04 17:23
Всем огромное спасибо, пример уже нрыл, сидю разбирабсь. Все оказалось просто и красиво!
Номер ответа: 6
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #6
Добавлено: 08.10.04 20:36
см. пример Ini2Reg кажись зовется, очень удобная реализация, имхо
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 09.10.04 02:42
Всё что связано с PrivateProfile[String]