LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 04-30-2013, 04:33 PM   #61
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Original Poster
Rep: Reputation: Disabled

Quote:
Originally Posted by gabrielmagno View Post
Sorry for the flood of updates in the Transifex project that happened now.

I'm translating the PO file locally using Lokalize, and submitting it to Transifex. When I tried to submit today's update to the site, I got a syntax error, without indication about where it was in the file. So I had to submit the translations strings in buckets, until I found where the error was.
Don't worry, Gabriel. that flood didn't bother anyone. Just keep up the good work

Regards,

Last edited by Didier Spaier; 04-30-2013 at 04:38 PM.
 
Old 04-30-2013, 06:38 PM   #62
Diantre
Member
 
Registered: Jun 2011
Distribution: Slackware
Posts: 515

Rep: Reputation: 234Reputation: 234Reputation: 234
Quote:
Originally Posted by gabrielmagno View Post
I'm translating the PO file locally using Lokalize, and submitting it to Transifex. When I tried to submit today's update to the site, I got a syntax error, without indication about where it was in the file. So I had to submit the translations strings in buckets, until I found where the error was.
Same thing happened to me. Use msgfmt to check the po file before submitting to Transifex:

Code:
$ msgfmt -c <lang>.po
In my case I was missing a couple of '\n' at the end of two strings, and Transifex didn't accept the update, msgfmt lets you know the line numbers in the po file where the problem is.
 
2 members found this post helpful.
Old 04-30-2013, 07:46 PM   #63
gabrielmagno
Member
 
Registered: May 2009
Location: Belo Horizonte, Brasil
Distribution: Slackware
Posts: 40

Rep: Reputation: 15
Quote:
Originally Posted by Diantre View Post
Same thing happened to me. Use msgfmt to check the po file before submitting to Transifex:

Code:
$ msgfmt -c <lang>.po
In my case I was missing a couple of '\n' at the end of two strings, and Transifex didn't accept the update, msgfmt lets you know the line numbers in the po file where the problem is.
That was also my problem, I was missing a '\n'.
Thank you for the command!
 
Old 05-01-2013, 11:52 AM   #64
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Original Poster
Rep: Reputation: Disabled
New slint version coming soon

Hey folks, new slint version coming soon (possibly tomorrow) will include:
(1) A bug correction in slint.sh (wrong -m option in a cpio command which prevented to repack the initrd, making the DVD ISO image unusable). I'm a little worried that nobody noticed that... Did anybody try the internationalized installer??
(2) Codes for more locales in /isolinux.f4.txt and isolinux/isolinux.cfg so that translators can see how translated messages are displayed in the installer.
Caveat: even if a locale is listed hitting 'F4' it will be actually available only if file <locale>.po has been copied in directory /path/to/slint-<date>/po before running /path/to/slint-<date>/slint.sh
(3) What is needed to display Cyrillic characters (Russian variant) in the installer. Otherwise bormant would have been *very* angry

@bormant: in that version the default console font for locale ru_RU will be koi8r-8x16.gz (with an unicode mapping). Would you prefer another one, just ask: it is easy to change.

EDIT. I just saw this in this thread what bormant said: "terminus in utf8 (ter-v*) can show most of unicode chars in plain console, so it is a good choice for default."

So I will try that one, which can be used for Polish as well. Stay tuned.

Last edited by Didier Spaier; 05-01-2013 at 02:37 PM.
 
1 members found this post helpful.
Old 05-01-2013, 12:07 PM   #65
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Quote:
Originally Posted by Didier Spaier4942762
Hey folks, new slint version coming soon (possibly tomorrow) will include:
(1) A bug correction in slint.sh (wrong -m option in a cpio command which prevented to repack the initrd, making the DVD ISO image unusable). I'm a little worried that nobody noticed that... Did anybody try the internationalized installer??
(2) Codes for more locales in /isolinux.f4.txt and isolinux/isolinux.cfg so that translators can see how translated messages are displayed in the installer.
Caveat: even if a locale is listed hitting 'F4' it will be actually available only if file <locale>.po has been copied in directory /path/to/slint-<date>/po before running /path/to/slint-<date>/slint.sh
(3) What is needed to display Cyrillic characters (Russian variant) in the installer. Otherwise bormant would have been *very* angry

@bormant: in that version the default console font for locale ru_RU will be koi8r-8x16.gz (with an unicode mapping). Would you prefer another one, just ask: it is easy to change.
Re 1.
I did notice it but didn't have time to look into it or report it here. I am only 11% done with my translation but it would be good to start doing it in a context.
 
