Yab question

Hi there, I’m posting this here because yab forum is not registering my account, I’d like to know if there is a known issue about ‘localize’, I wrote something that doesn’t work, and localized_language$ leads to a crash of the interpreter

Hi zuMi, have you checked the command description in the yabIDE?

Iirc it is something like translate().

@lorglas creates a locolizer for yab, he can tell here more eventually?

I tried that tool, but it crashes too, hrev 56640 x86_64 , yab 1.8.1

it is not the best way to use a unofficial beta as development system. Do you have a beta 3 on your system (other partitions?). I think there can be more breaks after new haiku release (beta 4) this way, so we need to collect and name it for debugging.

you can register on our BugTracker and make a report BeSly Software Solutions

Hi,

the yab-localizer has an issue, because a function in yab doesn’t work anymore. I working on it.

But in the directory where the yab localizer is, is the localizer app which schould be working. The function is the same. The localizer app doesn’t have the extra function and i but them into the package as backup.

So you can still use the app localization. Yab continues to work.

Regards lorglas

3 Likes

https://trac.besly.de/client/index.php#/issues/1623
I found this

Validazione checksum di BeSly Software Solutions…done.
100% repochecksum-1 [65 byte]
yab-1.8.1-3 from repository system is already installed.

perhaps 1.8.2 is still not available for 64bit?

I created some catalogs into
/boot/home/config/non-packaged/data/locale/catalogs/x-vnd.{thisismyapp}
it.catalog and sc.catalog

in my script I put

LOCALIZE “x-vnd.{thisismyapp}”

and when it’s needed
… TRANSLATE$ ( “…” )…
but I still have untraslated strings

Yab 1.8.2 isn’t publish yet, because the know problem. I must update the bug tracker at this point. It was a solution, but seems not the right one.

I have to recheck it again.

Regards lorglas

1 Like

It is very important that you in line with the translated string.
If you are not in line the localizer function doesn’t work correctly.

I can help you, if you want. If so,please send me an Email and i take a look.

Regards lorglas

1 Like

This is my scenario:
this is the test code

#! /bin/yab

// mimetype "application/x-vnd.zuMis-KronoGyros"

LOCALIZE "x-vnd.zuMis-KronoGyros"
print TRANSLATE$ ( "Select an item to get more infos about it" )

this is the it.catalog saved in /boot/home/config/non-packaged/data/locale/catalogs/x-vnd.zuMis-KronoGyros

# x-vnd.zuMis-KronoGyros
# English Italiano
"Select an item to get more infos about it"	"Seleziona un oggetto per ottenere maggiori informazioni a riguardo"

this what it prompts when executed

~/Desktop> env | grep LC
LC_MONETARY=it.UTF-8
LC_TYPE=en_US.UTF-8
LC_MESSAGES=it.UTF-8
LC_CTYPE=it.UTF-8
LC_TIME=it.UTF-8
LC_COLLATE=it.UTF-8
LC_NUMERIC=it.UTF-8

I will test it at home.

1 Like

In the yab documentation I read

Haiku:

Dictionaries for stand-alone programs are normally put into the subdirectory /boot/system/data/locale/catalogs.
For testing your software the catalog can be installed in /boot/home/config/non-packaged/data/locale/catalogs.

In one of the above directories should be a directory with x-vnd. folllowing by program name. looks like

x-vnd.listdir

In this directory you should put the catalog files. Here is an example to see what should be in the directoy:

/boot/home/config/non-packaged/data/locale/catalogs/x-vnd. >>>your app name<<<
en.catalog
de.catalog

The catalog files can generate with the yab-localizer. 


The dictionary contains the English term in paranthesis ("") some spaces as separator and the translated text in the target language in paranthesis too. Example: 

# A comment starts with a #
# English     German
"File"        "Datei"
"Quit"        "Beenden"
"This is a sentence."  "Dies ist ein Satz."

but looking at the catalog files of localizer it seems that these don’t follow this pattern, so I’ve probably misunderstood something.

I think I’ve solved the issue, I had to write a catkey and convert it to a catalog

1 Like

Some things,

first the program must be build with the buildfactory, otherwise it doesn’t work.

I change the program a little bit.

#! /bin/yab
LOCALIZE “x-vnd.zuMisKronoGyros”
print TRANSLATE$ ( “Select an item to get more infos about it” )
// mimetype “application/x-vnd.zuMisKronoGyros”

If you build the program with the buildfactory the ApplicationSignature must be same as the locale signature x-vnd.zuMisKronoGyros.

I change the system language to Italien before i test it.

I hope i can help you, on Beta4 i have some errors and must look why.

I tested it with HRev 56023 and yab 1.8.1.

i put the locale date in /boot/system/non-packaged/data/locale/catalogs/x-vnd.zuMisKronoGyros

The folder contains two files en.catalog and it.catalog

regards lorglas

2 Likes

As I wrote above I solved simply creating a catkey and converting it to a catalog, this works without flaws with the Italian and Spanish translations that I made, thanks anyway

3 Likes

But there is a problem with Friulian language; with its catkey , if it i export it to a catalog using your (previous) localizer or the command line it won’t work, my script prompts from the terminal

01234fur{2_random_chars_here}
NULL

But it I convert the same friulan translation file to a catalog pretending it’s italian (setting the system locale to Italian too) it works, my script prompts

01234it{this_time_no_random_chars}
OK

Any idea? Perhaps the yab localizing system cannot recognize languages with an id longer than 2 chars?