Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Переключение языков... / 9 сообщений из 9, страница 1 из 1
25.11.2009, 13:23
    #36330733
srsd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение языков...
Вот проблемма которая терзает я думаю многих, как сделать свою разработку на нескольких языках!?!?!?!
Делать под каждый язык отдельную страницу это веть не вариант, увеличится и объем и соответственно время на создание, вобщем плохой подход.
Хочу сделать глабаль в которую занесу слова на нужных языках а в програмах , ну т.е. в ZEN вместо названий кнопок и т.д. писать некий определитель что типа название поля брать из глобали такой-то позиция такая-та, язык выбрал пользователь такой вот......
Вот как бы такое реализовать?
Кто нибуть сталкивался с таким?
Считаю идея интерересная для реализации.
...
Рейтинг: 0 / 0
25.11.2009, 13:49
    #36330825
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение языков...
srsdписать некий определитель что типа название поля брать из глобали такой-то позиция такая-та, язык выбрал пользователь такой вот......

Дюже много параметров... Думаю обделался бы некой процедурой в которую передал понятное мне сообщение, а уж она пусть все и вычисляет.
Т.е. нечто типа

Код: plaintext
d MESS^MyPrg("Укажите имя пользователя и пароль")
...
Рейтинг: 0 / 0
25.11.2009, 14:05
    #36330855
srsd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение языков...
krvsasrsdписать некий определитель что типа название поля брать из глобали такой-то позиция такая-та, язык выбрал пользователь такой вот......

Дюже много параметров... Думаю обделался бы некой процедурой в которую передал понятное мне сообщение, а уж она пусть все и вычисляет.
Т.е. нечто типа

Код: plaintext
d MESS^MyPrg("Укажите имя пользователя и пароль")


Допустим на странице кнопка называется сохранить, т.е. caption="сохранить" но вместо этого в коде написанно caption="--глобаль и откуда взять значение--" а в настройках пользователя указанно какой язык использовать.
...
Рейтинг: 0 / 0
25.11.2009, 14:11
    #36330873
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение языков...
srsdcaption="сохранить" но вместо этого в коде написанно caption="--глобаль и откуда взять значение--" а в настройках пользователя указанно какой язык использовать.

Так сам код будет не читабельным... Как вариант будет так

Код: plaintext
caption='$$Mes^myprg("Записать")'

Все остальное пусть делает функция...
...
Рейтинг: 0 / 0
25.11.2009, 14:11
    #36330874
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение языков...
механизм локализации уже реализован в cache
нужно только найти и посмотреть как он работает
думаю копать нужно в классы портала, например v.2009
мы уже задумываемся на эту тему, но пока дальше дело не дошло
...
Рейтинг: 0 / 0
25.11.2009, 14:12
    #36330879
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение языков...
советую посмотреть $$$Text
...
Рейтинг: 0 / 0
25.11.2009, 14:21
    #36330907
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение языков...
В Caché уже есть готовый механизм для локализации CSP/ZEN приложений: Zen Localization .

PS: похожий механизм можно использовать для локализации сообщений не только для CSP/ZEN.
...
Рейтинг: 0 / 0
25.11.2009, 14:26
    #36330927
MX - 9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение языков...
srsdВот проблемма которая терзает я думаю многих, как сделать свою разработку на нескольких языках!?!?!?!
Делать под каждый язык отдельную страницу это веть не вариант, увеличится и объем и соответственно время на создание, вобщем плохой подход.
Хочу сделать глабаль в которую занесу слова на нужных языках а в програмах , ну т.е. в ZEN вместо названий кнопок и т.д. писать некий определитель что типа название поля брать из глобали такой-то позиция такая-та, язык выбрал пользователь такой вот......
Вот как бы такое реализовать?
Кто нибуть сталкивался с таким?
Считаю идея интерересная для реализации.

работаем

перед выдачей на экран ВЕСЬ текст страницы - по фразам - перекодируется через
соответств словарь и далее - интерактивно - весь трафик на эту страницу
(без переобновления всей страницы)

..писать некий определитель .. не надо

сервер - сасне 8 bit - там все на одном языке или на смеси 2-х или 3-х
клиенты - могут кнопкой или по предварит персональной настройке
выбрать себе для отображения любой язык из имеющегося набора словарей
(клиенты у нас - на EXCEL - соответственно всегда в unicode)

названия кнопок, выпадающие списки и тп - также переводятся

непереведенные фразы или слова автоматически заносятся в спец глобаль для
последующей проработки - перевода

в принципе все европейские
на практике - русский украинский белорусский английский немецкий латышский
...
Рейтинг: 0 / 0
27.11.2009, 00:03
    #36334657
neznau
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переключение языков...
сообщения можно хранить на сервере, в каком-либо глобале, а доступ к ним иметь через два аргумента: язык и ид-р сообщения.
Например,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<all>
<language id="russian">
<message id="btnSave">Сохранить</message>
<message id="btnReturn">Вернуться</message>
...
</language>
<language id="english">
<message id="btnSave">Save</message>
<message id="btnReturn">Return</message>
...
</language>
...
</all>

Вид глобала

Код: plaintext
^languages(<просто узел>,<ид-ра языка>,<ид-р сообщения>)=<само сообщение на требуемом языке>

например
Код: plaintext
^languages("all","ru","btnSave")="Сохранить"
и т.п.

а для подстановки текста на страницу можно использовать макрос
Код: plaintext
1.
#define Localization(%lang,%msgid,%defaultmessage) $s($d(^languages("all",%lang,%msgid)):^languages("all",%lang,%msgid), 1 :%defaultmessage) 

использовать так

Код: plaintext
$$$Localization("russian","btnSave","Save")

значение "russian" нужно хранить в переменной, и подставлять её...

как то так
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Переключение языков... / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]