Old 05-01-2013, 01:08 PM   #66
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by sycamorex View Post
Re 1.
I did notice it but didn't have time to look into it or report it here. I am only 11% done with my translation but it would be good to start doing it in a context.
You make me think... Maybe we need a specific console font to properly display characters used in Polish as well? Please then tell which one you would prefer (it has to end in .psfu.gz, or have a matching Unicode map in /usr/share/kbd/unimaps). Thanks in advance. Or just upload your po file in Transifex as it is and I will try to find one.

EDIT I will try a ter-v* font which can be used for Russian as well as Polish.

Last edited by Didier Spaier; 05-01-2013 at 02:38 PM. Reason: EDIT added
 
Old 05-01-2013, 03:51 PM   #67
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Quote:
Originally Posted by Didier Spaier View Post
You make me think... Maybe we need a specific console font to properly display characters used in Polish as well? Please then tell which one you would prefer (it has to end in .psfu.gz, or have a matching Unicode map in /usr/share/kbd/unimaps). Thanks in advance. Or just upload your po file in Transifex as it is and I will try to find one.

EDIT I will try a ter-v* font which can be used for Russian as well as Polish.
Ok, thanks. I'll upload a .po file over the next couple of days.
 
Old 05-01-2013, 07:09 PM   #68
AlvaroG
Member
 
Registered: Jul 2009
Location: Canelones, Uruguay
Distribution: Slackware
Posts: 147

Rep: Reputation: 43
Didier,
Could you please give diantre access to the es_ES translation (or give me access to es_CR)? I noticed that I can modify the es_ES and he can modify the es_CR, so we can't collaborate as we should.

diantre,
I have read the translation, changed a few things, would like to know what you think about it.

(next message like this one will go thru transifex, I promise )
 
Old 05-01-2013, 08:22 PM   #69
Diantre
Member
 
Registered: Jun 2011
Distribution: Slackware
Posts: 515

Rep: Reputation: 234Reputation: 234Reputation: 234
Quote:
Originally Posted by AlvaroG View Post
Didier,
Could you please give diantre access to the es_ES translation (or give me access to es_CR)? I noticed that I can modify the es_ES and he can modify the es_CR, so we can't collaborate as we should.

diantre,
I have read the translation, changed a few things, would like to know what you think about it.
I think that you can add translators if you're the language coordinator. I just added you to es_CR, check it. Since you're the coordinator for es_ES, go to this page:

https://www.transifex.com/projects/p...ge/es_ES/edit/

To add members and/or reviewers.

I'll pull the translation right now, and I'll let you know, thanks!
 
Old 05-01-2013, 11:09 PM   #70
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Original Poster
Rep: Reputation: Disabled
AlavaroG, Diantre, I see that you are translators for each other's team, good.

Yes, this kind of communication can go through Transifex in the future. While we are at it, I encourage every translator to hire reviewers (I could have made an announce on Transifex about that as well). Oh, and if someone is eager to review French translation, please let me know.

I am still unsure that it be wise to propose several locales per language in the installer though. But well, as as long we don't don't pay for overweight (excess baggage as we literally say in French), we can afford it.

By the bye, would it be useful to allow users to choose which locale, or locales, include in the installer when making the DVD ISO? Please everyone let me know what you think.

Last edited by Didier Spaier; 05-02-2013 at 01:08 PM.
 
Old 05-02-2013, 12:58 PM   #71
bormant
Member
 
Registered: Jan 2008
Posts: 426

