I did this kind of a hack. I put all this code in to the whiteboard.js.
Just after the line of 299
https://github.com/wicketstuff/core/blob/master/jdk-1.6-parent/whiteboard-parent/whiteboard/src/main/resources/org/wicketstuff/whiteboard/resource/whiteboard.js.
When I did that I see the getMsg function executes each and every time
which is referred. But the thing is the goog.LOCALE return en instead of
ru. I put

goog.LOCALE = 'ru';

this code in to the wicket head. But I think it is not set when the getMsg
is run. I am searching for place to put this initialization which will pick
up by getMsg. Will this work ?

Thanks!

Inserted code ,

var ru =
{
// Tooltips for buttons
    "Common tools":                                       "Общие
инструменты",
    "Zoom in":                                            "Увеличить",
    "Zoom out":                                           "Уменьшить",
    "Show coordinates":                                   "Показывать
координаты",
    "Clear all":                                          "Очистить все",
    "Clear traces":                                       "Очистить следы",
    "Show information about selected element":            "Информация об
элементе",

    "Ruler-and-compass constructions":                    "Построения
циркулем и линейкой",
    "Single point":                                       "Точка",
    "Line through two points":                            "Прямая,
проходящая через две точки",
    "Line segment connecting two points":                 "Отрезок,
соединяющий две точки",
    "Circle with radius equals to the given segment":     "Окружность с
заданным радиусом",
    "Circle with given center":                           "Окружность с
заданным центром",

    "Free hand drawing":                                  "Рисование",
    "Insert picture":                                     "Вставить
картинку",
    "Change whiteboard background":                       "Изменить обои",
    "Curve":                                              "Кривая линяя",
    "Polyline":                                           "Ломаная линия",
    "Rectangle":                                          "Прямоугольник",
    "Circle":                                             "Окружность",
    "Text box":                                           "Текст",
    "Highlight board area":                               "Выделить участок
доски",
    "Draw an arrow":                                      "Стрелка",
    "Highlight a point at whiteboard":                    "Отметить точку
на доске",

// Controls at the info dialog
    "Click to select other element":                      "Нажмите для
выбора следующего элемента",
    "Hide":                                               "Скрыть",
    "Click to hide element":                              "Нажмите, чтобы
скрыть элемент",
    "Trace":                                              "След",
    "Color":                                              "Цвет",
    "Click to select color":                              "Нажмите для
выбора цвета",
    "JSON code for drawing":                              "JSON-код для
рисунка",

// Element Labels in the info dialog
    "ClipArt does not exist":                             "Картинка
отсутствует",
    "ClipArt from [{$label}]":                            "Картинка,
источник {$label}",
    "Point does not exist":                               "Точка не
сушествует",
    "Point: [{$x},{$y}]":                                 "Точка
[{$x},{$y}]",
    "Line does not exist":                                "Линия не
существует",
    "Line [{$fromx},{$fromy}] - [{$tox},{$toy}]":         "Линия от
[{$fromx},{$fromy}] до [{$tox},{$toy}]",
    "Circle does not exist":                              "Окружность не
существует",
    "Circle [{$x},{$y}] -> {$r}":                         "Окружность
[{$x},{$y}] -> {$r}",
    "Curve does not exists":                              "Кривая не
существует",
    "Rectangle does not exist":                           "Прямоугольник не
существует",
    "Text does not exist":                                "Текст не
существует",
    "Text [{$label}]":                                    "Текст
[{$label}]",
    "Underline does not exists":                          "Выделение не
существует",
    "Underline":                                          "Выделение",
    "Arrow does not exists":                              "Стрелка не
существует",
    "Arrow":                                              "Стрелка",
    "Pointer does not exists":                            "Указатель не
существует",
    "Pointer [{$x},{$y}]":                                     "Указатель
на [{$x},{$y}]",

// Messages
    "This browser doesn''t support graphics. Please use another web
browser.":
        "Ваш браузер не поддерживает графику. Пожалуйста, используйте
другой браузер"
};

