- NSIS Translations
- Translate NSISdl
Archive: Translate NSISdl
deguix
30th December 2003 14:36 UTC
Translate NSISdl
I made a NSISdl include file for NSIS, it includes 4 macros:
NSISDL_DOWNLOAD SOURCE DESTINATION
NSISDL_DOWNLOAD_TIMEOUT SOURCE DESTINATION TIMEOUT
NSISDL_DOWNLOAD_QUIET SOURCE DESTINATION
NSISDL_DOWNLOAD_QUIET_TIMEOUT SOURCE DESTINATION TIMEOUT
It:
- supports automatic translation.
- creates the directory where will be created the DESTINATION file.
- doesn't need Modern UI to work.
- uses LangStrings, so you can use too these in your script:
NSISDL_DOWNLOADING
NSISDL_CONNECTING
NSISDL_SECOND
NSISDL_MINUTE
NSISDL_HOUR
NSISDL_PLURAL
NSISDL_PROGRESS
NSISDL_REMAINING
i.e. MessageBox MB_OK "$(NSISDL_SECOND)"
NOTE: When you use any macro of this include file, they will SetDetailsPrint to both.
If someone wants to make a translation for NSISdl, use the English language as a base for your work.
Vytautas
31st December 2003 00:17 UTC
I'm trying to translate the plugin to Lithuanian, however because of the structual diferences in the Lithuanian language compared to English I am running into a problem with the plural define.
Example: hour is valanda but hours is valandos note that the ending changes completely.
Vytautas
Vytautas
31st December 2003 01:26 UTC
Attached is the file including Lithuanian Translation with a comment note about the hours string.
PS. Also modified the other translation to use the NSISDL_LANG define instead of the language number.
Vytautas ;)
Yathosho
31st December 2003 14:42 UTC
!define NSISDL_LANG "1031" #German (by Jan T. Sott)
LangString NSISDL_DOWNLOADING ${NSISDL_LANG} "Dateidownload: %s"
LangString NSISDL_CONNECTING ${NSISDL_LANG} "Verbindung wird aufgebaut"
LangString NSISDL_SECOND ${NSISDL_LANG} "Sekunde"
LangString NSISDL_MINUTE ${NSISDL_LANG} "Minute"
LangString NSISDL_HOUR ${NSISDL_LANG} "Stunde"
LangString NSISDL_PLURAL ${NSISDL_LANG} "n"
LangString NSISDL_PROGRESS ${NSISDL_LANG} "%dkB (%d%%) von %dkB @ %d.%01dkB/s"
LangString NSISDL_REMAINING ${NSISDL_LANG} "(Verbleibende Zeit: %d %s%s)"
!undef NSISDL_LANG
"Dateidownload" is the term used by IE, so i took it aswell :)
deguix
1st January 2004 02:09 UTC
Thanks, language added.
I made some more changes:
- Added 4 macros to use with NSISdlSmooth.dll (these macros need "NSISdlSmooth" plugin installed to work):
NSISDLSMOOTH_DOWNLOAD SOURCE DESTINATION
NSISDLSMOOTH_DOWNLOAD_TIMEOUT SOURCE DESTINATION TIMEOUT
NSISDLSMOOTH_DOWNLOAD_QUIET SOURCE DESTINATION
NSISDLSMOOTH_DOWNLOAD_QUIET_TIMEOUT SOURCE DESTINATION TIMEOUT
- Changed way to detect languages, it detects first if you loaded a language file and uses it depending on the $LANGUAGE variable. So, you can't use a language without loading its NSIS language file first.
Yathosho
1st January 2004 02:51 UTC
something went wrong. check my spelling, you converted some terms to lowercase (minute, sekunde etc.)
deguix
1st January 2004 03:25 UTC
Now the texts are exactly the same way you put...
Vytautas
1st January 2004 04:15 UTC
deguix, I checked out your newest language translation system and I noticed one problem. Most script have all of there include files at the very start of the script, e.g before the languages are inserted into the script. Therefore none of the translations will ever be included in the script.
Vytautas
deguix
2nd January 2004 01:54 UTC
You're right. Returning to the old style (just that)...
I'm not testing much because I'm using a new home computer, and I have to share with some persons and play new games (yeah!) but I still here.
Vytautas
2nd January 2004 02:03 UTC
I assume that if the /translate is used and the values are blank that the plugin uses hardcoded defaults. Cos I noticed that LandString does not set a default translation if one does not exist.
Vytautas
kichik
2nd January 2004 12:39 UTC
No, it doesn't. If you want defaults you'd have to use the MUI mechanism which is using defines and using the default if a define is not defined. I hope that made sense, heh :)
Vytautas
2nd January 2004 13:00 UTC
I assumed that the plugin dll has some hardcoded defaults ;)
Vytautas
kiiali
13th January 2004 16:12 UTC
updated with
Chinese (Traditional)
Chinese (Simplified)
thanks.
iostriz
26th January 2004 11:01 UTC
Croatian nsisdl update
!define NSISDL_LANG "1050" #Croatian (by Igor Ostriz)
LangString NSISDL_DOWNLOADING ${NSISDL_LANG} "Preuzimanje %s"
LangString NSISDL_CONNECTING ${NSISDL_LANG} "Spajanje ..."
LangString NSISDL_SECOND ${NSISDL_LANG} "sekunde"
LangString NSISDL_MINUTE ${NSISDL_LANG} "minute"
LangString NSISDL_HOUR ${NSISDL_LANG} "sat"
LangString NSISDL_PLURAL ${NSISDL_LANG} "a"
LangString NSISDL_PROGRESS ${NSISDL_LANG} "%dkB (%d%%) od %dkB @ %d.%01dkB/s"
LangString NSISDL_REMAINING ${NSISDL_LANG} "(%d %s%s preostalo)"
!undef NSISDL_LANG
deguix
14th February 2004 01:30 UTC
I changed again to the old style, because it inserted unnecessary LangStrings of languages you didn't want.
Now have to include the Language Files first, then you include this file.
Included Croatian translation with the new NSISdl.nsh.
evilO
17th February 2004 16:37 UTC
Added the french translation :)
evilO/Olive
PS: I have met a "structural difference" as Vytautas would say ;), therefore I have changed "XX remaining" to "temps restant: XX", which corresponds to "time remaining: XX".
deguix
18th February 2004 11:56 UTC
Yep, sometimes this applies to Portuguese language too.
Vytautas
18th February 2004 13:40 UTC
I have found/remembered of a better way to display lithuanian plurals. Attached is the modified file. :D
Vytautas
bholliger
10th November 2006 10:56 UTC
Hi Deguix!
Thank you for this header file!
> NOTE: When you use any macro of this include file, they will
> SetDetailsPrint to both.
We could replace
SetDetailsPrint both
with
SetDetailsPrint lastused
This would set the mode back to the value as it was before calling the macro.
The only problem is that the execution of another 'lastused' parameter would have no effect.
Cheers
Bruno
Auren
13th April 2007 09:01 UTC
Russian Translation
Here's a Russian translation of NSISdl plugin:
;There's a note about time translation into Russian. I used variants of words using "()" symbols to fit
;any form of the word corresponding to the actual time. There's no need in
;NSISDL_PLURAL ${NSISDL_LANG}.
!define NSISDL_LANG "1049" #Russian (by Yan Mosyagin aka Auren)
LangString NSISDL_DOWNLOADING ${NSISDL_LANG} "Загрузка %s"
LangString NSISDL_CONNECTING ${NSISDL_LANG} "Подключение ..."
LangString NSISDL_SECOND ${NSISDL_LANG} "Ñекунд(а,Ñ‹)"
LangString NSISDL_MINUTE ${NSISDL_LANG} "минут(а,ы)"
LangString NSISDL_HOUR ${NSISDL_LANG} "чаÑ(а,ов)"
LangString NSISDL_PLURAL ${NSISDL_LANG} ""
LangString NSISDL_PROGRESS ${NSISDL_LANG} "%dkB (%d%%) из %dkB @ %d.%01dkB/s"
LangString NSISDL_REMAINING ${NSISDL_LANG} "(оÑталоÑÑŒ %d %s%s)"