
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рд╕реНрдкреНрд▓рдВрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдЦреЛрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдорд╛рдирдХ рддрддреНрд╡реЛрдВ рд╕рд╣рд┐рдд) рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рддрдВрддреНрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ - рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдФрд░ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг (i18n)ред
рдЕрдиреБрд╡рд╛рдж рдХреЗ рдЕрд╡рд╕рд░:
- рд╕реНрдкреНрд▓рдВрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕
- рдбреИрд╢рдмреЛрд░реНрдб (рдкреИрдирд▓ рдФрд░ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╢реАрд░реНрд╖рдХ);
- рд╡рд░реНрддрдорд╛рди рд╕реНрдерд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдерд┐рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рдЪрд┐рддреНрд░, CSS, рдЖрджрд┐) рдХрд╛ рдЪрдпрди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: logo-en_RU.gif рдпрд╛ logo-en_GB.gifред
рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рдХрджрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- Splunk рдореЗрдВ рдПрдХ рдирдпрд╛ рд▓реЛрдХреЗрд▓ рдмрдирд╛рдПрдВ (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ)ред
- рдЕрдиреБрд╡рд╛рдж рд╢рдмреНрджрдХреЛрд╢ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ред
рд╣рдо OpenVAS рднреЗрджреНрдпрддрд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕реНрд╡рдпрдВ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рдгрд╛рд▓реА рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдмрдбрд╝реА рддрд╕реНрд╡реАрд░ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреВрд░рдХ рдХрд░рддрд╛ рд╣реИред
рд╣рд░ рдХреЛрдИ рдЬреЛ рд╕реНрдкреНрд▓рдВрдХ рдкрд░ рд╡рд░реНрддрдорд╛рди рдореБрджреНрджреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рд╣рдо рдЖрдкрдХреЛ
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо (@SplunkRU) рдореЗрдВ рд╣рдорд╛рд░реЗ рдЪреИрдирд▓ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рддреЛ, рдЪрд▓реЛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред
рд╕реНрдкреНрд▓рдВрдХ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╕реНрдерд╛рди рдмрдирд╛рдирд╛
рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдкреНрд▓рдВрдХ рдореЗрдВ en-US рд▓реЛрдХреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЖрдк рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓рд╛рдЗрди рдореЗрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: MYSERVER: 8000 / en-US / app / search (
рд╕рдВрдХреЗрдд: рдпрджрд┐ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ en-US рдХреЛ en-GB рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╕рдордп рдФрд░ рджрд┐рдирд╛рдВрдХ рд╣реЛрдЧрд╛ рдПрдХ рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ)ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд░реВрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╕реНрдерд╛рди рдмрдирд╛рдПрдВрдЧреЗред рдореМрдЬреВрджрд╛ рд╕реНрдерд╛рди рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ:
sudo cp /opt/splunk/lib/python2.7/site-packages/splunk/appserver/mrsparkle/locale/en_GB /opt/splunk/lib/python2.7/site-packages/splunk/appserver/mrsparkle/locale/ru_RU -ru
рд╕реНрдкрд╛рд░реНрдХрд┐рдВрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛:
sudo /opt/splunk/bin/splunk restart
рдФрд░ рдЬрд╛рдВрдЪреЗрдВ:
MYSERVER:8000/ru-RU/app/launcher/home
рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ
Testapp рдирд╛рдордХ рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ (Name \ Folder name: testapp):
MYSERVER:8000/ru-RU/manager/launcher/apps/local/_new?action=edit&ns=launcher
рдЕрдиреБрд╡рд╛рдж рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдирд╛
рдЕрдм рд╣рдо рдЕрдиреБрд╡рд╛рдж рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред
рд╣рдо рдореМрдЬреВрджрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдЗрд╕реЗ рдирдП рдмрдирд╛рдП рдЧрдП рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ:
sudo /opt/splunk/bin/splunk extract i18n -app testapp
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлрд╝рд╛рдЗрд▓
/opt/splunk/etc/apps/testapp/locale/messages.pot
, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рд╣реЛрдЧрд╛ - рдЖрд╡реЗрджрди рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХред
рд╣рдо рд╕рд╛рдЗрдЯ
poeditor.com рдкрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВред
рд░реВрд╕реА рднрд╛рд╖рд╛ рдЬреЛрдбрд╝реЗрдВ (рднрд╛рд╖рд╛ рдЬреЛрдбрд╝реЗрдВ):

рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдЖрдпрд╛рдд рдХрд░реЗрдВ (рдЖрдпрд╛рдд рд╢рдмреНрдж) рд╣рдорд╛рд░реА рдлрд╝рд╛рдЗрд▓
/opt/splunk/etc/apps/testapp/locale/messages.pot
:

рдРрдб рдЯрд░реНрдо рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВ:

рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рджрд╛рдИрдВ рдУрд░ рдПрдХ рдЕрдиреБрд╡рд╛рдж рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдЯрди рд╣реИ:

рд╣рдо рдЕрдкрдиреЗ рдЦреЗрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдФрд░ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВрдЧреЗ:

рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рд░реВрд╕реА рднрд╛рд╖рд╛ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ TWO рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ: .po рдФрд░ .mo:

рдЙрдкрдпреБрдХреНрдд рд▓реЛрдХреЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдлреЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ рдФрд░ рд╣рдорд╛рд░реА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рддреЗ рд╣реБрдП рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдорд╢рдГ message.po рдФрд░ messages.mo рдирд╛рдо рджреЗрдВред
sudo mkdir /opt/splunk/etc/apps/testapp/locale/ru_RU/LC_MESSAGES suco cp messages.* /opt/splunk/etc/apps/testapp/locale/ru_RU/LC_MESSAGES
рд░рд┐рдмреВрдЯрд┐рдВрдЧ рд╕реНрдкреНрд▓рдВрдХ:
sudo /opt/splunk/bin/splunk restart.
рд╣рдо рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрд╡реЗрджрди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдирд╛рдо рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реИ:
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ : 8000 / en-us / app / testapp / рдЦреЛрдЬ

рдЬреЗрдПрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдЕрдЧрд▓рд╛ рдХрджрдо рдПрдХ рдЬреЗрдПрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛ рд╣реИ рдЬреЛ рдЯреЛрдХрди рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдмрджрд▓ рджреЗрдЧрд╛ред рд░реВрд╕реА рдФрд░ рдЬрд░реНрдорди: рддреБрд░рдВрдд рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВред
рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ рдЬрд╣рд╛рдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
sudo mkdir /opt/splunk/etc/apps/testapp/appserver sudo mkdir /opt/splunk/etc/apps/testapp/appserver/static
рд╣рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрд╡рдпрдВ /opt/splunk/etc/apps/testapp/appserver/static/dashTranslate.js рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
require([ 'jquery', 'underscore', 'splunk.i18n', 'splunkjs/mvc', 'splunkjs/mvc/simplexml/ready!' ], function ($, _, i18n, mvc) { var defaultTokens = mvc.Components.get("default"); var envTokenModel = mvc.Components.getInstance("env"); if (envTokenModel.get("locale") != "ru-RU" || envTokenModel.get("locale") != "de-DE") { defaultTokens.set("form.t_locale", "ru-RU");
рдПрдХ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рдирд╛
рдПрдХ рдирдпрд╛ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВ (рдЕрдВрдд рдореЗрдВ рдЖрд▓рд╕реА рдХреЗ рд▓рд┐рдП рдбреИрд╢рдмреЛрд░реНрдб рд╕реНрд░реЛрдд):
- рдЗрдирдкреБрдЯ рдкрд╛рда - рдирд╛рдо: рдЧрд┐рдирддреА, рдЯреЛрдХрди: t_count
- рдЗрдирдкреБрдЯ рдкрд╛рда - рдирд╛рдо: OpenvasTitle, рдЯреЛрдХрди: t_openvasTitle
- рдЗрдирдкреБрдЯ рдкрд╛рда - рдирд╛рдо: рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рдЯреЛрдХрди: t_signature
- рдЗрдирдкреБрдЯ рдкрд╛рда - рдирд╛рдо: рд╡рд┐рд╡рд░рдг, рдЯреЛрдХрди: t_description
рдлрд╝реЙрд░реНрдоред * рдЯреЛрдХрди рдмрд┐рдирд╛ рдЗрдирдкреБрдЯ рдХреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЬреЛ рдбреИрд╢рдмреЛрд░реНрдб рдХреЗ рдкреВрд░реНрдг рд░рд╛рдЬреНрдп рдХреЛ URL рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ред рддрд╛рдХрд┐ рд╡реЗ рдЖрдВрдЦреЗрдВ рдирд╣реАрдВ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ "рдирд┐рд░реНрднрд░ =" $ рдХреБрдЫ рднреА рдирд╣реАрдВ "" рдЬреЛрдбрд╝реЗрдВред
рдкреИрдирд▓, рдЖрдБрдХрдбрд╝рд╛ рддрд╛рд▓рд┐рдХрд╛ - рд╢реАрд░реНрд╖рдХ: $ t_openvasTitle $
index=openvas | stats count by "NVT Name" Summary | rename "NVT Name" AS $form.t_signature$ Summary AS $form.t_description$ count AS $form.t_count$
рдкреИрдирд▓, рдкрд╛рдИ рдЪрд╛рд░реНрдЯ - рд╢реАрд░реНрд╖рдХ: $ t_openvasTitle $
index=openvas | stats count by "NVT Name" | rename "NVT Name" AS $form.t_signature$ count AS $form.t_count$
рд╣рдорд╛рд░реА рдбреИрд╢рдмреЛрд░реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝реЗрдВ - рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓реЗрдВ:
<form script="dashTranslate.js">
рдпрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ - рд╕реНрдкреНрд▓рдВрдХ рдЗрд╕реЗ рдЬреНрдЮрд╛рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ (рдЗрдирдкреБрдЯ рдорд╛рдорд▓реЗ рдореЗрдВ рдЧрдгрдирд╛, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░) рдпрд╛ рд╣реЗрдбрд░ред
рд╕рдВрдкрд╛рджрди рдореЛрдб:


рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб:


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЬрдм рдкреИрдирд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рд╕рдВрдпреЛрдЧ рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЪрд░ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕реНрд░реЛрдд рдбрд╛рд▓рддреЗ рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдУрдкрдирд╡реЙрдЗрд╕рдЯреЗрд▓реЗ рдпрд╛ рд╡рд┐рд╡рд░рдг) рдкрд╛рда ("OpenVAS_ рдШрдЯрдирд╛рдХреНрд░рдо" рдпрд╛ "рд╡рд┐рд╡рд░рдг_" рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛) рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ)ред рд╕рд╛рде рд╣реА, рд╕рдВрдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдиреБрд╡рд╛рдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЯреЛрдХрди ($ form.t_openvasTitle $ рдФрд░ $ form.t_description $) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рд░реА-рдПрдбрд┐рдЯрд┐рдВрдЧ рдореЛрдб рдореЗрдВ: рд╢реАрд░реНрд╖ рд╣реЗрдбрд░ рдЯреЛрдХрди $ form.t_openvasTitle $ рд╣реИ, рдиреАрдЪреЗ рдЯреЗрдХреНрд╕реНрдЯ рдУрдкрдирд╡реЙрдЗрд╕рдЯрд╛рдЗрд▓ рд╣реИред

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдПрдХ рдбреИрд╢рдмреЛрд░реНрдб рдорд┐рд▓рд╛

рдкреНрд░рддрд┐рдмрдВрдз
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ:
- рдЖрдк рдбреИрд╢рдмреЛрд░реНрдб рд╣реЗрдбрд░ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
- рдЖрдк рдЯреЛрдХрди рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдиреЛрдВ рдХреЛ init \ set рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрд╡рд╛рдж рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЖрдк рдЬреЗрдПрд╕ рдХреЛ рдмрд╛рдж рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдкрдХреЛ HTML рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛)ред
рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рда рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд╕рд╛рде рд▓реБрдХрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рд╡реИрд╢реНрд╡рд┐рдХ рдЯреЛрдХрди рд╕реНрдкреНрд▓рдВрдХ $ en :: рд╕реНрдерд╛рдиреАрдп $ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рднреЗрджреНрдпрддрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╡рд╣ рд╣реИрд╢ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдо рдЕрдиреБрд╡рд╛рдж рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЕрдиреБрд╡рд╛рдж рдЦрд╛рд▓реА рд╣реИ, рддреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдорд╛рд░реЗ рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ рдПрдХ рдирдИ рд╕реНрдерд┐рд░ рддрд╛рд▓рд┐рдХрд╛ рдЬреЛрдбрд╝реЗрдВ:
index="openvas" | eval signature=replace(signature, "[\n\r]", " ") | eval description=replace(description, "[\n\r]", " ") | eval hash=md5(signature.description) | stats count by signature description hash | lookup OpenVAS_translate hash AS hash OUTPUT signature_$env:locale$ AS signature_$env:locale$ description_$env:locale$ AS description_$env:locale$ | eval signature=coalesce('signature_$env:locale$', signature) | eval description=coalesce('description_$env:locale$', description) | fields - signature_$env:locale$ description_$env:locale$ count hash | rename signature AS $form.t_signature$ description AS $form.t_description$
OpenVAS_translate.csv рдлрд╝рд╛рдЗрд▓ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ (рдореИрдВ рдЖрдкрдХреЛ рд▓реБрдХрдЕрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реБрдХрдЕрдк рд╕рдВрдкрд╛рджрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ):

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдХреЛрдИ рдЕрдиреБрд╡рд╛рдж рд╣реИ, рддреЛ рдЙрд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЖрд░рдпреВ-RU:

