|
|
|
#1
|
||||
|
||||
|
@ Schabik
The issue with that is if someone wants 2 or more languages ( say english & Brazil Portuguese ) then that choice would not be available, or many others as well. |
| Sponsored Links |
|
#2
|
|||
|
|||
|
Quote:
I think that the best solution is to get both. If you want to use many lang files than an option for that, to enable it, if you want to use one lang at the time second option to that to enable. You know what I mean? For some games like AC1 there can't be more than one language at the time, for polish there are files that are patched so the Polish lang can work. |
|
#3
|
||||
|
||||
|
^
Open "Components.iss" and replace with this (replace all in this file) Code:
[Components]
#if UseComponents == "1"
Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixed
Name: "englisharch"; Description: {cm:CompEnglish}; Types: full
Name: "frencharch"; Description: {cm:CompFrench}; Types: full
Name: "germanarch"; Description: {cm:CompGerman}; Types: full
Name: "italianarch"; Description: {cm:CompItalian}; Types: full
Name: "spanisharch"; Description: {cm:CompSpanish}; Types: full
Name: "polisharch"; Description: {cm:CompPolish}; Types: full
Name: "russianarch"; Description: {cm:CompRussian}; Types: full
Name: "portuguesebrazilarch"; Description: {cm:CompPortugueseBrazil}; Types: full
#endif
__________________
Haters gonna hate
|
|
#4
|
||||
|
||||
|
@Titeuf: Ingnore this messages. I didn't translate Hebrew, and probably didn't do it anymore (because it's like arabic, it reads from right to left and installer is mirrored this way. I didn't test installer yet with hebrew language, if all buttons/text/etc are on the right place. Maybe I will deactivate it in future releases).
Will work on the script in the next weeks again (spare time at the moment).
__________________
Haters gonna hate
Last edited by KaktoR; 16-02-2019 at 11:25. |
|
#5
|
||||
|
||||
|
hello KaktoR,
ok thank you for your answer! I thought I made a mistake cordially |
|
#6
|
|||
|
|||
|
Hey there guys,
I did a little research for setting components not as checkboxes but as Radiobuttons, and I've managed to achieve the goal If someone want to integrate the code with ASIS please, be my guest ![]() The modifications were tested by me and work for example with Assassins Creed 1 MultiLang (With Czech,Polish,English,French,Italian,German and Spanish). The Modifications I presented are as Follows: Code for Components.iss Code:
[Components]
#if RadioInsteadCheckbox == "1"
Name: "main"; Description: {cm:MainFiles}; Types: full compact custom; Flags: fixed
Name: "Lang"; Description: {cm:GameLang}; Types: full compact custom; Flags: fixed
Name: "Lang\czecharch"; Description: {cm:CompCzech}; Types: custom; Flags: exclusive;
Name: "Lang\englisharch"; Description: {cm:CompEnglish}; Types: custom; Flags: exclusive;
Name: "Lang\frencharch"; Description: {cm:CompFrench}; Types: custom; Flags: exclusive
Name: "Lang\germanarch"; Description: {cm:CompGerman}; Types: custom; Flags: exclusive
Name: "Lang\italianarch"; Description: {cm:CompItalian}; Types: custom; Flags: exclusive
Name: "Lang\polisharch"; Description: {cm:CompPolish}; Types: custom; Flags: exclusive
Name: "Lang\spanisharch"; Description: {cm:CompSpanish}; Types: custom; Flags: exclusive
#endif
#if RadioInsteadCheckbox == "0"
Name: "main"; Description: {cm:MainFiles}; Types: full compact custom; Flags: fixed
Name: "Lang"; Description: {cm:GameLang}; Types: full compact custom; Flags: fixed
Name: "Lang\czecharch"; Description: {cm:CompCzech}; Types: custom;
Name: "Lang\englisharch"; Description: {cm:CompEnglish}; Types: custom
Name: "Lang\frencharch"; Description: {cm:CompFrench}; Types: custom
Name: "Lang\germanarch"; Description: {cm:CompGerman}; Types: custom
Name: "Lang\italianarch"; Description: {cm:CompItalian}; Types: custom
Name: "Lang\polisharch"; Description: {cm:CompPolish}; Types: custom
Name: "Lang\spanisharch"; Description: {cm:CompSpanish}; Types: custom
#endif
Code:
// Component #define UseComponents ReadIni(SourcePath + "\Settings.ini", "Component", "Enable", "") #define RadioInsteadCheckbox ReadIni(SourcePath + "\Settings.ini", "Component", "EnableRadiobutton", "") #define EnglishArch ReadIni(SourcePath + "\Settings.ini", "Component", "EnglishArch", "") #define FrenchArch ReadIni(SourcePath + "\Settings.ini", "Component", "FrenchArch", "") #define GermanArch ReadIni(SourcePath + "\Settings.ini", "Component", "GermanArch", "") #define ItalianArch ReadIni(SourcePath + "\Settings.ini", "Component", "ItalianArch", "") #define SpanishArch ReadIni(SourcePath + "\Settings.ini", "Component", "SpanishArch", "") #define PolishArch ReadIni(SourcePath + "\Settings.ini", "Component", "PolishArch", "") #define CzechArch ReadIni(SourcePath + "\Settings.ini", "Component", "CzechArch", "") Code:
[Component] Enable=1 EnableRadiobutton=1 EnglishArch= FrenchArch= GermanArch= ItalianArch= SpanishArch= PolishArch= CzechArch= Code:
[Registry] Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Polish"; Flags: uninsdeletekey; Components: Lang\polisharch; Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Czech"; Flags: uninsdeletekey; Components: Lang\czecharch; Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "English"; Flags: uninsdeletekey; Components: Lang\englisharch; Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "French"; Flags: uninsdeletekey; Components: Lang\frencharch; Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "German"; Flags: uninsdeletekey; Components: Lang\germanarch; Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Italian"; Flags: uninsdeletekey; Components: Lang\italianarch; Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Spanish"; Flags: uninsdeletekey; Components: Lang\spanisharch; I've made them as following: Code:
#if UseComponents == "1"
{Unpack selected components}
if IsComponentSelected('Lang\englisharch') then
if FileExists(GetIniString('Component', 'EnglishArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
if ISDoneError = False then
ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'EnglishArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);
if IsComponentSelected('Lang\frencharch') then
if FileExists(GetIniString('Component', 'FrenchArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
if ISDoneError = False then
ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'FrenchArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);
if IsComponentSelected('Lang\germanarch') then
if FileExists(GetIniString('Component', 'GermanArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
if ISDoneError = False then
ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'GermanArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);
if IsComponentSelected('Lang\italianarch') then
if FileExists(GetIniString('Component', 'ItalianArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
if ISDoneError = False then
ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'ItalianArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);
if IsComponentSelected('Lang\spanisharch') then
if FileExists(GetIniString('Component', 'SpanishArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
if ISDoneError = False then
ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'SpanishArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);
if IsComponentSelected('Lang\polisharch') then
if FileExists(GetIniString('Component', 'PolishArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
if ISDoneError = False then
ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'PolishArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);
if IsComponentSelected('Lang\czecharch') then
if FileExists(GetIniString('Component', 'CzechArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
if ISDoneError = False then
ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'CzechArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);
#endif
Last edited by Schabik; 22-02-2019 at 04:41. |
|
#7
|
||||
|
||||
|
Hello Schabik,
maybe can you put pictures? thank you in advance |
|
#8
|
|||
|
|||
|
If You want to see how it looks, here You are ![]() I'm attaching screens "Before" and "After" ![]() Components page before the modyfication: 2019-02-14_12h27_22.png And after modification: With Radiobuttons: 2019-02-22_08h36_32.png With Checkboxes (Yep, I also modified them to add languages as a subcategory): 2019-02-22_08h35_02.png I hope KaktoR will love it because everything he did works and brought this idea to the daylight
Last edited by Schabik; 22-02-2019 at 04:53. |
|
#11
|
||||
|
||||
|
I was able to fix this weird skin bug for the scrollbars (thanks to Cesar, he gave me this tip).
I have also changed the language archive unpacking (it has now correct progress). I think I will implement the ISHash now to compactmode and share an updated script then (might take some days). Next update: Code:
v7.1.2 beta7 _____________________________________________________ - Fixed component prograss on ProgressBar - Fixed ScrollBar on LicensePage and InfoBeforePage if you use cjstyle skin - Added Skin support to LanguageBox - Added Skin support to Uninstall progress - Added ISHash library to CompactMode - Changed appearance in Components page
__________________
Haters gonna hate
Last edited by KaktoR; 22-02-2019 at 05:52. |
|
#12
|
||||
|
||||
|
While I'm away. I have fix lots of issues.
and i have remove all other languages. For my personal use I have fix time remaining and some redist CM and some other minor issues.. I have try to fix that known bugs, try almost a day but nothing works... But Now i see you have fixed it. KaktoR how did you fix this known bug? Fixed ScrollBar on LicensePage and InfoBeforePage if you use cjstyle skin Please add codes that fixed it. so I can upgrade mine. Thanks!
__________________
Keep Up The Good Works! |
|
#13
|
||||
|
||||
|
You have to use TNewMemo for the Memos (WizardForm.LicenseMemo and WizardForm.InfoBeforeMemo) because cjstyles is not compatible with TRichEditViewer.
__________________
Haters gonna hate
|
| The Following User Says Thank You to KaktoR For This Useful Post: | ||
yasitha (24-02-2019) | ||
|
#14
|
||||
|
||||
|
Quote:
Thanks...
__________________
Keep Up The Good Works! |
|
#15
|
|||
|
|||
|
When will be beta7 posted? :-)
|
![]() |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [Help] need Advanced Installer script with Razor1911's UltraArc module | rez3vil | Conversion Tutorials | 3 | 15-04-2024 02:24 |
| Portable Installer Inno Setup Script | y_thelastknight | Conversion Tutorials | 59 | 23-10-2020 00:02 |
| INDEX - Conversion Tutorial Index | Razor12911 | Conversion Tutorials | 5 | 11-06-2020 02:05 |
| Simple Arc Installer | 78372 | Conversion Tutorials | 1 | 15-06-2017 15:37 |
| MSC+Srep+lzma Simple Script Example | gozarck | Conversion Tutorials | 10 | 07-09-2015 16:31 |