Локализация description в макросах

Здесь обсуждается всё, что касается макросов.
Post Reply
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Локализация description в макросах

Post by SUSim »

А не сделать description в макросах зависимым от языка хелпа far?
предлагаю в хелп писать запись из поля descriptionEng при англйском языке, descriptionRus при русском и т.п., а если поля для текущего языка нет то из description...

Примечание модератора: http://forum.farmanager.com/viewtopic.php?f=8&t=9489
SimSU ··· ·· -- ··· ··-
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: description в Макросах

Post by Shmuel »

Промахнулись разделом, пусть администраторы перенесут.

По сути, тема серьёзная и касается не только поля description, но и текстовых сообщений, полей диалогов и т.п., выводимых макросами. Заслуживает быть на мантисе.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: description в Макросах

Post by SUSim »

Почему темой промахнулся, вроде это предложение относится к работе самого фара, а точнее к работе его хелпа?

По поводу сообщений я в своих макросах учитываю язык при выводе:

Code: Select all

  local RorE= win.GetEnv("farlang")=="Russian"
  far.Message(RorE and " Нажмите клавишу... © SimSU " or " Press key... © SimSU ","","")
SimSU ··· ·· -- ··· ··-
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: description в Макросах

Post by Shmuel »

SUSim wrote:Почему темой промахнулся, вроде это предложение относится к работе самого фара, а точнее к работе его хелпа?
Потому что здесь подраздел "Список форумов » Plugins » Предложения и идеи".
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Re: description в Макросах

Post by gotar »

А в luafar есть средства работы с .lng файлами? Может прям надо писать

Code: Select all

description=far.GetMsg(15)
?
или как в far.menu:

Code: Select all

description=15
far.Menu: the ["text"] field of an item is always treated as a string
(was: if it's a number, then GetMsg(n) was called).
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: description в Макросах

Post by Shmuel »

gotar wrote:А в luafar есть средства работы с .lng файлами? Может прям надо писать

Code: Select all

description=Info.GetMsg(guid,15)
?
GetMsg в LuaFAR есть, загляните в мануал. Но он привязан к плагину, а не к макросам. Поэтому перенос макросов между пользователями будет, мягко говоря, проблематичен.

У меня есть одно решение, давно используемое в LuaFAR-плагинах. Подумаю, не подойдёт ли оно для макросов.
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Как лучше локализовывать скрипты?

Post by gotar »

Какой рекомендованный путь добавления строчек в lang.lua и .lng для своих макросов, если я хочу их сделать многоязычными?
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel »

gotar wrote:Какой рекомендованный путь добавления строчек в lang.lua и .lng для своих макросов, если я хочу их сделать многоязычными?
На сегодняшний день - только ручками.
И в одном из макрофайлов, вне макросов, инициализировать глобальную переменную M (можно выбрать другое имя).
  1. _G.M = assert(loadfile(far.PluginStartupInfo().ModuleDir.."lang.lua"))()
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Re: LuaMacro — Lua как язык макросов

Post by gotar »

Чуть поподробнее.
1.Насколько я понял .lng файл один на все макросы. Если я буду добавлять свои строчки в файл lm_rus.lng, то они пропадут при очередном обновлении Фара. Если я скопирую существующие строчки из lm_rus.lng в свой файл и добавлю свои строчки, как заставить фар грузить мой .lng, а не исходный?
2. Чтобы мои метки сообщений не затерлись при очередном обновлении, я должен скопировать lang.lua в свой файл, добавить туда свои метки, загрузить этот файл, как Вы указали,
и затем получать текст сообщения
  1. msg=M.label
Я правильно Вас понял?
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel »

gotar wrote:1.Насколько я понял .lng файл один на все макросы. Если я буду добавлять свои строчки в файл lm_rus.lng, то они пропадут при очередном обновлении Фара. Если я скопирую существующие строчки из lm_rus.lng в свой файл и добавлю свои строчки, как заставить фар грузить мой .lng, а не исходный?
2. Чтобы мои метки сообщений не затерлись при очередном обновлении, я должен скопировать lang.lua в свой файл, добавить туда свои метки, загрузить этот файл, как Вы указали,
и затем получать текст сообщения
  1. msg=M.label
Я правильно Вас понял?
Как уже было сказано, на сегодняшний день в LuaMacro не предусмотрено никакого автоматического способа расширения lng-файлов файлами пользователя. Возможно такой способ со временем появится.

Было сказано, что возможно "ручное" расширение - это значит, что нужно расширять существующие файлы, а не подменять их другими.
Last edited by Shmuel on Tue 16 Jul, 2013 05:59, edited 1 time in total.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: LuaMacro — Lua как язык макросов

Post by SUSim »

для себя я локализацию макросов решил чисто через lua...
макросы так макросы!!! lua так lua, зачем сложности?..
SimSU ··· ·· -- ··· ··-
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: LuaMacro — Lua как язык макросов

Post by Aidar »

SUSim wrote:... lua так lua, зачем сложности?..
+1
Post Reply

Return to “Обсуждение макросов”