рдбреА-рдбреЗ:

рдорд╛рдирдХ рд╕реНрдкреНрд▓рдВрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЕрдиреБрд╡рд╛рдж
рд╕реНрдкреНрд▓рдВрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЙрд╕реА рддрд░рд╣ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЖрдкрдХреЛ $ SPLUNK_HOME / lib / python2.7 / рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ / рд╕реНрдкреНрд▓рдВрдХ / appserver / mrsparkle / locale / messages / .pot рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ poeditor рдХреЛ рдлрд╛рдЗрд▓ рдХрд░реЗрдВ рдФрд░ рджреЛ рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓реЛрдВ (рдореИрд╕реЗрдЬ.рдореЛ рдФрд░ рдореИрд╕реЗрдЬ.рдкреЛ) рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВред рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП: $ SPLUNK_HOME / lib / python2.7 / рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ / рд╕реНрдкреНрд▓рдВрдХ / appserver / mrsparkle / locale / ru_RU / LC_MESSAGES /
рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реНрд░реЛрддреЛрдВ рдХреА рд╕реВрдЪреА:docs.splunk.com/Documentation/Splunk/6.4.1/AdvancedDev/TranslateSplunkdocs.splunk.com/Documentation/Splunk/7.2.6/Viz/tokenssplunkonbigdata.com/2018/11/01/creating-a-splunk-localeanswers.splunk.comрджреНрд╡рд╛рд░рд╛: рджрд┐рдорд┐рддреНрд░реА рдЧреЛрд▓реЛрд╡реНрдирд╛реНрдпрд╛ рдЯреАрдЬреА: @ рдЧреЛрд▓реЛрд╡реНрдиреНрдпрд╛рдб
рдЕрдВрддрд┐рдо рдбреИрд╢рдмреЛрд░реНрдб рдХреЛрдб: <form script="d.js"> <label>i18n description</label> <description>description</description> <fieldset submitButton="false" autoRun="false"> <input type="text" token="t_count" depends="$nothing$"> <label>count</label> </input> <input type="text" token="t_openvasTitle" depends="$nothing$"> <label>openvasTitle</label> </input> <input type="text" token="t_signature" depends="$nothing$"> <label>signature</label> </input> <input type="text" token="t_description" depends="$nothing$"> <label>description</label> </input> </fieldset> <row> <panel> <title>$form.t_openvasTitle$</title> <table> <title>openvasTitle</title> <search> <query>index=openvas | stats count by "NVT Name" Summary | rename "NVT Name" AS $form.t_signature$ Summary AS $form.t_description$ count AS $form.t_count$</query> <earliest>0</earliest> <latest></latest> </search> <option name="drilldown">none</option> <option name="refresh.display">progressbar</option> </table> </panel> </row> <row> <panel> <chart> <title>$form.t_openvasTitle$</title> <search> <query>index=openvas | stats count by "NVT Name" | rename "NVT Name" AS $form.t_signature$ count AS $form.t_count$</query> <earliest>0</earliest> <latest></latest> </search> <option name="charting.chart">pie</option> <option name="charting.drilldown">none</option> <option name="refresh.display">progressbar</option> </chart> </panel> </row> <row> <panel> <table> <search> <query>index="openvas" | eval signature=replace(signature, "[\n\r]", " ") | eval description=replace(description, "[\n\r]", " ") | eval hash=md5(signature.description) | stats count by signature description hash | lookup OpenVAS_translate hash AS hash OUTPUT signature_$env:locale$ AS signature_$env:locale$ description_$env:locale$ AS description_$env:locale$ | eval signature=coalesce('signature_$env:locale$', signature) | eval description=coalesce('description_$env:locale$', description) | fields - signature_$env:locale$ description_$env:locale$ count hash | rename signature AS $form.t_signature$ description AS $form.t_description$</query> <earliest>0</earliest> <latest></latest> </search> <option name="count">10</option> <option name="drilldown">none</option> <option name="refresh.display">progressbar</option> </table> </panel> </row> </form>