belocalized's People
belocalized's Issues
Add feature to only add new strings from an en.catkeys file
Ease updating of already translated catkeys with a newer en.catkeys file. For example:
Add a menu with an item "Update from..." that opens a file panel for the user to choose an updated en.catkeys file. Compare the original strings in the new en.catkeys file with the ones in the old translated catkeys file. Add the newly added files to the translated catkeys, as well as the new fingerprint ID in the first line of the file.
Now unused strings in the translated catkeys should be marked as such, not simply removed. The original string might only have changed a little and the already translated contents could be reused.
When closing the CatKeysEditor, the user should be asked if the unused strings should be removed.
Missing translation strings
There are a few translation for strings missing in the menu bar.
Garbage at file tail
Sometimes CatKeysEditor leaves garbage at the end of the file.
Error on starting
If i want to open a catkey file and forget where it was, the app doesn't go back if i click on cancel.
The app is closed. And if i selected another file, i get an error Message (which are correct) and then the app was closed.
Then if start the app again, i go automaticly to the open file dialog, an i can do nothing.
Add a status view
Above the list of strings at the top, there's space for a status view. It could look like this:
Total: 100 / 328
Translated: 25 / 180
With the format "strings / words".
Hide Translated filter
The Hide Translated filter is incorrectly hiding untranslated text. Error is in TranslationView::_Filter(TranslationUnit *unit), here is the correction:
diff --git a/shared/TranslationView.cpp b/shared/TranslationView.cpp index d5d394f..651baed 100644 --- a/shared/TranslationView.cpp +++ b/shared/TranslationView.cpp @@ -178,7 +178,7 @@ TranslationView::_Filter(TranslationUnit *unit) BString translated = unit->Translated(); BString text = unit->Source(); BString searchText = mSearchControl->Text(); - if (mHideTranslated && (translated.Length() > 0 || translated == text)) + if (mHideTranslated && translated.Length() > 0 && translated != text) return false; if (text.IFindFirst(searchText) < 0 && translated.IFindFirst(searchText) < 0)
Easier translation by selecting the text which should be translated
Hitting Enter after translating a string saves it and loads the next one, which is good!
The focus is set before the new loaded string.
I find it useful (tried it already) when the whole text of the translation view is selected.
The original text is always visible on the left.
Will do a pr. I am translating much faster now, as deleting the old string isn't necessary anymore.
CatKeysEditor is not using Locale Kit classes to read/write catkeys.
The Locale Kit has some support for editing catalogs:
http://cgit.haiku-os.org/haiku/tree/headers/private/locale/EditableCatalog.h
Maybe this should be used instead of custom code. This would add the following features:
- Loading of binary catalog files in the tool instead of just catkeys
- Saving of binary catalog files or other formats
- Making sure all the escaping possibilities are handled (", \ and \x don't seem to be processed in the current code)
Maybe the Haiku API is too limited, in that case it could be extended to support more features.
Manage the set of catkeys of an app
Currently, CatKeysEditor only works with one catkeys file and knows nothing about any other.
Would be nice to manage all catkeys of an app:
- Update all translations if the en.catkeys change
- Create a new catkeys file when starting a new language
- Handle backups of old strings. To be used somehow if the en.catkeys strings have only changed slightly. Right now that removes the string completely and it has to be re-translated. Maybe that change hasn't even impacted the translation...
- and so on...
Use a BColumnListView for list of strings
Use a BColumnListView for the top list of strings with the columns:
- Status
- Comment
- Context
- Original string
The Status shows if a string is translated or not, (or is obsolete see #17 ).
The Comment field indicate if a string has a comment.
We can use UTF characters for those.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.