Rep: Reputation: 240Reputation: 240Reputation: 240
Quote:
Originally Posted by Didier Spaier View Post
EDIT I will try a ter-v* font which can be used for Russian as well as Polish.
As I can see, ter-v* has 512 glyphs and uses bright text attribute to switch between two 256 tables in VGA text modes (as "normal nomodeset" in LILO, two bytes for one screen character http://en.wikipedia.org/wiki/VGA-com...de#Text_buffer). Moreover, it uses the same glyph for Latin/Russian codepoints, for example "a" for latin "a" and Russian "а", "o" for "o" and "о" and so on, but these chars has low brightness while others are bright. Yes, it's readable, but looks very strange. So 512 symbol fonts are incompatible with default setup/pkgtool/etc colors in text modes, the bright borders (0xA color) lose bright attribute (get 0x2 color instead) and these dialogs look very ugly.

ter-k* has no this disadvantage because uses 256 glyphs, it can be used for ru_RU.utf8 but needs another decision for Polish.
Attached Thumbnails
Click image for larger version

Name:	snap1.png
Views:	84
Size:	3.7 KB
ID:	12439   Click image for larger version

Name:	snap2.png
Views:	86
Size:	3.5 KB
ID:	12440  

Last edited by bormant; 05-02-2013 at 01:55 PM.
 
1 members found this post helpful.
Old 05-02-2013, 01:53 PM   #72
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by bormant View Post
As I can see, ter-v* has 512 glyphs and uses bright text attribute to switch between two 256 tables in VGA text modes (as "normal nomodeset" in LILO, two bytes for one screen character http://en.wikipedia.org/wiki/VGA-com...de#Text_buffer). Moreover, it uses the same glyph for Latin/Russian codepoints, for example "a" for latin "a" and Russian "а", "o" for "o" and "о" and so on, but these chars has low brightness while others are bright. Yes, it's readable, but looks very strange. Also 512 symbol fonts are incompatible with default setup/pkgtool/etc colors in text modes, the bright borders (0xA color) lose bright attribute (get 0x2 color instead) and these dialogs look very ugly.
ter-k* has no this disadvantage because uses 256 glyphs, it can be used for ru_RU.utf8 but needs another decision for Polish.
Well, if I understand well ter-v* includes the whole collection of 879 glyphs, the other ones are simply subsets of it.

So to use ter-v* one needs to provide a mapping to include only part of these glyphs, which should be equivalent to using one of the other fonts. For instance if I write:
Code:
setfont -m koi8-r.txt ter-v16n.psf.gz
I assume that I will end up with the same font loaded as if I had typed:
Code:
setfont ter-k16n.psf.gz
But maybe I am wrong.

Anyway this deserves attention, so I will make tests, and maybe provide a mean to choose between two or three fonts for ru_RU when making the DVD ISO image (in slint.sh) so you can test as well if you wish. That could be a choice between ter-k, ter-v and another font, maybe koi8r.8x16.gz?

If available, please upload in Transifex a .po file with more messages translated, to increase the scope of tests.

Thanks in advance.

Last edited by Didier Spaier; 05-02-2013 at 02:27 PM.
 
Old 05-02-2013, 04:42 PM   #73
jtsn
Member
 
Registered: Sep 2011
Posts: 922

Rep: Reputation: 480Reputation: 480Reputation: 480Reputation: 480Reputation: 480
Quote:
Originally Posted by Didier Spaier View Post
Only the locale setting (through LANG's value) is considered in slint to choose installation language, not the keyboard layout.
LANG is deprecated. I use the LC_ settings, especially LC_MESSAGES=C. Just type 'locale' into your shell. This is an example:
Code:
LC_CTYPE=fr_FR.utf8
LC_NUMERIC=C
LC_TIME=C
LC_COLLATE=C
LC_MONETARY=fr_FR.utf8
LC_MESSAGES=C
LC_PAPER=fr_FR.utf8
LC_NAME=fr_FR.utf8
LC_ADDRESS=fr_FR.utf8
LC_TELEPHONE=fr_FR.utf8
LC_MEASUREMENT=fr_FR.utf8
LC_IDENTIFICATION=fr_FR.utf8
This lets programs display messages in the original unix language (C, not English, that's en_US), sets number, date and time formats to C (so scripts don't break). It selects the Euro as Currency, ISO A4 as paper format, the metric system and the address and telephone number formatting used in France. Of course, it also selects UTF-8 as Charset.

Most upstream translations that made it into Slackware originate from the Debian folks, I suppose. Their translators never read an IT magazine or IT newspaper a foreign language, so they invent their own IT-lingo, which nobody (including native speakers) understands. That's the main reason, why I reject using it.

Quote:
If you would like to set the locale (other than en_US) in the installer but still have installer's message displayed in US English, I understand that you actually request ability to set during installation the default locale in the being installed system, even though that locale was not used during installation itself. Is that correct?
The usual linux distribution asks you: "Please select your location*). I assume, locale, language, keyboard layout, timezone etc. all at once, because it's so easy for you!" and then "Now I start talk gibberish to you, because I assume, that's a (native) language, you can unterstand."

*) Or worse: "I have detected it from your IP address."

It's fine for me if I don't get bothered with it. KISS principle: make everything completely optional.

Quote:
Sorry, I just do not understand this statement. Gettext is only a tool to mark messages to be translated, then display a translation of these messages, if available, in the locale set by the user. This has nothing top do with the quality of translation. But maybe I did not understand what you meant by "obfuscation tool" or "high quality localization". In that case, please elaborate a bit.
Gettext uses a string search & replacement approach, that is broken by design. In professional software l10n, they to go through every step and function of program manually (which is tedious work), translate it individually and then have someone, which knows the program internals and BOTH of the languages well enough*) to tell, if the translation is correct. By correct I mean not only consistent wording, but also the tone of warnings, when user data is in danger.

Digging through .po files isn't going to do this. Especially in a installer you have to make sure, that all translations in every place are 100 % correct (not by wordbook, by sense) or people start to destroy their data by accident.

*) To answer the question: No, I don't speak English well enough to qualify for this job.
 
