How to add new translation of interface to non-UK language
Pages: 1 2
Raik (463) 2061 posts |
Have uploaded what I have ready. Is the complete skeleton app. Only the German translation is a real one. |
Steve Drain (222) 1620 posts |
@Raik I have had a look and I can appreciate how much you have achieved, but I cannot help feeling that is still trapped within the constraints of the Territory system. A request: While I was doing my little LangRes yesterday I found that some of the later BASIC errors had not been translated in the source. 1 I mentioned earlier that I had thrown some stuff at Google translate for my Region work, just to ‘look right’ in different languages. So, today I have taken the errors straight out of the UK Messages file and translated them, but I have no idea how they read to a native. Do these seem ok? # Google Translate E115:Schlechte FP-Präzision E116:Schlechte Bildschirmtiefe E117:END= nicht erlaubt innerhalb von DIM LOCAL E118:%0 kann nicht als VFP/NEON-Gleitkomma-Direktkonstante dargestellt werden. Der nächste geeignete Gleitkommawert ist %1 E119: Interne VFP-Fehlanpassung E120:VFP-Skalar-Offset außerhalb des Bereichs E121:VFP-Skalar darf sich in der Registerliste nicht ändern E122:Zu viele Register in der Liste E123: Label/Offset muss wortausgerichtet sein E124:Ungültige Rechenoperation # Original English E115:Bad FP precision E116:Bad screen depth E117:END= not allowed within DIM LOCAL E118:%0 cannot be represented as a VFP/NEON floating point immediate constant. Nearest suitable floating point value is %1 E119:VFP internal mismatch E120:VFP scalar offset out of range E121:VFP scalar must not change in register list E122:Too many registers in list E123:Label/offset must be word aligned E124:Invalid arithmetic operation 1 This was actually a bit more complicated, because the German BASIC Messages has not been updated to include the errors, so I had to hunt them down in the remnants of BASICTrans. |
Stuart Swales (8827) 1357 posts |
@Raik: Had a play this morning – looks promising. Boot needs to set Territory$Dir I did get an ‘Unknown variable at line 210’ (in German) in the TConfig app, but can’t reproduce it. Is there a hard-wired reference to $.!Territory somewhere in your system or is that the one that’s hard-wired into RISC OS? I have a system with multiple !Boot directories tucked away in subdirectories, that I can edit a $.!Boot obey file to refer to a particular one for testing on a vanilla system or development environment, and so would like a !Territory in each of them. It might be best for !Territory to sit alongside the !Boot directory rather than in $ so refer to <Boot$Dir>.^.!Territory ? Filer dialogue box captions aren’t translated. We are somewhat hampered by RISC OS’ all-or-nothing approach in how resources are expected to be loaded. If a new string is added to any application’s/module’s Messages/Res/Templates, it makes life difficult downstream. [In Fireworkz for Windows, I have the UK English resources bound to the executable, loading country-specific resources (DLLs) as needed. But if I can’t find the resource in the loaded DLL, I can always fall back to the one in the executable.] Aside: Having spotted the ‘Switzerland’ territory that’s available in Raik’s bundle, it immediately sprang to mind that’s a really dumb thing. Yet here we have it in PRM5a: “The following extra countries are supported from RISC OS 3.5 onwards: … Switzerland” having previously stated in PRM3: “For example, to properly support the whole of Switzerland you would need a separate territory for each of the languages used.” :-) |
Raik (463) 2061 posts |
Sorry I’m a bit busy this weekend. I try to answer, but will be a short one. @Steve @Stuart
Line 210 is PROCopenwindow. And open the window from template. Maybe the app_dir$ is not sert right if you try to use without restart.
The way is described in the BonusBinDev/zip.HardDisc4.Modules.Territories.ReadMe/txt.
Where? I’m “operational blind”.
Is the same for Austria. The modules are not in the ROOL BonusBinDev. Read inside the “30” and “35” folder. This are dummys and fall back to “7”. |
Raik (463) 2061 posts |
I forget. You can use !Territory as an App. In Choices.Territory you find setter. Set the territory-variable. The variable is needed to find the right folder in Territory. If this variable is set and !Territory was seen by the filer, you can start it from every place, every time. So you can alse change the translation “on the fly”… |
Stuart Swales (8827) 1357 posts |
I think it’d be easier if you tested for the existence of the
|
Raik (463) 2061 posts |
One point for you… ;-) |
Steve Drain (222) 1620 posts |
So I do. Google Translate looks to me as though it does a decent job, but everything has to be checked by a native, which is the big problem. I was surprised how well it dealt with tokens and keywords. The Switzerland territory illustrates perfectly the big limitation of the Territory method. |
Stuart Swales (8827) 1357 posts |
I will put it in the small pile of points that I have accrued over the years – they are all cherished.
Amusingly, we paid for a professional translation of PipeDream 3 (software and manuals) to German, but got some criticism from German Germans as our translator was a Swiss German! I’ve found Google Translate to be a big help. Edit: I just tried with !Territory alongside my !Boot in a subdirectory having used the tool to configure Territory 7. Think that it’s one of the RISC OS modules that then fails on reboot, preventing startup, trying to load files from |
Raik (463) 2061 posts |
The Datafile is loades by the module Messages2. My mistake. The module search the file in $.!Territory… I’m back to standard and forget :-( I have try from a subfolder. The only mistake is that no messages will be add to RessourceFS. Not fine but no bigger problems. Can you describe your boot process? I not really understand … |
Stuart Swales (8827) 1357 posts |
Here we are: Trying to load resources from file $.!Territory.7.Resources.trl00052900 Loading resources from file $.!Territory.7.Resources.trl00050000 FAILED File not found I have the !Boot folder, Apps etc. and now !Territory in a subfolder, let’s say iMX6-Dev. I have a $.!Boot Obey file which Runs $.iMX6-Dev.!Boot |
Raik (463) 2061 posts |
Is Messages2. Will take a look to sourcecode. But as I wrote, this weekend there is not enough sparetime. Your boot seems pretty special and not standard. How should I be prepared for that? |
Stuart Swales (8827) 1357 posts |
Thanks for looking anyhow. Don’t bother too much with my setup – I doubt many other will be doing similar. |
Raik (463) 2061 posts |
Please try this version. Remove the old one from !Territory.Modules and use the new one. “$.!Territory” is changed to “<territory$dir>”. Territory-var must be set. |
Stuart Swales (8827) 1357 posts |
That one’s a winner – seems to work as I’d hoped. Thanks! |
Steve Drain (222) 1620 posts |
Since I posted that a week ago I have been having merry time seeing what is needed to use it. After a lot of fiddling I have got a semi-automatic process for translating all the ResourceFS Messages and Res files at one go. I have left out the !Help files, and Templates await something that will export and import their text. I have bundled this up with a manual summarising the process in LangRes , which includes a module to translate into French. This is still very much a work in progress, with the likelihood of many errors, and I cannot comment on the suitability of the translation, but I would be very interested to know what anyone thinks. LangRes operates entirely separately from the Territory mechanism. |
Pages: 1 2