Latest FOG 0.33b
-
All,
I’m currently implementing, in my own processing of methods, a form of templates of all the text that needs translating. With this, it has given me a great amount of insight in how to build the menu’s and submenus. I’ve been able to create much smaller codes to deal with the actual generation of the menu items and sub menu items, as well as notes.
My thought here, is to have all required translatable text in one file for easy modification/addition as necessary. The langauages folder still does all the tasks, but this, in the future, could be easily switched.
Just giving some insight into what I’m trying to accomplish at the moment. Right now it’s just in testing as I still have to add all the needed menu items.
Bare with me on this though. Is it the best? I don’t know yet, but it seems to process things much faster than the original methods as everything text related is stored in variables, which means it’s quick to access.
-
Turning all the text into variables loaded from a file is probably the easiest way to do the translation.
The language setting determines the file it reads and as long as the variables correspond it should work.
as long as a translation is available it’s easy to add… and you may get things done slightly faster/with less processing power if the same variable is used multiple times.
Do you think the pxe menu will be as easy to translate?
Having an option where the pxe image displays but doesn’t display unless you push a certain set of keys would be useful as well.
Sometimes people see the custom logo and start pushing buttons and then wonder why their PC doesn’t boot. No matter how many times you tell them to let the PC boot up they will bash things anyway… -
You could setup hidemenu which is on the PXE Boot Menu page from FOG Configuration the ? symbol.
At least they don’t start bashing things away as they just need to wait for it to boot.
The PXE menu should be easy to translate, if and when you setup using this same option. The text is ready for gettext translation, so long as we have a corresponding po/mo file in the proper directory with the proper information, the text would be translated before being written to the file.
With my rewrites, translation will be, ultimately, broken, until we get the files recreated. That’s part of why I’m trying to limit the translated need of words. Currently the FOG Web page requires 1414 translations. But there are a lot of double taps, such as:
Snapin Updated!
Host Updated!
Group Updated!If we use Snapin, Host, and Group as individual variables:
$this->foglang[‘Group’] = _(‘Group’)
$this->foglang[‘Host’] = _(‘Host’)
$this->foglang[‘Snapin’] = _(‘Snapin’)Then call the Updated! part as:
$this->foglang[‘MsgUpdated’] = _(‘%s Updated!’)
Then, on the corresponding pages, you call the things as:
sprintf($this->foglang[‘MsgUpdated’],$this->foglang[‘Group’])
This sounds like it’s more work, but it means, one file contains all the text. Changes are made that much easier. Translating is still difficult as it still requires a translated form of the original message, but I can pass one file around, that I know contains the text, that needs to be translated.
I could do that with a .pot file as well, but generating the file may come up with some erroneous tags as it needs to search all files with the entire fog web directory.
With this updated model, I just need to point it at the text file and have it go.
-
The only problem could occur if certain languages have differences and you want a ‘perfect’ translation.
Having ‘Group’ next to ‘Updated’ may work in one situation but not another. One language may need Updated before group or something else. But the question is… is having translations that may be slightly interesting, but understandable ‘Good Enough’?
Has there been any discussion with chuck about a freeze for a release? Adding in translatability is a big job re-writing basically every file to include variables. It’s been 2 Years 5 Months since 0.32 was released and it would be nice to get something stable on the site so that more people can benefit from fog.
-
r1053 relased.
Gives us the preliminary bits as I’ve described above. The only pages this makes direct changes to, so far, is Dashboard, and the Menu (Main and Sub) menu structures.
I know it won’t be perfect, but please test it.
Thank you,
-
Just in the middle of a test run… Storage set to max clients 1 but now 6 are running simultaneously. down to 62MB/M on one VM
Client hasn’t changed a hostname yet either.
I’ve tried manually running the client, increasing ram on the client PC, manually restarting the service. nothing working at all.
Will leave the test to complete and check hostnames after they’ve sat for a while… see if any of them do anything.
-
Hostname is done early by default, meaning before the system reboots after a deploy task. If it’s not changed maybe there’s another issue that needs to be looked at. The other worry of mine is the queued client status. I may need to request your fog servers apache error log when the tasks are running to see what errors are being spit at us.
-
OK, Can it be changed to use the fog client again? I will also need the Active Directory Join part of that as well. Changing early might be nice but seems like it’s building a feature that FOG already has, unless there will be some other way to join AD in FOG and do all of the other nice features in the client.
If you want access I can PM you the details you need.
-
Join ad still works fine. The hostname changer was added to make imaging that little bit faster. However you can turn off the early feature within the fog configuration fog settings hostname_early bit.
-
In your test setups does the rename early work as expected?
-
Vincent,
It looks like it is imaging and changing the name as expected. Though I suspect, if you’re imaging from Registration Scripts this will not work. There was a problem, that even I didn’t know existed, until I looked deeper into the code and tried finding everything that was needed.
My next revision should address this for us all.
r1054 addresses this.
-
When I setup, I pre-stage all the host’s MAC addresses into fog. I then add them to a group and start the deploy task using the group. The only thing I do on the client machine is turn it on.
This matches how I setup my production setup where we used the DHCP leases to identify the MAC of every PC and then had one of the trainees set the PCs to PXE boot. When we buy new machines, the MAC is written on the box so I enter those as well and as soon as they are unpacked and plugged in… they run the task that I created for them.
I will nuke my Debian FOG server and remake it with r1054 and try again.
-
You don’t need to nuke to go to the latest. Just perform an update. Basically, download the latest and greatest. Then re-run the bin/installfog.sh script. It will automatically update everything for you. As I haven’t made any changes to the Schema, Database information should remain in-tact.
-
It seems that the buttons on the GUI are missing… possibly something to do with the new language stuff.
When I installed I selected not to install language packs.[ATTACH=full]464[/ATTACH]
[url=“/_imported_xf_attachments/0/464_GUIMissing.png?:”]GUIMissing.png[/url]
-
Try it again. I noticed that issue as well. Updated the files to fix the issue. You should be good to go.
r1055.
-
since your adding the internationalization… would you recommend selecting the language packs or going without?
-
Go without for now. The packs its referring to as far as I can tell is dealing with stdout not the web stuff.
-
still got the same issue downloaded about 5 minutes ago.
-
What does your error logs say?
-
Vincent,
I’m looking into this issue, and installing debian and then installing the fog server. Hopefully I’ll replicate your results and give a better answer and fix this issue for all of us.