ScorpioT1000
Работаем
offline
Опыт: отключен
|
[cJass] Localized Library (Alpha)
ЛолШТО?Удобная библиотека для локализации строк :) но сначала почитай это xgm.ru/forum/showthread.php?p=688121&posted=1#post688121
Лолгде?пока есть всякая фигня и врятли она пофиксится:
» Лолкод!
Лолкак?А очень просто!
В начале своей карты ты задаешь языки для выбора и язык, который выбран сейчас:
В тех местах, где нужно получить строку, зависящую от языка:
(в том порядке, в котором задавали L_LANG1,2,3)
В результате выведет на том языке, который задан в LANGUAGE АльфаЭто все альфаверсия и это все моя травка, поэтому не обращайте внимания) Ну а точней, говорите решения круче. Ибо покачто это не совсем тру Отредактировано ScorpioT1000, 27.10.2009 в 12:20. |
24.10.2009, 09:47 | #1
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Это вроде нового стандарта, для удобства при локализации? Или я не понял |
24.10.2009, 10:19 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SageOne
x
offline
Опыт:
46,054Активность: |
ScorpioT1000, я так понял, это рассчитано на тот случай, когда карта может идти на нескольких языках сразу? |
24.10.2009, 10:55 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ranger21
I love beatiul days XD
offline
Опыт:
13,274Активность: |
Ммм, такая штука может мне пригодится, только боюсь слишком увеличить вес карты.
Сделать перевод на English и Русский) |
24.10.2009, 10:58 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Да, это для удобства локализации строк внутри кода, тоесть вместо ввода одной строки, ты вводишь L() и внутри несколько строк(пока можно 2, 3 или 7)
ScorpioT1000 добавил:
з.ы. используется в JC :) ScorpioT1000 добавил:
ну это фэлс |
24.10.2009, 12:11 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sebra
offline
Опыт:
5,603Активность: |
Вот если бы язык определялся динамически, в зависимости от языка пользователя( :) ну хотя бы игры ). А если так:
Мой вариант без функций, без перегрузок, без ограничений для глобалок. Даже это не нужно. |
24.10.2009, 12:30 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,730Активность: |
ScorpioT1000, TRGSTR наше все. |
24.10.2009, 12:33 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
Имхо, это стоит делать через условные дефайны:
|
24.10.2009, 13:09 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
все что вы предложили - неуникально
Sebra, вобще лол, не позорься ScorpioT1000 добавил: я делаю минимально, что нужно вводить пользователю. У вас же белиберда какаято, вобще непонятно зачем тогда это надо, можно для каждого языка просто переписать вручную строчки. у меня же нужно просто поменять язык и перекомпилировать. |
24.10.2009, 13:58 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sebra
offline
Опыт:
5,603Активность: |
Мой лол не лолее твоего лола. :D
Ты для кого пишешь? Для тех, кто может вставить твой инклуд, но не может свой? Для тех, кто хочет делать карту с возможностью компиляции на N языках, но не собирается добавлять ещё один? Лучше бы сделал либу, автоматически определяющую язык по какой либо стандартной строке вара. Это было бы куда полезнее. Были бы логичны и необходимы функции, одна и та же карта могла бы работать на разных языках параллельно у разноязычных пользователей. Эло лучше, чем у Айсфрога с его набором карт на разные языки. |
24.10.2009, 14:11 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Может карту пример выложишь? И да это все только на сjassе? |
24.10.2009, 14:12 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
какой тебе пример ? создаешь .j файл вставляешь туда этот код сверху.
пример с кодом написан выше, вместо любой строки пишешь L(строкарус,строкаинг) :) тестишь.. ScorpioT1000 добавил: ну вобщем, как обычно, никто ничего не шарит.. спасибо за внимание :) |
24.10.2009, 14:15 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
Sebra, тоже вариант, правда, громозко получается.
ScorpioT1000, хочешь я скажу правду? Ты не шаришь. © Вот скажи мне, чем мой код лольнее твоего? У тебя уникальность так и прет: если понадобится отобразить сообщение, то в твоем случае придется вызывать функцию, которая выдает нужную строку. Почему бы не заинлайнить все локализуемые строки? В моем случае достаточно просто сменить значение дефайна LANG, и АдикПарсер заменит msg_textNN на нужный вариант. |
24.10.2009, 14:19 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
дело в том, дружок, что у меня подкачивает реализация(собстна изза однопроходности - #if нельзя внутри дифайна поместить), а у вас юзер должен создавать какието непонятные строчки, заполнять их непойми где.. это не есть уникальный солюшен, т.е. нет смысла делать либу вобще :)
ScorpioT1000 добавил:
ну да, инлайн нужных функций если будет, тогда будет круто. ScorpioT1000 добавил: ну тоесть скажем, у меня есть 5 библиотек, в каждой свои дифинишны строк, в которые разработчик каждой либы предлагает по-своему задавать значения. в вашем случае я должен буду создать еще один "хэдер" с кучей строк от всего сразу, а потом распасовать по разным библиотеками дифайны? |
24.10.2009, 14:26 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sebra
offline
Опыт:
5,603Активность: |
Ещё вариант:
Опять скажешь, что хуже твоего? Хоть скажи, чем. |
24.10.2009, 14:28 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
вот возьмем
в вашем случае я должен создать
ScorpioT1000 добавил: Sebra, уже лучше, я думаю, что-то вроде этого и надо было. Только надо также для онли двух и трех выбранных юзером языков, чтобы не писать лишнего) |
24.10.2009, 14:31 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sebra
offline
Опыт:
5,603Активность: |
ScorpioT1000:
В моём первом варианте в тексте пишутся фразы на инглише (как самом универсальном), а весь перевод выносится в инклуд.
Преимущества: лёгкость добавления языка, нет необходимости десять раз по тексту переводить хэлло. Недостатки: нет возможности по разному перевести одинаковые фразы в разном контексте. Во втором варианте минимальные дефайны и весь текст по местам.
Преимущества: не нужны инклуды на каждый язык, возможность учёта контекста при переводе. Недостатки: проблематичное добавление ещё одного языка. Мой второй вариант во всём лучше твоего. |
24.10.2009, 14:40 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
ололо да и только) они тормозятся ScorpioT1000 добавил: Sebra, собственно скоро его заюзаю. |
24.10.2009, 14:42 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sebra
offline
Опыт:
5,603Активность: |
ScorpioT1000:
Всё бы ничего, но как выбрать языки? Может так?
Собственно это можно уже в либу. Осталось только перегрузить для каждого количества языков. Проблема только в том, что enum должен быть вне либы, до определения порядка языков и собственно языка. |
24.10.2009, 14:53 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Скорп, проще говоря у меня не выделяется и не копируется текст который наверху) я думаю выбор через диалог |
24.10.2009, 16:07 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|