goog.getMsg = function(str, opt_values) {

    console.log("--------------------------------------");
    console.log(goog.LOCALE);
    var translation = window[goog.LOCALE] || {};
    console.log(translation);
    console.log("######################################");
    str = translation[str] || str;
    var values = opt_values || {};
    for (var key in values) {
        var value = ('' + values[key]).replace(/\$/g, '$$$$');
        str = str.replace(new RegExp('\\{\\$' + key + '\\}', 'gi'), value);
    }
    return str;
};


On Sun, Sep 22, 2013 at 12:48 AM, Bogdanov Andrey <[email protected]> wrote:

> Hi Andun,
>
> Unfortunately I didn't find good solution for the issue. I made some hack
> which allows to fix it right now but I think it requires other approach.
> Now you could get the latest version from github and use the next code:
>
> <script>
> current_LOCALE = 'ru';
>
> </script>
> <script src="translate.js"></script>
> <script src="whiteboard.js"></script>
>
>
> It seems goog.getMsg approach works when locale set at  "compilation"
> time, but didn't work when locale set in runtime after compilation.
> I will think on the problem and try to find better solution and will be
> gratefull if somebody has any suggestions.
>
> Regards,
> Andrey Bogdanov
>
>
> Суббота, 21 сентября 2013, 22:56 +05:30 от Andun Sameera <
> [email protected]>:
>
>   Hi Andrey,
>
> I tried to add your translate.js base logic to whiteboard. The thing is
> when I add the dependency to translate.js, it gives following error.
>
> ReferenceError: goog is not defined
> [Break On This Error]
>
> goog.provide('bay.whiteboard.translation');
>
> When I looked at your
> https://github.com/bay73/whiteboard/blob/master/src/index_t.htmlimplementation,
>  I found that there is a special dependency to,
>
> <script src="../../closure-library/closure/goog/base.js"></script>
>
> solve the problem. AFAIK in the OM whiteboard code we cant add all these
> Closure dependencies. So what is the resolution to this issue?
>
> Quick help will be highly appropriated since I have to finish this before
> day after tomorrow!
>
> Thanks!
>
>
>
>
>
> On Wed, Sep 18, 2013 at 9:43 PM, Andun Sameera 
> <[email protected]<https://e.mail.ru/sentmsg?mailto=mailto%[email protected]>
> > wrote:
>
> Here is another suggestion which came from Closure forum.
>
> "In Chrome apps and extensions, localization is done at runtime using
> chrome.i18n.getMessage() -- you pass it a message id and Chrome pulls the
> correct translation from the messages.json file for the user's current
> locale. http://developer.chrome.com/apps/i18n.html has all the details.
>
> I assume you're not writing a Chrome extension, but I bring it up because
> we added pass to the JS compiler, which is activated by the
> --replace_messages_with_
> chrome_i18n flag, to replace goog.getMsg() calls with
> chrome.i18n.getMessage() calls. You could probably hack together another
> compiler pass to do something similar, along the lines of what Ilia Mirkin
> suggested, if you were in the mood to hack on the Closure Compiler. I'm not
> sure if there are any good "How to write a new pass for the Closure
> Compiler" tutorials around, but hopefully you can find one or just follow
> the example of the existing ones."
>
> I am looking in to feasible solution! Comment needed to find a good
> approach!
>
> Thanks!
>
>
>
> On Fri, Sep 6, 2013 at 11:56 AM, Andun Sameera 
> <[email protected]<https://e.mail.ru/sentmsg?mailto=mailto%[email protected]>
> > wrote:
>
> I got your point! We can add these kind of arrays to add many languages.
> But in OM we are using files to give the localized words like this. Using
> keys to load values,
>
> <input type="submit" value="" wicket:id="ajax-cancel-button"
> wicket:ommessage="title:157" />
>
> I think Maxim can give me a clue to load suitable values from those file
> to this javascript arrays(
> https://github.com/bay73/whiteboard/blob/master/src/translate.js)!
>
> Thanks!
>
>
> On Fri, Sep 6, 2013 at 11:43 AM, Bogdanov Andrey 
> <[email protected]<https://e.mail.ru/sentmsg?mailto=mailto%[email protected]>
> > wrote:
>
> Yes, you are righ - documentation about this topic is very poor.
>
> Now I've made some translation to Russian - you could see translate.js
> script which I've commited to the https://github.com/bay73/whiteboard.git.
> This is simple dictionary - any language could be added there.
>
> Now I could set locale like this:
>
> <script>
> goog.LOCALE = 'ru';
> </script>
> <script src="translate.js"></script>
> <script src="whiteboard.js"></script>
>
> Regards,
> Andrey Bogdanov
>
>
> Пятница, 6 сентября 2013, 0:49 +05:30 от Andun Sameera 
> <[email protected]<https://e.mail.ru/sentmsg?mailto=mailto%[email protected]>
> >:
>
>   I tried to find some material related to localization. But finding help
> for Closure is a tough task. Cant we use a normal Javascript way to handle
> run-time change of languages?
>
>
> On Thu, Sep 5, 2013 at 6:19 PM, Bogdanov Andrey 
> <[email protected]<https://e.mail.ru/sentmsg?mailto=mailto%[email protected]>
> > wrote:
>
> Hi Andun,
>
> I've push a version which allows to clear background.
> You could call board.setBackground() or  board.setBackground('')  - it
> will work
>
> Also I've surrounded all nessages with goog.getMsg call, so we could add
> internationalization.
>
> Regards,
> Andrey
>
>
>
>
> Среда, 4 сентября 2013, 22:51 +05:30 от Andun Sameera 
> <[email protected]<https://e.mail.ru/sentmsg?mailto=mailto%[email protected]>
> >:
>
>   I have re-factored the code and committed. Also I have added undo for
> DOC
> addition, page navigation. Also there is another small problem which Andrey
> can answer me. How can we go to a empty background from? I tired to set a
> "" as the url. But didn't work.
>
> Thanks!
>
>
>
>
>
>
>
> --
> Regards
> Andun S.L. Gunawardana
> Undergraduate
> Department of Computer Science And Engineering
> University of Moratuwa
> Sri Lanka
>
> Blog - http://www.insightforfuture.blogspot.com/
> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
> Twitter -http://twitter.com/AndunSLG
>
>
>
>
>
>
>
> --
> Андрей Богданов
>
>
>
>
> --
> Regards
> Andun S.L. Gunawardana
> Undergraduate
> Department of Computer Science And Engineering
> University of Moratuwa
> Sri Lanka
>
> Blog - http://www.insightforfuture.blogspot.com/
> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
> Twitter -http://twitter.com/AndunSLG
>
>
>
>
>
>
>
>
> --
> Regards
> Andun S.L. Gunawardana
> Undergraduate
> Department of Computer Science And Engineering
> University of Moratuwa
> Sri Lanka
>
> Blog - http://www.insightforfuture.blogspot.com/
> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
> Twitter -http://twitter.com/AndunSLG
>
>
>
>
>
>
>
>
> --
> Regards
> Andun S.L. Gunawardana
> Undergraduate
> Department of Computer Science And Engineering
> University of Moratuwa
> Sri Lanka
>
> Blog - http://www.insightforfuture.blogspot.com/
> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
> Twitter -http://twitter.com/AndunSLG
>
>
>
>
>
>
>
> --
> Андрей Богданов
>



-- 
Regards
Andun S.L. Gunawardana
Undergraduate
Department of Computer Science And Engineering
University of Moratuwa
Sri Lanka

Blog - http://www.insightforfuture.blogspot.com/
LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
Twitter -http://twitter.com/AndunSLG

Reply via email to