Re: Грабли мультиязычной поддержки
От: Carc Россия Aml Pages — оперативный блокнот http://www.amlpages.com/home.php
Дата: 11.10.15 07:47
Оценка: 4 (1)
R>Дальше опишу уже не так подробно, а тезисно, другие грабли, с которыми пришлось столкнуться:

R>* Совершенно зря в первых версиях я вносил тексты о цене программы. Цена менялась очень часто. Влияния же на то, что разбрелось по интернету, у меня не было.


1. Ба-а-а-а, знакомые всё грабли.

2. По делу. Цена хардкодиться — ну или как вариант вынимается в онлайн с сервера (очень часто неприемлемо).

Как хардкодим цену.
1. Цена менятся, но меняется она с выходом новой версии. В новой версии хардкодиться новая цена.

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

Что делал я? Я определял цену, которую показать пользователю по языковому файлу. В файле (тот же ини кстати), был ключ LANGPREFIX. В нем был префикс языка по ISO (то что в языковой панели Windows показывается). Всех переводчиков просил указывать (несложно мол, посмотри в нижний угол экрана).

Что дальше? У меня в основном 2 цены. Для англо- и проче-язычных (больше), и для русско- и прочеязычных (цена меньше).

Дальше в подсистеме локализации заводилось пара функций вида BOOL IsПоказатьЦенуДляРусских, BOOL IsПоказатьЦенуДляОстальных. По сути IsПоказатьЦенуДляРусских показывала меньшую цену, вторая была просто отрицанием первой.

Дык вот функция IsПоказатьЦенуДляРусских просто вынимала этот самый префикс языка из ключа LANGPREFIX из текущего файла локализации и сравнивала его с массивом префиксов. Т.е. для префиксов RU, UA, KZ(казахи), BY (белорусы) — она всегда возращала TRUE. Для прочих FALSE.

Т.е. таким образом сравнительно дешево получилось сделать как бы поддержку пра-русской аудитории, и пра-прочей. Ясно, что групп может быть и больше.

Ну минусы очевидны. Плюсы налицо — малой кровью получаем поддержку разных групп цен.

Ну вот так, как-то... Проверено на 3 работающих проектах. Работат!!!!

PS: остальное все само собой, вроде установок цен на orderpage по IP, или редирект по языку веб-браузера на страницу с малой ценой или с большей. Одно другому не мешает.
Aml Pages Home
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.