nul'
13 | ) do set locale=%%a
14 |
15 | rem — Messages localisés utilisant !EXT_VERSION! —
16 | if "%locale:~0,2%"=="fr" (
17 | set msg_install="L'extension Photoshop TypeR v!EXT_VERSION! sera installée."
18 | set msg_close="Fermez Photoshop (s'il est ouvert)."
19 | set msg_complete="Installation terminée."
20 | set msg_open="Ouvrez Photoshop et dans le menu supérieur cliquez sur : [Fenêtre] ^> [Extensions] ^> [TypeR]"
21 | set msg_pause="Appuyez sur une touche pour continuer..."
22 | set msg_credits="Merci beaucoup à Swirt pour TyperTools et SeanR & Sakushi pour ce fork."
23 | set msg_discord="Discord de ScanR si besoin d'aide : https://discord.com/invite/Pdmfmqk"
24 | ) else if "%locale:~0,2%"=="es" (
25 | set msg_install="La extensión de Photoshop TypeR v!EXT_VERSION! se instalará."
26 | set msg_close="Cierra Photoshop (si está abierto)."
27 | set msg_complete="Instalación completada."
28 | set msg_open="Abre Photoshop y en el menú superior haz clic en lo siguiente: [Ventana] ^> [Extensiones] ^> [TypeR]"
29 | set msg_pause="Presiona cualquier tecla para continuar..."
30 | set msg_credits="Muchas gracias a Swirt por TyperTools y a SeanR & Sakushi por este fork."
31 | set msg_discord="Discord de ScanR si necesitas ayuda: https://discord.com/invite/Pdmfmqk"
32 | ) else if "%locale:~0,2%"=="pt" (
33 | set msg_install="Photoshop extension TypeR v!EXT_VERSION! will be installed."
34 | set msg_close="Feche o Photoshop (se estiver aberto)."
35 | set msg_complete="Instalação concluída."
36 | set msg_open="Abra o Photoshop e no menu superior clique em: [Janela] ^> [Extensões] ^> [TypeR]"
37 | set msg_pause="Pressione qualquer tecla para continuar..."
38 | set msg_credits="Muito obrigado a Swirt pelo TyperTools e a SeanR & Sakushi por este fork."
39 | set msg_discord="Discord do ScanR se precisar de ajuda: https://discord.com/invite/Pdmfmqk"
40 | ) else (
41 | set msg_install="Photoshop extension TypeR v!EXT_VERSION! will be installed."
42 | set msg_close="Close Photoshop (if it is open)."
43 | set msg_complete="Installation completed."
44 | set msg_open="Open Photoshop and in the upper menu click the following: [Window] ^> [Extensions] ^> [TypeR]"
45 | set msg_pause="Press any key to continue..."
46 | set msg_credits="Many thanks to Swirt for TyperTools and SeanR & Sakushi for this fork."
47 | set msg_discord="ScanR's Discord if you need help: https://discord.com/invite/Pdmfmqk"
48 | )
49 |
50 | echo %msg_install%
51 | echo.
52 | echo %msg_close%
53 | echo.
54 | echo %msg_pause%
55 | PAUSE
56 |
57 | for /l %%x in (6, 1, 12) do (
58 | reg query HKEY_CURRENT_USER\SOFTWARE\Adobe\CSXS.%%x 2>nul
59 | if !errorlevel! equ 0 (
60 | reg add HKEY_CURRENT_USER\SOFTWARE\Adobe\CSXS.%%x /t REG_SZ /v PlayerDebugMode /d 1 /f
61 | )
62 | )
63 |
64 | set Directory=%HOMEDRIVE%%HOMEPATH%\AppData\Roaming\Adobe\CEP\extensions\typertools
65 | if exist "%Directory%\storage" copy "%Directory%\storage" __storage /Y
66 | if exist "%Directory%" rmdir "%Directory%" /S/Q
67 | if not exist "%Directory%\*" md "%Directory%"
68 |
69 | xcopy app "%Directory%\app\" /E/Y
70 | xcopy CSXS "%Directory%\CSXS\" /E/Y
71 | xcopy icons "%Directory%\icons\" /E/Y
72 | xcopy locale "%Directory%\locale\" /E/Y
73 | if exist .debug copy .debug "%Directory%\.debug" /Y
74 | if exist __storage (
75 | copy __storage "%Directory%\storage" /Y
76 | del __storage /F
77 | )
78 |
79 | echo. & echo.
80 | echo %msg_complete%
81 | echo %msg_open%
82 | echo.
83 | echo %msg_credits%
84 | echo %msg_discord%
85 | echo.
86 |
87 | echo %msg_pause%
88 | PAUSE
89 |
--------------------------------------------------------------------------------
/locale/messages.properties:
--------------------------------------------------------------------------------
1 | ## errors
2 | errorTitle=Error
3 | successTitle=Success
4 | errorNoText=No text has been specified.
5 | errorNoTextNoStyle=Neither text, nor style have been specified.
6 | errorNoTextLayer=No text layer’s been specified.
7 | errorNoSelection=No selected area.
8 | errorSmallSelection=The selected area is too small.
9 | errorStyleCreation=Name the style.
10 | errorFolderCreation=Name the folder.
11 | errorImportStyles=Failed to import the settings.
12 |
13 | ## confirms
14 | confirmTitle=Confirmation is required
15 | confirmDeleteStyle=Are you sure that you want to delete the style?
16 | confirmDeleteFolder=Are you sure that you want to delete the folder? All its styles will be marked as "Unsorted".
17 | confirmDeleteFolderPermanent=Are you sure that you want to permanently delete the folder? All its styles will be deleted.
18 |
19 | ## common
20 | close=Close
21 | save=Save
22 | delete=Delete
23 | cancel=Cancel
24 |
25 | ## help
26 | helpTitle=Help
27 | helpVersion=version
28 | helpAuthor=developed by
29 | helpText=\
30 | This extension was created for simplifying the routine tasks of working with text, such as placing it on an image, aligning the text and performing style management. It allows you to:
\
31 | - Customize list of Styles, which could be applied to the text pasted, as well as applying Styles for already existing Text Layers.
\
32 | - Store and edit text within Photoshop
\
33 | - Create Text Layers from Lines of text you specify and place it by the center of Selected Area.
\
34 | - Align existing Text Layers, quickly change their styles and content.
\
35 | - Import and export settings and Styles as a JSON file. That could be useful for importing the settings after Photoshop’s been reinstalled, or to share your settings with others’.
\
36 | Video Guide:
\
37 | https://youtu.be/QwxG2S_PCMQ
\
38 | Style List:
\
39 | How to create a new Style:
\
40 | - Click "🞥 Add Style" in the lower half of the extension window.
\
41 | - Type the Style name in the new window (e.g. regular, scream, SFX etc).
\
42 | - Set up the Style options with one of the following 2 methods: select a Text Layer with the style you need and click "❐ Copy Layer Style", or specify the settings manually in the form below that button.
\
43 | - You can specify Style Tags (separate them using Space) for automatic Style setting. If any Line begins with one of the Style Tags, then the mentioned Style will be selected automatically, while for the Tag not being present in the Layer.
\
44 | - You can specify the Tag color for each Style, and colored Tags will be highlighted in the text.
\
45 | - Click "Save".
\
46 | You can edit Styles, delete them and change their order by dragging them. If you click on the Style, it will become active and get highlighted with blue color.
\
47 | By clicking arrow ⧁ near a Style, you can apply it to the current Text Layer.
\
48 | You can group Styles into folders which you can also edit, sort and delete. Deleting a folder results in moving its Styles into "Unsorted" section.
\
49 | Text Block:
\
50 | Typed or pasted text is automatically divided by lines. One of the Lines gets selected as active. It is highlighted with blue color and you can see its content in the Preview Zone in the upper section of the extension window.
\
51 | In order to select any Line as active, click ⭗ on its left. Also you may use "Previous ⇧", and "Next ⇩" buttons by the left of the Preview Zone.
\
52 | If a Line begins with one of the Style Tags (the said tag is highlighted with a color), the Style gets applied if you select the Line. If there is a Default Style (which you can set in Settings) specified, then, if a Line has no Style Tag, the Default Style is applied to the Line.
\
53 | Empty Lines are highlighted with gray color and get ignored while you are navigating the text. You can also set Tags for ignoring non-empty Lines (such as page pointers or translator’s notes).
\
54 | By clicking arrow ⧁ by the right of a Line, its text will be pasted in the active Text Layer. Style Tags will not be included to the text pasted. Style of the text will not be modified, however if the Layer is empty then Photoshop default style will be applied.
\
55 | Preview Zone:
\
56 | Preview Zone displays contents of the active Line with an active Style applied to it. You can see the following information above: number of the active Line, name of the active Style and font size scaling.
\
57 | With scaling you can change the size of pasted text without affecting Style parameters. For example, when working with small scans you can set scaling to 50% which will make any pasted text two times smaller than it is set in Style.
\
58 | If not specified, font size is set to according what was specified in the current Style. If you change its size, it will be used as long as you haven’t chosen an other Style.
\
59 | By clicking arrow ⧁, the text with the Style will be applied to the current Text Layer (keyboard shortcut: Win + Shift). The next Line will be set active.
\
60 | Pasting and Aligning:
\
61 | Select an Area with "Rectangular Marquee", "Lasso", "Magic Wand" or any other tool. The Selected Area could have any shape, only the 4 extreme points are taken into account. Then click one of the following buttons:
\
62 | - "Paste" - a new Text Layer, consisting of the active Line with the active Style, will be created in the middle of the Selected Area. The next Line will be set active.
\
63 | - "Align" - the current Text Layer will be aligned by the center of the Selected Area.
\
64 | There are keyboard shortcuts designed for quick performing of the said actions: Win + Ctrl for "Paste" and Win + Alt for "Align".
65 |
66 | ## settings
67 | settingsTitle=Settings
68 | settingsTextItemKindLabel=Type of pasted text layer
69 | settingsTextItemKindBox=Paragraph text
70 | settingsTextItemKindPoint=Point text
71 | settingsLinePrefixesLabel=Tags for ignoring the lines
72 | settingsLinePrefixesDescr=(Optional) Specify line tags, dividing them with Space. If a line begins with one of the tags, it will be ignored (as an empty line) as you navigate the text.
73 | settingsDefaultStyleLabel=Default style
74 | settingsDefaultStyleNone=No style set
75 | settingsDefaultStyleDescr=(Optional) Set the style, which will automatically become active when choosing a line which has no style tag.
76 | settingsLanguageLabel=Language
77 | settingsLanguageAuto=Auto
78 | settingsAutoClosePsdLabel=Auto close PSD
79 | settingsCheckUpdatesLabel=Check for updates automatically
80 | settingsCheckUpdatesButton=Check for updates
81 | settingsImport=Import styles or settings
82 | settingsExport=Export styles or settings
83 | exportIncludeSettings=Export my settings
84 | settingsImportReplace=Do you want to keep styles that are not present in the import or have a later edit date?
85 | importFolderSuccess=Style folder imported successfully
86 | importFoldersSuccess=Style folders imported successfully
87 |
88 | ## edit style
89 | editStyleTitle=Style editing
90 | createStyleTitle=Style creating
91 | editStyleNameLabel=Style name
92 | editStyleFolderLabel=Folder
93 | editStyleCopyLabel=Style settings
94 | editStyleCopyButton=Copy layer style
95 | editStyleCopyDescr=Copy style settings from the active text layer or specify them manually
96 | editStylePrefixesLabel=Tags for automatic style choosing
97 | editStylePrefixesDescr=(Optional) Specify line tags, dividing them with Space. If a line begins with one of the style tags, the style will automatically become active when you select the line. Style tags will not be included to the text pasted.
98 | editStylePrefixColorLabel=Tag color
99 | editStyleColorButton=Choose color
100 | editStyleFontSize=Font size
101 | editStyleFontLeading=Leading
102 | editStyleAutoleading=Autoleading Percentage
103 | editStyleAutoKern=Kerning
104 | editStyleMetricsKern=Metrics
105 | editStyleOpticalKern=Optical
106 | editStyleManualKern=Manual
107 | editStyleTracking=Tracking
108 | editStyleVerticalScale=Vertically scale
109 | editStyleHorizontalScale=Horizontally scale
110 | editStyleBaselineShift=Baseline shift
111 | editStyleTextColor=Text color
112 | editStyleStrokeLabel=Stroke
113 | editStyleStrokeSize=Stroke size
114 | editStyleStrokeColor=Stroke color
115 | editStyleAntiAlias=Anti-aliasing method
116 | editStyleAANone=None
117 | editStyleAASharp=Sharp
118 | editStyleAACrisp=Crisp
119 | editStyleAAStrong=Strong
120 | editStyleAASmooth=Smooth
121 | editStyleAAOther=Other
122 | editStyleBold=Faux bold
123 | editStyleItalic=Faux italic
124 | editStyleCapital=All caps
125 | editStyleSmall=Small caps
126 | editStyleSuper=Superscript
127 | editStyleSub=Subscript
128 | editStyleUnderline=Underline
129 | editStyleStrike=Strikethrough
130 | editStyleAlignLeft=Left align text
131 | editStyleAlignCenter=Center text
132 | editStyleAlignRight=Right align text
133 | editStyleHyphen=Automatic hyphenation
134 | editStyleHanging=Hanging punctuation
135 |
136 | ## edit folder
137 | editFolderTitle=Folder editing
138 | createFolderTitle=Folder creating
139 | editFolderNameLabel=Folder name
140 | editFolderStyles=Styles in folder
141 | editFolderNoStyles=No styles have been created yet
142 |
143 | ## preview block
144 | createLayer=Paste
145 | createLayerDescr=Create a new text layer in the center of the selected area (Win + Ctrl)
146 | alignLayer=Align
147 | alignLayerDescr=Align the current text layer by the center of the selected area (Win + Alt)
148 | layerTextSizeMinus=Decrease the font size of the current text layer
149 | layerTextSizePlus=Increase the font size of the current text layer
150 | prevLine=Previous line
151 | nextLine=Next line
152 | previewLine=line
153 | previewStyle=style
154 | previewTextScale=scale
155 | insertStyledText=Apply the text and the style to the current layer (Win + Shift)
156 | scrollToLine=Click to scroll the text to this line
157 |
158 | ## text block
159 | selectLine=Make this line active
160 | insertText=Paste text to the current layer
161 | pasteTextHint=Paste the text here
162 |
163 | ## styles block
164 | addStylesHint=Add styles which will be applied to the text pasted
165 | noStylesInfolder=There are no styles in the folder
166 | noFolderTitle=Unsorted
167 | styleTextColor=Text color
168 | stylePrefixColor=Tag color
169 | editFolder=Edit folder
170 | exportFolder=Export folder
171 | editStyle=Edit style
172 | duplicateFolder=Duplicate folder
173 | duplicateStyle=Duplicate style
174 | insertStyle=Apply style to the current layer
175 | addFolder=Add folder
176 | addStyle=Add style
177 |
178 | ## footer
179 | footerHelp=Help
180 | footerSettings=Settings
181 |
182 | ## Add TypeR
183 | footerOpenFile=Open file
184 | footerOpenRepo=Open PSD directory
185 | footerDesyncRepo=Desync PSDs
186 | footerImportStyleFolder=Import style folder
187 |
188 | ## Shortcut
189 | shortcut=Shortcut
190 | shortcut_add=Add
191 | shortcut_apply=Apply style
192 | shortcut_center=Center
193 | shortcut_next=Next line
194 | shortcut_previous=Previous line
195 | shortcut_increase=Increase text size
196 | shortcut_decrease=Decrease text size
197 |
198 | ## update
199 | updateTitle=Update available
200 | updateText=Version {version} of TypeR is available!
201 | updateDownload=Download
202 | updateChanges=Changelog
203 | updateNoUpdate=You are running the latest version.
204 |
205 |
--------------------------------------------------------------------------------
/locale/ru_RU/messages.properties:
--------------------------------------------------------------------------------
1 | ## errors
2 | errorTitle=Ошибка
3 | successTitle=Успех
4 | errorNoText=Не выбран текст.
5 | errorNoTextNoStyle=Не выбран ни текст, ни стиль.
6 | errorNoTextLayer=Не выбран текстовый слой.
7 | errorNoSelection=Нет выделенной области.
8 | errorSmallSelection=Выделена слишком маленькая область.
9 | errorStyleCreation=Нужно ввести название стиля.
10 | errorFolderCreation=Нужно ввести название папки.
11 | errorImportStyles=Не удалось импортировать настройки.
12 |
13 | ## confirms
14 | confirmTitle=Требуется подтвержение
15 | confirmDeleteStyle=Вы уверены, что хотите удалить стиль?
16 | confirmDeleteFolder=Вы уверены, что хотите удалить папку? Все её стили будут перенесены в раздел "Без папки".
17 | confirmDeleteFolderPermanent=Вы уверены, что хотите удалить папку навсегда? Все её стили будут удалены.
18 |
19 | ## common
20 | close=Закрыть
21 | save=Сохранить
22 | delete=Удалить
23 | cancel=Отмена
24 |
25 | ## help
26 | helpTitle=Справка
27 | helpVersion=версия
28 | helpAuthor=автор:
29 | helpText=\
30 | Данное расширение создано для упрощения рутинной работы по переносу текста на изображение, его центровке и назначению стилей. Оно позволяет:
\
31 | - Создавать список стилей, которые будут применяться к вставляемому тексту. А также быстро применять стили к уже существующим текстовым слоям.
\
32 | - Хранить и редактировать текст внутри Фотошопа
\
33 | - Создавать текстовые слои из отдельных строк текста и размещать их по центру выделенной области.
\
34 | - Центрировать уже существующие текстовые слои, быстро менять их стили и содержимое.
\
35 | - Импортировать и экспортировать настройки и стили в файл формата json. Это может быть полезно для восстановления настроек после переустановки Фотошопа или чтобы поделиться ими с другими людьми.
\
36 | Видео с инструкциями:
\
37 | https://youtu.be/AWnu-J0wGRU
\
38 | Список стилей:
\
39 | Порядок действий для создания нового стиля:
\
40 | - Нажмите кнопку "🞥 Добавить стиль" в нижней части расширения.
\
41 | - В открывшемся окне введите название стиля (например: обычный, крик, звук...).
\
42 | - Задайте параметры стиля одним из двух способов: либо выберите в любом документе текстовый слой с нужным стилем и нажмите кнопку "❐ Скопировать стиль слоя", либо укажите параметры вручную в форме под этой кнопкой.
\
43 | - Можете перечислить (через пробел) префиксы для автоматического выбора стиля. Если в тексте какая-либо строка будет начинаться с одного из этих префиксов, то при её выборе данный стиль автоматически станет активным. При этом префикс не будет вставляться в слой вместе с текстом.
\
44 | - Можете указать цвет, которым будет выделяться префикс, если он встретится в тексте.
\
45 | - Нажмите кнопку "Сохранить".
\
46 | Созданные стили можно редактировать, удалять и менять их порядок перетаскиванием. При нажатии на стиль он станет активным и выделится синим цветом.
\
47 | Нажав на кнопку со стрелкой ⧁ возле каждого стиля, можно применить его к текущему текстовому слою.
\
48 | Стили могут быть группированы по папкам, которые также можно редактировать, сортировать и удалять. При удалении папки все находящиеся в ней стили будут перенесены в раздел "Без папки".
\
49 | Текстовый блок:
\
50 | Напечатанный или вставленный текст автоматически разбивается на строки. Одна из строк отмечается как активная. Она выделяется синим цветом и её содержимое можно увидеть в зоне предпросмотра в верхней части расширения.
\
51 | Чтобы сделать какую-либо строку активной нажмите на кружок ⭗ слева от неё. Также можно воспользоваться кнопками "Предыдущая ⇧", "Следующая ⇩" слева от зоны предпросмотра.
\
52 | Если строка начинается с одного из префиксов стилей (он будет выделен цветом), то при её выборе этот стиль станет активным. Если в настройках приложения указать стиль по умолчанию, то при отсутствии у строки префикса, активным будет становиться он.
\
53 | Пустые строки выделяются серым цветом и игнорируются при навигации по тексту. В настройках расширения можно также задать префиксы для игнорирования непустых строк (например указателей страниц или комментариев переводчика).
\
54 | При нажатии на стрелку ⧁ справа от строки, её текст будет вставлен в текущий текстовый слой. Префиксы стилей при этом исключаются. Стиль текста изменён не будет, но если слой был пустым, то применится стиль Фотошопа по умолчанию.
\
55 | Зона предпросмотра:
\
56 | В зоне предпросмотра отображается содержимое активной строки с применённым к ней активным стилем. Сверху располагается строка с информацией: номер активной строки, название активного стиля и масштабирование размера текста.
\
57 | С помощью масштабирования можно менять размер вставляемого текста без внесения изменений в параметры стилей. Например, при работе с маленькими сканами можно выставить масштаб 50%, в результате чего размер вставляемого текста уменьшится в 2 раза по сравнению с тем, что указан в стиле.
\
58 | При нажатии на кнопку со стрелкой ⧁, к текущему текстовому слою будет применён текст со стилем и указанным размером (клавиатурное сокращение: Win + Shift). При этом активной станет следующая строка.
\
59 | Вставка и выравнивание:
\
60 | Выделите в документе область инструментами "Прямоугольная область", "Лассо", "Волшебная палочка" или любыми другими. Выделение может быть любой формы, учитываются только четыре крайние точки. Затем нажмите одну из кнопок:
\
61 | - "Вставить" - в центре выделенной области будет создан новый текстовый слой, содержащий активную строку с активным стилем. При успешной вставке активной станет следующая строка.
\
62 | - "Выровнять" - текущий текстовый слой будет выровнен по центру выделенной области.
\
63 | Для ускорения этих действий имеются клавиатурные сокращения: Win + Ctrl для кнопки "Вставить" и Win + Alt для кнопки "Выровнять".
64 |
65 | ## settings
66 | settingsTitle=Настройки
67 | settingsTextItemKindLabel=Тип вставляемого текстового слоя
68 | settingsTextItemKindBox=Блочный текст
69 | settingsTextItemKindPoint=Короткий текст
70 | settingsLinePrefixesLabel=Префиксы для игнорирования строк
71 | settingsLinePrefixesDescr=(Опционально) Перечислите префиксы строк, разделяя их пробелами. Если какая-либо строка будет начинаться с одного из этих префиксов, то при навигации по тексту она будет игнорироваться (как пустая строка).
72 | settingsDefaultStyleLabel=Стиль по умолчанию
73 | settingsDefaultStyleNone=Стиль не указан
74 | settingsDefaultStyleDescr=(Опционально) Укажите стиль, который будет автоматически становиться активным при выборе строки, у которой нет никаких префиксов стилей.
75 | settingsLanguageLabel=Язык
76 | settingsLanguageAuto=Авто
77 | settingsAutoClosePsdLabel=Автоматически закрывать PSD
78 | settingsCheckUpdatesLabel=Автоматически проверять обновления
79 | settingsCheckUpdatesButton=Проверить обновления
80 | settingsImport=Импортировать все параметры и стили
81 | settingsExport=Экспортировать все параметры и стили
82 | exportIncludeSettings=Экспорт моих настроек
83 | settingsImportReplace=Хотите ли вы сохранить стили, которые отсутствуют в импорте или имеют более поздную дату редактирования?
84 | importFolderSuccess=Папка стилей успешно импортирована
85 | importFoldersSuccess=Папки стилей успешно импортированы
86 |
87 | ## edit style
88 | editStyleTitle=Редактирование стиля
89 | createStyleTitle=Создание стиля
90 | editStyleNameLabel=Название стиля
91 | editStyleFolderLabel=Папка
92 | editStyleCopyLabel=Параметры стиля
93 | editStyleCopyButton=Скопировать стиль слоя
94 | editStyleCopyDescr=Скопируйте параметры стиля из активного текстового слоя или задайте их вручную
95 | editStylePrefixesLabel=Префиксы для автоматического выбора стиля
96 | editStylePrefixesDescr=(Опционально) Перечислите префиксы строк, разделяя их пробелами. Если какая-либо строка будет начинаться с одного из этих префиксов, то при её выборе данный стиль автоматически станет активным. При этом префикс не будет вставляться в слой вместе с текстом.
97 | editStylePrefixColorLabel=Цвет префикса
98 | editStyleColorButton=Выбрать цвет
99 | editStyleFontSize=Кегль
100 | editStyleFontLeading=Интерлиньяж
101 | editStyleAutoleading=Автоматическая высота строки
102 | editStyleAutoKern=Кернинг
103 | editStyleMetricsKern=Метрический
104 | editStyleOpticalKern=Оптический
105 | editStyleManualKern=Пользовательский
106 | editStyleTracking=Трекинг
107 | editStyleVerticalScale=Масштаб по вертикали
108 | editStyleHorizontalScale=Масштаб по горизонтали
109 | editStyleBaselineShift=Смещение по базовой линии
110 | editStyleTextColor=Цвет текста
111 | editStyleStrokeLabel=Обводка
112 | editStyleStrokeSize=Толщина обводки
113 | editStyleStrokeColor=Цвет обводки
114 | editStyleAntiAlias=Метод сглаживания
115 | editStyleAANone=Не показывать
116 | editStyleAASharp=Резкое
117 | editStyleAACrisp=Чёткое
118 | editStyleAAStrong=Насыщенное
119 | editStyleAASmooth=Плавное
120 | editStyleAAOther=Другое
121 | editStyleBold=Псевдополужирный
122 | editStyleItalic=Псевдокурсив
123 | editStyleCapital=Все прописные
124 | editStyleSmall=Капители
125 | editStyleSuper=Надиндекс
126 | editStyleSub=Подиндекс
127 | editStyleUnderline=Подчёркнутый
128 | editStyleStrike=Зачёркнутый
129 | editStyleAlignLeft=Выравнивание по левому краю
130 | editStyleAlignCenter=Выравнивание по центру
131 | editStyleAlignRight=Выравнивание по правому краю
132 | editStyleHyphen=Автоматическая расстановка переносов
133 | editStyleHanging=Висячая пунктуация
134 |
135 | ## edit folder
136 | editFolderTitle=Редактирование папки
137 | createFolderTitle=Создание папки
138 | editFolderNameLabel=Название папки
139 | editFolderStyles=Стили в папке
140 | editFolderNoStyles=Ещё не создано ни одного стиля
141 |
142 | ## preview block
143 | createLayer=Вставить
144 | createLayerDescr=Создать новый текстовый слой в центре выделенной области (Win + Ctrl)
145 | alignLayer=Выровнять
146 | alignLayerDescr=Выровнять текущий текстовый слой по центру выделенной области (Win + Alt)
147 | layerTextSizeMinus=Уменьшить размер шрифта текущего текстового слоя
148 | layerTextSizePlus=Увеличить размер шрифта текущего текстового слоя
149 | prevLine=Предыдущая строка
150 | nextLine=Следующая строка
151 | previewLine=строка
152 | previewStyle=стиль
153 | previewTextScale=масштаб
154 | insertStyledText=Применить текст и стиль к текущему слою (Win + Shift)
155 | scrollToLine=Нажмите, чтобы прокрутить текст до этой строки
156 |
157 | ## text block
158 | selectLine=Сделать эту строку активной
159 | insertText=Вставить текст в текущий слой
160 | pasteTextHint=Вставьте сюда текст
161 |
162 | ## styles block
163 | addStylesHint=Добавьте стили, которые будут применяться к вставляемому тексту
164 | noStylesInfolder=В папке нет стилей
165 | noFolderTitle=Без папки
166 | styleTextColor=Цвет текста
167 | stylePrefixColor=Цвет префикса
168 | editFolder=Редактировать папку
169 | exportFolder=Экспортировать папку
170 | editStyle=Редактировать стиль
171 | duplicateStyle=Дублировать стиль
172 | duplicateFolder=Дублировать папку
173 | insertStyle=Применить стиль к текущему слою
174 | addFolder=Добавить папку
175 | addStyle=Добавить стиль
176 |
177 | ## footer
178 | footerHelp=Справка
179 | footerSettings=Настройки
180 |
181 | ## Add TypeR
182 | footerOpenFile=Открыть Файл
183 | footerOpenRepo=Открыть каталог PSD
184 | footerDesyncRepo=Отключить синхронизацию PSD
185 | footerImportStyleFolder=Импортировать папку стилей
186 |
187 | ## Shortcut
188 | shortcut=Ярлык
189 | shortcut_add=Добавить
190 | shortcut_apply=Применить Стиль
191 | shortcut_center=Центрировать
192 | shortcut_next=Следующая Строка
193 | shortcut_previous=Предыдущая Строка
194 | shortcut_increase=Увеличить Размер Текста
195 | shortcut_decrease=Уменьшить Размер Текста
196 |
197 | ## update
198 | updateTitle=Доступно обновление
199 | updateText=Доступна версия {version}.
200 | updateDownload=Скачать
201 | updateChanges=Список изменений
202 | updateNoUpdate=You are running the latest version.
203 |
204 |
--------------------------------------------------------------------------------
/locale/tr_TR/messages.properties:
--------------------------------------------------------------------------------
1 | ## errors
2 | errorTitle=Hata
3 | successTitle=Başarılı
4 | errorNoText=Metin belirtilmedi.
5 | errorNoTextNoStyle=Ne metin, ne de stil belirtilmedi.
6 | errorNoTextLayer=Hiçbir metin katmanı belirtilmedi.
7 | errorNoSelection=Seçili alan yok.
8 | errorSmallSelection=Seçilen alan çok küçük.
9 | errorStyleCreation=Stili adlandırın.
10 | errorFolderCreation=Klasörü adlandırın
11 | errorImportStyles=Ayarlar içe aktarılamadı.
12 |
13 | ## confirms
14 | confirmTitle=Onay gerekli
15 | confirmDeleteStyle=Stili silmek istediğinizden emin misiniz?
16 | confirmDeleteFolder=Klasörü silmek istediğinizden emin misiniz? Tüm stiller "Sıralanmamış" olarak işaretlenecektir.
17 | confirmDeleteFolderPermanent=Klasörü kalıcı olarak silmek istediğinizden emin misiniz? Tüm stiller silinecek.
18 |
19 | ## common
20 | close=Kapat
21 | save=Kaydet
22 | delete=Sil
23 | cancel=Geri
24 |
25 | ## help
26 | helpTitle=Yardım
27 | helpVersion=versiyon
28 | helpAuthor=Geliştirici
29 | helpText=\
30 | Bu uzantı, metni bir görüntünün üzerine yerleştirme, metni hizalama ve stil yönetimi gerçekleştirme gibi rutin metinle çalışma görevlerini basitleştirmek için oluşturuldu. Şunları yapmanızı sağlar:
\
31 | - Yapıştırılan metne uygulanabilecek Stiller listesini özelleştirin ve ayrıca mevcut Metin Katmanları için Stiller uygulayın.
\
32 | - Photoshopta metin depolayın ve düzenleyin
\
33 | - Belirttiğiniz metin Satırlarından Metin Katmanları oluşturun ve bunu Seçili Alanın ortasına yerleştirin.
\
34 | - Mevcut Metin Katmanlarını hizalayın, stillerini ve içeriklerini hızla değiştirin.
\
35 | - Ayarları ve Stilleri bir JSON dosyası olarak içe ve dışa aktarın. Bu, Photoshop yeniden yüklendikten sonra ayarları içe aktarmak veya ayarlarınızı başkalarıyla paylaşmak için yararlı olabilir.
\
36 | Video Rehberi:
\
37 | https://youtu.be/QwxG2S_PCMQ
\
38 | Stil listesi:
\
39 | Yeni stil oluşturma:
\
40 | - Eklenti ekranının sağ altındaki "🞥 Stil ekle" butonuna tıklayın.
\
41 | - Yeni pencerede Stil adını yazın (ör. normal, çığlık, SFX vb.).
\
42 | - Stil seçeneklerini aşağıdaki 2 yöntemden biriyle ayarlayın: ihtiyacınız olan stile sahip bir Metin Katmanı seçin ve "❐ Katman Stilini Kopyala" seçeneğine tıklayın veya bu düğmenin altındaki formda ayarları manuel olarak belirtin.
\
43 | - Otomatik Stil ayarı için Stil Etiketleri belirleyebilirsiniz (Boşluk kullanarak ayırın). Herhangi bir Satır, Stil Etiketlerinden biriyle başlarsa, söz konusu Stil, Etiket Katmanda bulunmadığı sürece otomatik olarak seçilecektir.
\
44 | - Her Stil için Etiket rengini belirleyebilirsiniz ve renkli Etiketleri metinde vurgulayabilirsiniz.
\
45 | - "Kaydet"e tıklayın.
\
46 | Stilleri düzenleyebilir, silebilir veya sürükleyerek sıralarını değiştirebilirsiniz. Stil e tıklarsanız, aktif hale gelir ve mavi renkle vurgulanır.
\
47 | Bir Stilin yanındaki ⧁ ok butonuna tıklayarak, onu mevcut Metin Katmanına uygulayabilirsiniz..
\
48 | Stilleri, düzenleyebileceğiniz, sıralayabileceğiniz ve silebileceğiniz klasörler halinde gruplandırabilirsiniz. Bir klasörün silinmesi, Stillerinin "Sıralanmamış" bölümüne taşınmasıyla sonuçlanır.
\
49 | Metin bloğu:
\
50 | Yazılan veya yapıştırılan metin otomatik olarak satırlara bölünür. Hatlardan biri aktif olarak seçilir. Mavi renkle vurgulanır ve içeriğini uzantı penceresinin üst kısmındaki Önizleme Alanında görebilirsiniz.
\
51 | Herhangi bir satırı aktif olarak seçmek için solundaki ⭗ düğmesine tıklayın. Ayrıca Önizleme Alanının solundaki "Önceki ⇧" ve "Sonraki ⇩" düğmelerini de kullanabilirsiniz.
\
52 | Bir Satır, Stil Etiketlerinden biriyle başlıyorsa (söz konusu etiket bir renkle vurgulanır), Satırı seçerseniz Stil uygulanır. Belirtilen bir Varsayılan Stil varsa (Ayarlar da ayarlayabilirsiniz), ardından bir Satırda Stil Etiketi yoksa, Satır Varsayılan Stil uygulanır.
\
53 | Boş Satırlar gri renkle vurgulanır ve siz metinde gezinirken yoksayılır. Etiketleri, boş olmayan Satırları (sayfa işaretçileri veya çevirmenin notları gibi) yok saymak için de ayarlayabilirsiniz.
\
54 | Bir Satırın sağındaki oka ⧁ tıklandığında, metni etkin Metin Katmanına yapıştırılır. Stil Etiketleri yapıştırılan metne dahil edilmeyecektir. Metnin stili değiştirilmeyecek, ancak Katman boşsa Photoshop varsayılan stili uygulanacaktır.
\
55 | Önizleme Bölgesi:
\
56 | Önizleme Bölgesi, kendisine etkin bir Stil uygulanmış etkin Satırının içeriğini görüntüler. Yukarıda şu bilgileri görebilirsiniz: aktif Satırın numarası, aktif Stilin adı ve yazı tipi boyutu ölçeklendirmesi.
\
57 | Ölçekleme ile, Stil parametrelerini etkilemeden yapıştırılan metnin boyutunu değiştirebilirsiniz. Örneğin, küçük resimlerle çalışırken büyüklüğü %50 ye ayarlayabilirsiniz; bu, yapıştırılan herhangi bir metni Stil'de ayarlanandan iki kat daha küçük yapar.
\
58 | Belirtilmezse, yazı tipi boyutu geçerli Stilde belirtilene göre ayarlanır. Boyutunu değiştirirseniz, başka bir Stil seçmediğiniz sürece kullanılacaktır.
\
59 | Oka ⧁ tıklandığında, Stil içeren metin geçerli Metin Katmanına uygulanacaktır (klavye kısayolu: Win + Shift). Bir sonraki Satır aktif olarak ayarlanacaktır.
\
60 | Yapıştırma ve Hizalama:
\
61 | S"Dikdörtgen Seçim Çerçevesi", "Kement", "Sihirli Değnek" veya başka herhangi bir aletle bir Alan seçin. Seçilen Alan herhangi bir şekle sahip olabilir, sadece 4 uç nokta dikkate alınır. Ardından aşağıdaki düğmelerden birine tıklayın:
\
62 | - "Yapıştır" - Seçili Alanın ortasında, etkin Stile sahip etkin Satırdan oluşan yeni bir Metin Katmanı oluşturulur. Bir sonraki Satır aktif olarak ayarlanacaktır.
\
63 | - "Hizala" - mevcut Metin Katmanı, Seçilen Alanın merkezine göre hizalanacaktır.
\
64 | Söz konusu eylemlerin hızlı bir şekilde gerçekleştirilmesi için tasarlanmış klavye kısayolları vardır: "Yapıştır" için Win + Ctrl ve "Hizala" için Win + Alt.
65 |
66 | ## settings
67 | settingsTitle=Ayarlar
68 | settingsTextItemKindLabel=Yapıştırılan metin katmanı türü
69 | settingsTextItemKindBox=Paragraf metni
70 | settingsTextItemKindPoint=Nokta metni
71 | settingsLinePrefixesLabel=Çizgileri yok saymak için etiketler
72 | settingsLinePrefixesDescr=(İsteğe bağlı) Boşluk ile bölerek satır etiketlerini belirtin. Bir satır etiketlerden biriyle başlıyorsa, siz metinde gezinirken yok sayılır (boş bir satır olarak).
73 | settingsDefaultStyleLabel=Varsayılan stil
74 | settingsDefaultStyleNone=Stil seti yok
75 | settingsDefaultStyleDescr=(İsteğe bağlı) Stil etiketi olmayan bir satır seçildiğinde otomatik olarak etkinleşecek olan stili ayarlayın.
76 | settingsLanguageLabel=Dil
77 | settingsLanguageAuto=Otomatik
78 | settingsAutoClosePsdLabel=PSD yi otomatik kapat
79 | settingsCheckUpdatesLabel=Güncellemeleri otomatik olarak denetle
80 | settingsCheckUpdatesButton=Güncellemeleri denetle
81 | settingsImport=Ayarları ve stilleri içe aktarın
82 | settingsExport=Ayarları ve stilleri dışa aktarın
83 | exportIncludeSettings=Ayarlarımı dışa aktar
84 | settingsImportReplace=İçe aktarmada bulunmayan veya düzenleme tarihi daha sonra olan stilleri saklamak istiyor musunuz?
85 | importFolderSuccess=Stil klasörü başarıyla içe aktarıldı
86 | importFoldersSuccess=Stil klasörleri başarıyla içe aktarıldı
87 |
88 | ## edit style
89 | editStyleTitle=Stil düzenleme
90 | createStyleTitle=Stil oluşturma
91 | editStyleNameLabel=Stil adı
92 | editStyleFolderLabel=Klasör
93 | editStyleCopyLabel=Stil ayarları
94 | editStyleCopyButton=Katman stilini kopyala
95 | editStyleCopyDescr=Stil ayarlarını etkin metin katmanından kopyalayın veya manuel olarak belirtin
96 | editStylePrefixesLabel=Otomatik stil seçimi için etiketler
97 | editStylePrefixesDescr=(İsteğe bağlı) Boşluk ile bölerek satır etiketlerini belirtin. Bir çizgi, stil etiketlerinden biriyle başlıyorsa, çizgiyi seçtiğinizde stil otomatik olarak etkinleşir. Stil etiketleri yapıştırılan metne dahil edilmeyecektir.
98 | editStylePrefixColorLabel=Etiket rengi
99 | editStyleColorButton=Rengi seç
100 | editStyleFontSize=Yazı büyüklüğü
101 | editStyleFontLeading=Leading
102 | editStyleAutoleading=Autoleading Percentage
103 | editStyleAutoKern=Karakter aralığı
104 | editStyleMetricsKern=Metrikler
105 | editStyleOpticalKern=Optik
106 | editStyleManualKern=Manuel
107 | editStyleTracking=İzleme
108 | editStyleVerticalScale=Dikey ölçeklendirme
109 | editStyleHorizontalScale=Yatay ölçeklendirme
110 | editStyleBaselineShift=Temel kayma
111 | editStyleTextColor=Metin rengi
112 | editStyleStrokeLabel=Kontur
113 | editStyleStrokeSize=Kontur kalınlığı
114 | editStyleStrokeColor=Kontur rengi
115 | editStyleAntiAlias=Kenar yumuşatma yöntemi
116 | editStyleAANone=Yok
117 | editStyleAASharp=Keskin
118 | editStyleAACrisp=Net
119 | editStyleAAStrong=Kuvvetli
120 | editStyleAASmooth=Düzgünleştirme
121 | editStyleAAOther=Diğer
122 | editStyleBold=Sahte kalın
123 | editStyleItalic=Sahte italik
124 | editStyleCapital=Tümü büyük harf
125 | editStyleSmall=Tümü küçük harf
126 | editStyleSuper=Üst simge
127 | editStyleSub=Alt simge
128 | editStyleUnderline=Altını çiz
129 | editStyleStrike=Üstü çizili
130 | editStyleAlignLeft=Metni sola hizala
131 | editStyleAlignCenter=Metni ortala
132 | editStyleAlignRight=Metni sağa hizala
133 | editStyleHyphen=Otomatik heceleme
134 | editStyleHanging=Hanging punctuation
135 |
136 | ## edit folder
137 | editFolderTitle=Klasör düzenleme
138 | createFolderTitle=Klasör oluşturma
139 | editFolderNameLabel=Klasör adı
140 | editFolderStyles=Klasördeki stiller
141 | editFolderNoStyles=Henüz stil oluşturulmadı
142 |
143 | ## preview block
144 | createLayer=Yapıştır
145 | createLayerDescr=Seçilen alanın ortasında yeni bir metin katmanı oluşturun (Win + Ctrl)
146 | alignLayer=Ortala
147 | alignLayerDescr=Seçilen alanın ortasında yeni bir metin katmanı oluşturun (Win + Ctrl)
148 | layerTextSizeMinus=Geçerli metin katmanının yazı tipi boyutunu küçült
149 | layerTextSizePlus=Geçerli metin katmanının yazı tipi boyutunu artırın
150 | prevLine=Önceki satır
151 | nextLine=Sonraki satır
152 | previewLine=satır
153 | previewStyle=stil
154 | previewTextScale=ölçek
155 | insertStyledText=Metni ve stili geçerli katmana uygula (Win + Shift)
156 | scrollToLine=Metni bu satıra kaydırmak için tıklayın
157 |
158 | ## text block
159 | selectLine=Bu hattı aktif hale getirin
160 | insertText=Metni geçerli katmana yapıştır
161 | pasteTextHint=Metni buraya yapıştırın
162 |
163 | ## styles block
164 | addStylesHint=Yapıştırılan metne uygulanacak stilleri ekleyin
165 | noStylesInfolder=Klasörde stil yok
166 | noFolderTitle=Sınıflandırılmamış
167 | styleTextColor=Metin rengi
168 | stylePrefixColor=Etiket rengi
169 | editFolder=Klasörü düzenle
170 | exportFolder=Klasörü dışa aktar
171 | editStyle=Stili düzenle
172 | duplicateStyle=Stili kopyala
173 | duplicateFolder=Klasörü çoğalt
174 | insertStyle=Geçerli katmana stili uygula
175 | addFolder=Klasör ekle
176 | addStyle=Stil ekle
177 |
178 | ## footer
179 | footerHelp=Yardım
180 | footerSettings=Ayarlar
181 |
182 | ## Add TypeR
183 | footerOpenFile=Dosya Aç
184 | footerOpenRepo=Dizin Aç
185 | footerDesyncRepo=PSD Senkronizasyonunu Kapat
186 | footerImportStyleFolder=Klasör İçe Aktar
187 |
188 | ## Shortcut
189 | shortcut=Kısayol
190 | shortcut_add=Ekle
191 | shortcut_apply=Stil Uygula
192 | shortcut_center=Merkez
193 | shortcut_next=Sonraki Satır
194 | shortcut_previous=Önceki Satır
195 | shortcut_increase=Yazı Boyutunu Artır
196 | shortcut_decrease=Yazı Boyutunu Azalt
197 |
198 | ## update
199 | updateTitle=Güncelleme mevcut
200 | updateText={version} sürümü mevcut.
201 | updateDownload=İndir
202 | updateChanges=Değişiklik listesi
203 | updateNoUpdate=You are running the latest version.
204 |
205 |
--------------------------------------------------------------------------------
/pack.zip.ps1:
--------------------------------------------------------------------------------
1 | $version = Read-Host -Prompt 'Version'
2 | $name = "typertools-$version"
3 |
4 | if (Test-Path .\\$name.zip) {
5 | Remove-Item .\\$name.zip -force
6 | }
7 | if (Test-Path .\\$name) {
8 | Remove-Item .\\$name -force -recurse
9 | }
10 |
11 | New-Item -Type Dir .\\$name
12 | New-Item -Type Dir .\\$name\\app
13 | New-Item -Type Dir .\\$name\\CSXS
14 | New-Item -Type Dir .\\$name\\icons
15 | New-Item -Type Dir .\\$name\\locale
16 |
17 | Copy-Item .\\install_win.cmd .\\$name -force
18 | Copy-Item .\\install_mac.sh .\\$name -force
19 | Copy-item .\\app\\* .\\$name\\app -force -recurse
20 | Copy-item .\\CSXS\\* .\\$name\\CSXS -force -recurse
21 | Copy-item .\\icons\\* .\\$name\\icons -force -recurse
22 | Copy-item .\\locale\\* .\\$name\\locale -force -recurse
23 |
24 | Compress-Archive .\\$name .\\$name.zip
25 |
26 | Remove-Item .\\$name -force -recurse
27 |
28 | cmd /c pause
29 |
--------------------------------------------------------------------------------
/pack.zxp.cmd:
--------------------------------------------------------------------------------
1 | TITLE TypeR Pack
2 |
3 | set /p version=Version:
4 | SET name=TypeR-%version%
5 | SET tmpDir=tmpPackDir
6 | SET sert=selfDB.p12
7 | SET pass=12345
8 |
9 | del %sert%
10 | del %name%.zxp
11 | rmdir %tmpDir% /S/Q
12 |
13 | xcopy app %tmpDir%\app\ /E/Y/C
14 | xcopy CSXS %tmpDir%\CSXS\ /E/Y/C
15 | xcopy icons %tmpDir%\icons\ /E/Y/C
16 | xcopy locale %tmpDir%\locale\ /E/Y/C
17 |
18 | ZXPSignCmd -selfSignedCert RU SPB 34squad "34th squad" %pass% %sert%
19 | ZXPSignCmd -sign %tmpDir% %name%.zxp %sert% %pass% -tsa http://timestamp.digicert.com/
20 |
21 | rmdir %tmpDir% /S/Q
22 | del %sert%
23 | del .rnd
24 |
25 | PAUSE
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "typertools",
3 | "author": "Swirt",
4 | "main": "app/index.js",
5 | "browserslist": [
6 | "since 2012"
7 | ],
8 | "scripts": {
9 | "build": "rimraf app && webpack --mode=production",
10 | "build_dev": "rimraf app && webpack --mode=development",
11 | "build_watch": "rimraf app && webpack --mode=development --watch"
12 | },
13 | "dependencies": {
14 | "@babel/cli": "^7.15.7",
15 | "@babel/core": "^7.15.5",
16 | "@babel/plugin-proposal-class-properties": "^7.14.5",
17 | "@babel/plugin-proposal-optional-chaining": "^7.14.5",
18 | "@babel/plugin-syntax-dynamic-import": "^7.8.3",
19 | "@babel/plugin-transform-runtime": "^7.15.0",
20 | "@babel/preset-env": "^7.15.6",
21 | "@babel/preset-react": "^7.14.5",
22 | "@babel/runtime": "^7.15.4",
23 | "autoprefixer": "^10.3.6",
24 | "babel-eslint": "^10.1.0",
25 | "babel-loader": "^8.2.2",
26 | "babel-minify": "^0.5.1",
27 | "babel-plugin-closure-elimination": "^1.3.2",
28 | "babel-plugin-lodash": "^3.3.4",
29 | "babel-polyfill": "^6.26.0",
30 | "babel-preset-minify": "^0.5.1",
31 | "base64-inline-loader": "^2.0.1",
32 | "css-loader": "^6.3.0",
33 | "cssnano": "^5.0.8",
34 | "eslint": "^7.32.0",
35 | "eslint-plugin-react": "^7.26.0",
36 | "eslint-plugin-react-hooks": "^4.2.0",
37 | "file-loader": "^6.2.0",
38 | "html-webpack-plugin": "^5.3.2",
39 | "lodash": "^4.17.21",
40 | "lodash-webpack-plugin": "^0.11.6",
41 | "mini-css-extract-plugin": "^2.3.0",
42 | "npm-check-updates": "^11.8.5",
43 | "postcss-loader": "^6.1.1",
44 | "postcss-preset-env": "^6.7.0",
45 | "prop-types": "^15.7.2",
46 | "react": "^17.0.2",
47 | "react-color": "^2.19.3",
48 | "react-dom": "^17.0.2",
49 | "react-icons": "^5.5.0",
50 | "react-sortablejs": "^6.0.0",
51 | "rimraf": "^3.0.2",
52 | "sass-loader": "^12.1.0",
53 | "sortablejs": "^1.15.6",
54 | "style-loader": "^3.3.0",
55 | "uglify-js": "^3.14.2",
56 | "url-loader": "^4.1.1",
57 | "webpack": "^5.54.0",
58 | "webpack-cli": "^4.8.0",
59 | "webpack-merge-and-include-globally": "^2.3.4"
60 | },
61 | "devDependencies": {
62 | "sass": "^1.89.0"
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | const MergeIntoSingleFilePlugin = require('webpack-merge-and-include-globally');
2 | const MiniCssExtractPlugin = require("mini-css-extract-plugin");
3 | const LodashWebpackPlugin = require('lodash-webpack-plugin');
4 | const HtmlWebpackPlugin = require('html-webpack-plugin');
5 | const postcssPresetEnv = require('postcss-preset-env');
6 | const autoprefixer = require('autoprefixer');
7 | const postcssCssnano = require('cssnano');
8 | const UglifyJS = require('uglify-js');
9 |
10 |
11 | const hostFiles = [
12 | __dirname + '/app_src/lib/jam/jamActions.jsxinc',
13 | __dirname + '/app_src/lib/jam/jamEngine.jsxinc',
14 | __dirname + '/app_src/lib/jam/jamHelpers.jsxinc',
15 | __dirname + '/app_src/lib/jam/jamJSON.jsxinc',
16 | __dirname + '/app_src/lib/jam/jamText.jsxinc',
17 | __dirname + '/app_src/lib/jam/jamStyles.jsxinc',
18 | __dirname + '/app_src/lib/jam/jamUtils.jsxinc',
19 | __dirname + '/app_src/host.js'
20 | ];
21 |
22 |
23 | const defaultConfig = {
24 | entry: {
25 | index: ['./app_src/index.jsx']
26 | },
27 | output: {
28 | path: __dirname + '/app/',
29 | filename: 'index.js',
30 | publicPath: './'
31 | },
32 | resolve: {
33 | extensions: ['.js', '.jsx', '.jsxinc']
34 | }
35 | };
36 |
37 | const devConfig = {
38 | mode: 'development',
39 | devtool: 'source-map',
40 | module: {
41 | rules: [
42 | {
43 | test: /\.jsx?$/,
44 | exclude: /node_modules/,
45 | use: {
46 | loader: 'babel-loader',
47 | options: {
48 | plugins: ['lodash']
49 | }
50 | }
51 | }, {
52 | test: /\.css$/,
53 | use: {
54 | loader: 'file-loader'
55 | }
56 | }, {
57 | test: /\.scss$/,
58 | use: [
59 | {
60 | loader: MiniCssExtractPlugin.loader
61 | }, {
62 | loader: 'css-loader',
63 | options: {
64 | sourceMap: true
65 | }
66 | }, {
67 | loader: 'postcss-loader',
68 | options: {
69 | sourceMap: true,
70 | postcssOptions: {
71 | plugins: [
72 | postcssPresetEnv(),
73 | autoprefixer()
74 | ]
75 | }
76 | }
77 | }, {
78 | loader: 'sass-loader',
79 | options: {
80 | sourceMap: true
81 | }
82 | }
83 | ]
84 | }, {
85 | test: /\.(gif|png|jpe?g|svg)$/,
86 | loader: 'file-loader'
87 | }, {
88 | test: /\.(woff|woff2|eot|otf|ttf)?$/,
89 | loader: 'base64-inline-loader'
90 | }
91 | ]
92 | },
93 | plugins: [
94 | new LodashWebpackPlugin(),
95 | new HtmlWebpackPlugin({
96 | template: './app_src/index.html',
97 | filename: 'index.html'
98 | }),
99 | new MiniCssExtractPlugin(),
100 | new MergeIntoSingleFilePlugin({
101 | files: {
102 | 'host.jsx': hostFiles
103 | }
104 | })
105 | ]
106 | };
107 |
108 | const prodConfig = {
109 | mode: 'production',
110 | module: {
111 | rules: [
112 | {
113 | test: /\.jsx?$/,
114 | exclude: /node_modules/,
115 | use: {
116 | loader: 'babel-loader',
117 | options: {
118 | plugins: ['lodash']
119 | }
120 | }
121 | }, {
122 | test: /\.css$/,
123 | use: {
124 | loader: 'file-loader'
125 | }
126 | }, {
127 | test: /\.scss$/,
128 | use: [
129 | {
130 | loader: MiniCssExtractPlugin.loader
131 | }, {
132 | loader: 'css-loader'
133 | }, {
134 | loader: 'postcss-loader',
135 | options: {
136 | postcssOptions: {
137 | plugins: [
138 | postcssPresetEnv(),
139 | postcssCssnano(),
140 | autoprefixer()
141 | ]
142 | }
143 | }
144 | }, {
145 | loader: 'sass-loader'
146 | }
147 | ]
148 | }, {
149 | test: /\.(gif|png|jpe?g|svg)$/,
150 | loader: 'file-loader'
151 | }, {
152 | test: /\.(woff|woff2|eot|otf|ttf)?$/,
153 | loader: 'base64-inline-loader'
154 | }
155 | ]
156 | },
157 | plugins: [
158 | new LodashWebpackPlugin(),
159 | new HtmlWebpackPlugin({
160 | template: './app_src/index.html',
161 | filename: 'index.html',
162 | minify: {
163 | removeComments: true,
164 | collapseWhitespace: true,
165 | removeAttributeQuotes: true,
166 | removeEmptyAttributes: true,
167 | collapseBooleanAttributes: true,
168 | removeScriptTypeAttributes: true,
169 | removeStyleLinkTypeAttributes: true
170 | }
171 | }),
172 | new MiniCssExtractPlugin(),
173 | new MergeIntoSingleFilePlugin({
174 | files: {
175 | 'host.jsx': hostFiles
176 | },
177 | transform: {
178 | 'host.jsx': code => {
179 | const res = UglifyJS.minify(code, {compress: false, output: {beautify: true, indent_level: 0, quote_keys: true}});
180 | return res.code.replace(/([{};:,])\s*\n+\s*/gi, '$1').replace(/\s*\n+\s*([})\];:,])/gi, '$1');
181 | }
182 | }
183 | })
184 | ]
185 | };
186 |
187 | function clientConfig(env, argv) {
188 | const envConfig = (argv.mode === 'development') ? devConfig : prodConfig;
189 | return Object.assign({}, defaultConfig, envConfig);
190 | }
191 |
192 | module.exports = [clientConfig];
--------------------------------------------------------------------------------