1 members found this post helpful.
Old 05-02-2013, 05:56 PM   #74
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by jtsn View Post
LANG is deprecated.
Not at all. Let me quote the POSIX standard about Internationalization Variables:
Quote:
LANG
This variable shall determine the locale category for native language, local customs, and coded character set in the absence of the LC_ALL and other LC_* ( LC_COLLATE , LC_CTYPE , LC_MESSAGES , LC_MONETARY , LC_NUMERIC , LC_TIME ) environment variables. This can be used by applications to determine the language to use for error messages and instructions, collating sequences, date formats, and so on.
Furthermore:
Quote:
The values of locale categories shall be determined by a precedence order; the first condition met below determines the value:
  1. If the LC_ALL environment variable is defined and is not null, the value of LC_ALL shall be used.
  2. If the LC_* environment variable ( LC_COLLATE , LC_CTYPE , LC_MESSAGES , LC_MONETARY , LC_NUMERIC , LC_TIME ) is defined and is not null, the value of the environment variable shall be used to initialize the category that corresponds to the environment variable.
  3. If the LANG environment variable is defined and is not null, the value of the LANG environment variable shall be used.
  4. If the LANG environment variable is not set or is set to the empty string, the implementation-defined default locale shall be used.
So LANG can be used in conjunction with other variables, as long as you apply the rules.

gettext rely on LANG and I don't intend/need/am able to reinvent it. It's not perfect, but it works well enough in our use case.
Quote:
Originally Posted by jtsn View Post
The usual linux distribution asks you: "Please select your location*). I assume, locale, language, keyboard layout, timezone etc. all at once, because it's so easy for you!" and then "Now I start talk gibberish to you, because I assume, that's a (native) language, you can unterstand."

*) Or worse: "I have detected it from your IP address."
Well, as you know Slackware is not "the usual distribution"

Quote:
Originally Posted by jtsn View Post
It's fine for me if I don't get bothered with it. KISS principle: make everything completely optional.
Yes:
(1) You can use slint and keep the en_US locale. That is the default.
(2) Slint doesn't try to guess anything. It will use during installation the locale you tell it to use, period.
(3) Slint associates a default keyboard map to each locale, but you can of course change it in 'setup'.
(4) Slint proposes you to keep in the being installed system the last locale settings (LANG and keymap) that you used during installation, but you can of course refuse that: just click "cancel" or leave the features you don't want unchecked.

Quote:
Originally Posted by jtsn View Post
Gettext uses a string search & replacement approach, that is broken by design. In professional software l10n, they to go through every step and function of program manually (which is tedious work), translate it individually and then have someone, which knows the program internals and BOTH of the languages well enough*) to tell, if the translation is correct. By correct I mean not only consistent wording, but also the tone of warnings, when user data is in danger.

