Calling All Translators!
Thursday, April 7, 2011 4:01:52 AM
- Download this build of Tab Vault.
- Extract it somewhere so you can work on it.
- In the locales folder, make a copy of the "en" folder and rename it to the correct abbreviation for your locale. See here for more information and here for the full list of locale tags.
- Drag "config.xml" from the root directory of the extension onto Opera to install Tab Vault in developer mode. (Make sure you create the locale directory first or you may have to restart Opera to get it to recognize the new locale)
- Translate the files in the locales folder. Make sure the translations work. Make sure my localization code works too, as I've apparently been pretty inconsistent in making everything localizable.
- Send me the translated files (not all the files, just the ones you translated).
The files you need to translate are:
- help.html - The help page. This is a lot to translate, so I don't blame you if you skip this one.
- locale-help.css - Two more things you need to translate for the help page.
- locale-misc.js - A few strings string to translate, and a couple settings for getting things to look right. If the text at the top of the popup doesn't fit, you can increase the minimum popup width. If the little triangles under "Tabs" and "Trash" don't line up under the center of the text, you can adjust those left and right too.
- locale-options.js - Translations for the options page, upgrade page, and the header and footer of the help page.
- locale-dropdown.js - Translations for the popup. (formerly locale-popup.js)
- locales/locales.js - This makes your translation show up in the options page. This doesn't go inside your locale folder but one level above it. (I will update this myself, so you don't need to send me this file)
In the JavaScript files, just translate the quoted strings. In the help file, comments mark the start and end of where you should translate. Press ~ (tilde) at the options page to get links to the upgrade page and the help page with the first-time message.
Though I recently made it possible to switch languages without a reload, Opera will not reload some translation files until you reload the extension. You can reload the extension by pressing Ctrl+Shift+E to open the extension manager, then clicking the "Reload" button under Tab Vault.
In locales.js, simply add a new LocaleDef item to the locales array. This makes you language appear in the options page. It should look like this:
new LocaleDef('language code', 'Name of language', 'Localized name of "default" language'), If you do translate the help file, change "LocalizedHelp" in your locale-misc.js to "true".
All strings in the JavaScript files will be inserted as HTML, so you can use HTML entities and tags if necessary.
If translations are missing, messages will show up in the error console (Ctrl+O) when you visit the page that uses them. Missing strings will appear in red as "loc:StringName" so you can find them within the translation files. Ask in the comments if you have any questions or run into any problems. Thanks!
October 16, 2011: Updated the translation package to 2.4.
Later, October 16, 2011: Fixed a couple bugs and changed how duplicate removal works. The updated package is up now.
December 11, 2011: Updated the package again. This update adds searching with Ctrl+F and one more string, Search, in locale-popup.js. This is the placeholder text for when the search box is unfocused.
January 13, 2011: Updated the translation package to 2.4.1. The list of languages in the options page is now generated by locales/locales.js. Now you just need to update locales.js to get your language to appear in the options page.
April 6, 2012: Updated the translation package to 2.5 alpha. I renamed locale-popup.js to locale-dropdown.js because of problems with some people's content blockers. Missing strings will now show up as the name of the string you should translate. There are a lot of backend changes in this version to prepare for Opera 12.00, so please tell me if you find any bugs.
May 2, 2012: Updated the package again. The help file should be mostly working now.
June 18, 2012: Version 2.5 is ready to be submitted. There is one more string to translate.
June 28, 2012: So it turns out 2.5 wasn't ready to be submitted. It should be now. There is another string to translate.
Changes in 2.5
locale-options.js
- + FeatherweightIcon (line 44)
- + MiddleClickOpenCurrent (line 52)
- changed Language (line 56. The extension no longer needs to be restarted to change languages.)
- + ConfirmResetSettings (line 81. I don't know how I missed these until now.)
- + ConfirmResetTabs (line 82)
- + ConfirmResetAll (line 83)
- changed HelpLink (line 96)
locale-dropdown.js
- + CxSaveGroup (line 48. This appears in the "Save Tab" context menu, but only if the current tab is part of a group.)
I think I fixed all the help pages for the various translations, but I might have broken something.
Changes in 2.5 b2
locale-options.js
- + OpenNextToActive (line 24)
Translation Status:
Dutch (by Nino van den Bosch) - Needs new strings for 2.4, 2.5a, 2.5b
French by David - Needs CxSaveGroup and OpenNextToActive strings
German (by FreebirthOne and philflip and Otto Wasserfeldt) - Needs OpenNextToActive string
Greek (by Andreas Patman) - Needs new strings for 2.4, 2.5a, 2.5b
Georgian (by Beqa Arabuli) - Needs new strings for 2.5a, 2.5b
Italian (by Dark Revenger) - Needs new strings for 2.4, 2.5a, 2.5b
Polish (by Saskatchewan) - Needs OpenNextToActive string
Portuguese (by Ilidio) - Needs new strings for 2.4, 2.5a, 2.5b
Russian (by Dmitry Kochev) - Needs new strings for 2.5a, 2.5b
Serbian (by shobra) - Needs Search string, strings for 2.5a, 2.5b
Spanish (by Juan) - Needs new strings for 2.3, 2.4, 2.5a, 2.5b
Turkish (by metude) - Needs new strings for 2.4, 2.5a, 2.5b








1 2 3 Next »
metude # Thursday, April 7, 2011 9:28:51 AM
I'm on it.
Joel Spadinspadija # Thursday, April 7, 2011 1:46:53 PM
Edit: I just added an option to disable UI animation, so there's another string to translate for locale-options.js. Just add this line:
metude # Thursday, April 7, 2011 8:54:48 PM
Originally posted by spadija:
metude # Friday, April 8, 2011 12:35:27 PM
ANSI was mading trouble with ğ, ü, İ, ç, ö etc.
and last 40 line for Turkish version...
metude # Friday, April 8, 2011 1:12:45 PM
Now I'm testing it but there's some a problem.
1. http://prntscr.com/1pwik
Width should increase.
2.
should write like this.
I fixed this in my translation.
Here is translated files for Turkish (Türkçe).
http://files.myopera.com/metude/deleteable/tr-tabvault-2.1.zip
Joel Spadinspadija # Friday, April 8, 2011 2:50:39 PM
There's a setting in locale-misc.js to increase the minimum width of the popup. I guess I didn't make it clear, but the popup won't resize itself automatically.
Thanks for catching my capitalization mistake, and thank you for the translation!
metude # Friday, April 8, 2011 9:10:59 PM
Originally posted by spadija:
http://ditoinfo.wordpress.com/2007/02/26/netbeans-and-utf8-encoding-2/
Originally posted by spadija:
I know it. But increased by default will be more good.
Juanjrezola # Saturday, April 9, 2011 5:55:39 AM
Joel Spadinspadija # Saturday, April 9, 2011 6:43:04 PM
@metude: Thanks for the tip with UTF-8. The default width is small, because that's the width the popup needs to be for English.
metude # Saturday, April 9, 2011 6:53:27 PM
@Joel Can i ask a off-topic question? Is netbeans useufull for html-css works?
Ilidioilidiomartins # Saturday, April 9, 2011 9:24:41 PM
http://clientes.netvisao.pt/ijosemar/TabVault/TabVault-pt.zip
(pt - everything but the help file too)
Joel Spadinspadija # Sunday, April 10, 2011 12:24:35 AM
@metude: It's not perfect, but I think it's good for html and css. 7.0 beta doesn't fully understand some HTML5 things, but it's pretty helpful otherwise.
Ilidioilidiomartins # Sunday, April 10, 2011 12:32:34 PM
http://files.myopera.com/spadija/extensions/TabVault.oex
Originally posted by metude:
FreebirthOne # Monday, April 11, 2011 12:35:02 AM
I think I've watched to many Doctor Who 2005 episodes in to little time; sorry for that
Back to topic:
1. I translated the extension into German (my mother tongue) including the help and all (excluding the pictures; I didn't know how to get this one into the locales). I kinda played a bit with the original text, hopefully the changes aren't to bad. For me it works
2. I added a bit more localization, to name it:
* Message when dragging a tab over the Trash link
* message when tab is not saveable
* message when tab cannot be opened in current page
To get to know how just read the changes.txt in the root directory of the archive.
3. Bug fixed: in the file "options.css" the item "collapsible.resize" missed a leading period
4. Possible Bug found: THe "DropToOpen" message does not appear any more, even after a complete wipe of the extension. Happened to work in the beginning, and I've got no idea what I did to change that.
The archive is available from http://files.myopera.com/FreebirthOne/files/tabvault_freebirth_one.zip
Joel Spadinspadija # Monday, April 11, 2011 3:59:09 AM
I think the help images are going to have to stay untranslated for now. It seems that only things in the root folder (and maybe the includes folder too) of a locale will override the default files. I think they are generic enough to be understandable even if you can't read them though.
The "DropToOpen" message not appearing is due to an Opera bug. More specifically, if the page contains an iframe, when the background process tries to tell the page to display the message, Opera actually notifies the iframe instead of the main page. There are workarounds, but they're slow and involve notifying every page instead of just the focused one. Instead of trying to deal with that, I'm just going to wait for Opera to finish the work they're doing on the tabs and windows API.
Saskatchewan # Monday, April 11, 2011 10:48:57 AM
One question from me: where can I see "<Unused>" in the UI? Because I don't know how to translate it.
Things I noticed:
- TrashOnOpen option doesn't work for me;
- while importing the session, "Importing..." is displayed in English;
- "Finish Editing Group Name", IMO, should be as simple as: "Save", "OK", or similar;
- UpgradeFail1: 'Whoops! Something wen\'t wrong. (or you have a really slow computer)', - should be "Something went wrong (or you have a really slow computer).';
- UpgradeMessage: (...) '(look at your tabs. It should be open next to this one) If the upgrade fails, '- small "l" in "look" and missed dot after "this one".
FreebirthOne # Monday, April 11, 2011 11:18:05 AM
Ah, thanks for the explaination about DropToOpen. I was getting nuts about this. So lets sit and wait.
@Saskatchewan:
Stab in the dark: 'unused' is, well, unused?
FreebirthOne # Monday, April 11, 2011 8:49:24 PM
Originally posted by Saskatchewan:
Ah yes, I found that one, too. Fixed it in my Version of the extension. Now theres a new entry in locale-options.js reading 'ImportWorking'. Change this to your liking. As before, changes are entioned in changes.txt.
THe Fixed extension is available from http://files.myopera.com/FreebirthOne/files/tabvault_fb1_version_0.2.zip
metude, Juan, Ilidio and Saskatchewan: there will be aanother entry to translate
Joel Spadinspadija # Tuesday, April 12, 2011 8:19:14 PM
Thanks for catching another thing I missed. I should probably go over everything once more. There are going to be even more things to translate soon, since I want to add middle-click to open, context menus, and a way to make buttons or keyboard shortcuts to control Tab Vault.
Joel Spadinspadija # Thursday, April 14, 2011 6:39:05 AM
Saskatchewan # Thursday, April 14, 2011 11:36:54 AM
Joel Spadinspadija # Friday, April 15, 2011 5:00:46 AM
@FreebirthOne The ImportWorking translation was there all along, I just forgot to attach it to anything.
Saskatchewan # Friday, April 15, 2011 6:04:13 AM
Edit: Wow! Nice idea for keyboard shortcuts, and custom buttons
One more question: will "External Access" do something more than give access for buttons and shortcuts/gestures? I think that it will be more self-explanatory if I translate it like "Buttons and shortcuts".
Joel Spadinspadija # Friday, April 15, 2011 2:49:32 PM
With the current plural implementation, it reads as many sections as it's given and maps them to numbers like this "0 | 1 | 2 | 3 | 4 | 5+" using the last one for all greater numbers. If I understand your explanation correctly, the forms loop every 10? Do 5, 15, 25, 35... all have the same form? How about 0 and 10?
Saskatchewan # Friday, April 15, 2011 6:49:13 PM
Originally posted by spadija:
Oh, I get it. I think that in this case there is no need to bother. I was especially concerned about 2, 3 and 4.Originally posted by spadija:
Yes they do. 0 and 10 have same form as 5 and more.In Polish it looks like this:
- 0 - first form;
- 1 - second form;
- 2, 3, 4 - third form;
- 5 and more - first form (with an exception: if number is greater than 20 and ends in 2, 3, or 4, it takes the third form);
Joel Spadinspadija # Friday, April 15, 2011 8:28:17 PM
It wouldn't be too difficult to program, though it might be confusing to translators. Would that system work better, or is the current one good enough?
Ilidioilidiomartins # Saturday, April 16, 2011 3:04:52 AM
http://clientes.netvisao.pt/ijosemar/TabVault/TabVault-pt.zip
(pt - everything but the help file too)
Saskatchewan # Saturday, April 16, 2011 8:49:15 AM
P.S. I found a better way to explain it
I've found one typo in my previous version. I will keep updating files if I find more of them. You may always find the newest version here: http://files.myopera.com/Saskatchewan/widget/TabVault.zip .
drosah # Saturday, April 16, 2011 9:18:03 PM
Ilidioilidiomartins # Saturday, April 16, 2011 10:07:19 PM
Joel Spadinspadija # Sunday, April 17, 2011 5:16:44 PM
Language: 'Language (requires restart)'
Ilidioilidiomartins # Sunday, April 17, 2011 5:25:41 PM
Language: 'Tradução (precisa da reinicialização)'
Joel Spadinspadija # Monday, April 18, 2011 2:43:38 PM
Saskatchewan # Monday, April 18, 2011 4:08:20 PM
Language: 'Język (wymaga ponownego uruchomienia)'
FreebirthOne # Wednesday, April 20, 2011 10:17:07 PM
Nevertheless, a very good extension is just getting better
Joel Spadinspadija # Thursday, April 21, 2011 2:04:25 AM
FreebirthOne # Friday, April 22, 2011 6:17:29 PM
FreebirthOne # Tuesday, April 26, 2011 8:56:38 PM
C'Ya
FB1
--> http://files.myopera.com/FreebirthOne/files/locales_de_2.2.3.zip
FreebirthOne # Tuesday, April 26, 2011 9:19:04 PM
In "locales-misc" you can insert a new default width for your popup. Even so this is working as expected, the Options page is always showing the minimum value (250) at first. After channging this value it remains changed, even here.
So: the new default value is correctly set but not saved localy, so the minimum value is taken (or wherever it is taken from:)).
Any Idea where to fix?
Joel Spadinspadija # Wednesday, April 27, 2011 12:59:43 AM
I suppose I could reset the popup width option to the minimum value every time you change the language.
Joel Spadinspadija # Friday, May 6, 2011 5:30:25 AM
metude # Friday, May 6, 2011 2:00:17 PM
Originally posted by spadija:
kochev # Thursday, May 12, 2011 5:26:01 PM
Pictures (from help) in russian: http://files.myopera.com/kochev/tabvault/ru_pic_2.2.zip
(P.S. Name for credits - Dmitry Kochev).
kochev # Friday, June 3, 2011 8:17:46 AM
And it is a grammar mistake in options.html footer:
"Russion localization" -> "Russian localization"
Joel Spadinspadija # Friday, June 3, 2011 5:33:36 PM
metude # Friday, June 3, 2011 8:12:59 PM
Ilidioilidiomartins # Monday, June 6, 2011 12:39:13 AM
FreebirthOne # Monday, June 6, 2011 2:12:00 PM
I have to look when I've got to translate. I'll announce it here
Joel Spadinspadija # Thursday, June 9, 2011 10:50:53 PM
Ilidioilidiomartins # Thursday, June 9, 2011 11:53:13 PM
Originally posted by spadija:
Here is part of my 2.3 portuguese translation:
// Context Menus
CxOpen: 'Abrir num novo separador',
CxOpenBackground: 'Abrir num novo separador num fundo',
CxOpenAndDelete: 'Abrir num novo separador, e remover',
CxOpenBkgAndDelete: 'Abrir num novo separador num fundo, e remover',
CxOpenAll: 'Abrir todos os separadores',
CxOpenAllBackground: 'Abrir todos os separadores no fundo',
CxCreateGroup: 'Criar grupo',
CxSaveToGroup: 'Adicionar o separador actual aqui',
CxUngroup: 'Desagroupar',
CxReloadIcon: 'Actualizar ícone',
CxRename: 'Renomear',
CxDelete: 'Remover',
CxSaveCurrent: 'Guardar separador currente',
CxSaveAsGroup: 'Guardar separador num novo grupo',
CxSaveAll: 'Guardar todos os separadores',
CxSaveWindow: 'Guardar separadores nesta janela',
CxSaveDomain: 'Guardar separadores neste domínio',
CxRestore: 'Recuperar',
CxDeletePerm: 'Remover permanentemente',
(locale-popup.js)