Digging through .po files isn't going to do this. Especially in a installer you have to make sure, that all translations in every place are 100 % correct (not by wordbook, by sense) or people start to destroy their data by accident.
(1) By default gettext indicates in the PO file the name of the translated script(s) and the line number of the original messages.
(2) In slint all internationalized scripts are copied in a source/ directory for each internationalized Slackware edition, so that the translator keeps the context at hand.
(3) Translators are recommended not to use Transifex' web editor, as if they do they loose the context. Instead, usage of a specialized PO editor, which displays it, is requested.
(4) Translators are requested to be able to read a script and understand the messages they have to translate (see post #14 in this thread).
(5) Also, all translations should be reviewed
(6) The toolbox includes recommendations for translators in the same vein.

Even so, accuracy of translation is not 100% guaranteed, but we do our best. In a few case the translation may even be more accurate than the original (no offense to Pat intended :-)

Last edited by Didier Spaier; 05-03-2013 at 01:19 AM.
 
Old 05-02-2013, 09:45 PM   #75
Diantre
Member
 
Registered: Jun 2011
Distribution: Slackware
Posts: 515

Rep: Reputation: 234Reputation: 234Reputation: 234
Kernel panic booting slint dvd image in VirtualBox

I'm trying to boot the slint dvd in VirtualBox to test my translation. Everything looks good and the slint.sh script doesn't complain:

Code:
bash-4.2# ./slint.sh 64-14.0

This shell script will build an ISO image of Slackware64-14.0
including an internationalized installer.

It will create and use temporary directory /tmp/slint-64-14.0.

We will need a local mirror of Slackware64-14.0,
possibly without the /source directory.

This local mirror, which will stay unmodified, can take the form of:
(1) a Slackware64-14.0 DVD, mounted for instance as /media/dvd:
    mount -t auto /dev/dvd /media/dvd
    Then the path would be:
    /media/dvd
    => the Slackware Store will take your DVD order @:
    http://store.slackware.com/cgi-bin/store
(2) a loop mounted ISO image of Slackware64-14.0, e.g.:
    mount -o loop /path/to/the/ISO/image /media/memory
    Then the path would be:
    /media/memory
    to grab an ISO image from a mirror or a torrent, see:
    http://mirrors.slackware.com/slackware-iso/
    torrents: http://www.slackware.com/getslack/torrents.php 
(3) a mirror on your hard disk that you would update with commands like:
    REMOTEMIR=/path/to/the/remote/mirror/ending/in/slackware64-14.0
    LOCALMIR=/path/to/the/local/mirror
    rsync -avzP --del rsync://$REMOTEMIR $LOCALMIR
    Then the path would be:
    /path/to/the/local/mirror/slackware64-14.0

Please type the full path of the local mirror now: /mnt/dvd

Copying /mnt/dvd/isolinux in /tmp/slint-64-14.0...
Unpacking /mnt/dvd/isolinux/initrd.img...
Copying new and modified files in /tmp/slint-64-14.0/isolinux/...
Copying new and modified files in /tmp/slint-64-14.0/initrd/...
Copying config files in (created) /tmp/slint-64-14.0/initrd/usr/lib/config/...
Including the gettext* programs in /tmp/slint-64-14.0/initrd/usr/bin/...
Generating /tmp/slint-64-14.0/initrd/usr/lib/gconv/gconv-modules.cache...
Including gettext-runtime.mo, dialog.mo and util-linux.mo ...
Copying /usr/lib/locale/<locale>/* and the (generated) MO files in:
/tmp/slint-64-14.0/initrd
generating MO file for locale es_CR...
/home/diantre/slint/slint-20130427/po/es_CR.slackware.po: 932 translated messages, 4 fuzzy translations, 85 untranslated messages.
generating MO file for locale fr_FR...
/home/diantre/slint/slint-20130427/po/fr_FR.slackware.po: 1024 translated messages.
Repacking initrd.img takes a while, thank you for staying patient...
Building the ISO image, maybe enough time to drink a coffee...

*** Completed. ***

You can chack the the log file /tmp/slint-64-14.0/log.txt.

An ISO image /tmp/slint64-14.0-20130427-dvd.iso including the
internationalized installer is ready.

Following locales are included:
en_US
es_CR
fr_FR

To burn a DVD ISO you could use following command (if you used a Slackware
DVD as mirror, eject it and insert a new one first): 

  growisofs -speed=2 -dvd-compat   -Z /dev/dvd=/tmp/slint64-14.0-20130427-dvd.iso

Have fun :^)
I created a new machine in VB with default settings, only the memory setting was increased to 512MB and the slint dvd set as the IDE primary master. Boots ok, I see the modified slint menu. It doesn't matter if I select a locale or not, the boot process stops all the time with a kernel panic (see attached image).

The DVD used to create the slint DVD is the Slackware64 14.0 DVD, the same I used to install my desktop machine, so I'm sure the DVD is fine. The slint log file in /tmp/slint-64-14.0/log.txt shows no errors (as far as I can tell).

Am I doing something wrong?

Any help is appreciated.
Attached Thumbnails
Click image for larger version

Name:	slint-kernel_panic.png
Views:	100
Size:	24.2 KB
ID:	12442  
 
  


Reply

Tags
accessibility, blind, installation, internationalization, slackware



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Questions about fbterm's usage in Slint or Slackware installer Didier Spaier Slackware 2 03-05-2014 05:09 PM
[SOLVED] [TESTERS WANTED] Slint installers for Slackware 14.1 => LAST CALL Didier Spaier Slackware 11 11-22-2013 06:22 AM
[ANN] slint (Slackware Internationalized) 14.1 beta is ready: please test Didier Spaier Slackware 0 09-19-2013 03:44 PM
The Slackware Internationalization Project Didier Spaier Slackware 62 04-26-2013 05:07 AM
Slackware, and internationalization t_maggot Slackware 2 12-06-2006 10:27 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 05:54 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration