Comments (17)
Hi @jraddaoui This sounds good. I should start working on it in the second half of next week.
Thanks for following up so quickly.
from scope.
Hi @jraddaoui 3 hours is fine for me. Let's do it.
from scope.
16h -> To setup Django i18n and fix current strings. This doesn't include internationalization of data tables, only GUI messages.
from scope.
I've deployed the internationalization setup in the test instance. Some notes about it:
Language menu
As you can see, there is a submit button inside it that you need to click to change the language. I tried to avoid it but Django requires to send the language change as a POST request. To avoid the submit button and be able to change the language just by clicking in a drop-down link would require to add some Javascript to trigger the POST request or to overwrite the default Django language change view. Please, let me know if that's important for you and I'll estimate the time required to do so.
Messages file
The French messages file is located in:
https://github.com/CCA-Public/dip-access-interface/blob/master/accesspoc/locale/fr/LC_MESSAGES/django.po
Ideally, we'd add the translations directly in this repository over that file and create a PR to merge the translations until a service like Transifex is implemented. Of course, if that's not possible, I could send you the file and add it to the repository once I get it back with the translations.
To detail a little more the translations process:
- When changes are made over the sorce code, a CLI command should be executed to update the translations files (
./manage.py makemessages
from theaccesspoc
folder). - Translators are notified to update the French messages file.
- When translators are working on the messages file, the CLI command should not be executed until their translations are merged, to avoid conflicts on the messages files.
- The translations are merged in the repository.
That's why it's important that we know when the translators are working on the messages, to avoid running the command until their changes are merged, and a visible PR will help with that. I think I'm currently the only making those kind of changes, so notifying me could be enough for now.
Please, let me know if you need more information.
from scope.
Tagging my colleague @mireilleN who will be working on the French translations.
@bunekcca -- Do you have an opinion about the UI for the Submit button on the internationalization menu? Should we get a time estimate to fix it?
@jraddaoui -- So if I'm understanding correctly, we can directly edit the French messages file and add French strings until Transifex is implemented? Is there a time in particular that is usually good for you, maybe late-afternoon?
from scope.
Hi @jraddaoui
In an ideal world, the user wouldn't need to click on the submit button to switch. Could you estimate the time you'd need to change it ?
Have a good day.
from scope.
@jraddaoui Hi! I'll be working on the French translation for Scope. I helped a little with Archivematica French translation last year so I'm familiar with this type of work, and I already have an account on Transifex if you'd prefer for us to work this way.
Otherwise, if I understand correctly, I would simply Edit https://github.com/CCA-Public/dip-access-interface/blob/master/accesspoc/locale/fr/LC_MESSAGES/django.po And then make a PR?
If this is right, how do you want me to integrate the text within the elements? As a new element of msgid or within the "" of the msgstr below each msgid?
Thanks and looking forward working with you on this project.
from scope.
@stefanabreitwieser and @bunekcca, 3 hours should be enough to remove the submit button, replace the radio buttons with normal drop-down links and add Javascript code to send the POST request with the required data on link click. Other small style changes, like using the language code capitalized instead of the globe icon, could be addressed in #64, without affecting that estimate.
Hi @mireilleN! Glad to hear that you'll be working on the French translations. Right now, without having some tasks developed to push and fetch the messages from Transifex, and specially if you're going to be the only one working on the translations, using Transifex will require some extra work to do that manually, and it may also have some costs. I think that making the translation directly in here makes more sense in this stage of the project.
A PR would be great, I'll not update the messages files until you're "done" and that PR is merged, we can do that in chunks to avoid having a lot of changes at the end, when the messages files are regenerated with the updates in the source code.
You should only add the translations in the French messages file, translating the msgid
strings within the "" of the msgstr
bellow. If you want to make changes over the English strings inside msgid
, they need to be done over the source code and regenerate the messages files. If you ping me in the PR you're working to do so, I could make those changes and regenerate the files.
Please, don't hesitate to ask me if you need something else.
from scope.
Hi @bunekcca, the language drop-down changes are ready for review in the test site.
from scope.
The French messages file has been updated in test site with the changes from #81. There was an issue with a few strings in the home and FAQ pages, which won't appear translated until the next round of translation. There are also some strings added to the messages files in recent work that won't appear translated either. More info in #81.
It may be better to leave this open and test it latter in September, but if you switch languages, you should see a lot of translations already.
from scope.
Hi @jraddaoui ,
I noticed that some texts are not in french yet on the test site:
Could we have them translated for the demo on Wednesday?
Have a good day.
from scope.
Hi @bunekcca -- these will be fixed with Mireille's translations, which were completed on Friday. (You'll notice plenty of English on other parts of the site as well.) Once Radda incorporates her pull request in the demo version, it should be fine. Thanks!
from scope.
Hi @bunekcca and @stefanabreitwieser,
Some of the initial translations are missing due to a bad formatting in the templates on my end. I merged a few hours ago the latest translations added by @mireilleN in #109, which should fix that issue and add a few more French strings.
I'm waiting for approval on #104 to see if I can deploy both changes at the same time. And, as I noted in #81, a few more translations will be needed after that for the new strings added into the settings page.
Best regards.
from scope.
Hi @bunekcca, @stefanabreitwieser,
The latest translations were sent by @mireilleN via email and all the interface should be translated now, including the settings page added in #7.
from scope.
Hi @jraddaoui
It looks great ! Thanks.
from scope.
Mireille mentioned she might do a quick review of her translations, but I'm really happy with how this deployment looks. Thanks Radda!!
from scope.
Thanks @jraddaoui, this is great!
from scope.
Related Issues (20)
- Show 403 (HTTP Forbidden) page when the user doesn't have enough permissions
- Allow Folder creation with DIPs in tar format
- UX: buttons to validate value selection in the dropdown lists HOT 8
- UX: button to reset all filters HOT 5
- UI: values in the dropdown sorted by alphabetical order HOT 1
- Validate Markdown content
- Add new type of user
- Upgrade django to version 2.1.11 or later HOT 1
- Merge scope and dips core apps into scope HOT 2
- Problem: can't declare Storage Service hosts in uppercase
- Use DC relation field to relate Folders to Collections on DIP upload HOT 1
- DIP import fails for DIPs with updated metadata
- Problem: the DIP import process is sometimes executed twice, failing on the second run HOT 1
- Support Elasticsearch 7.x HOT 2
- Upgrade Django to 3.x
- Problem: Difficulties running sessions between SCOPE and Archivematica Django apps on the same domain
- Problem: Performing deletion requires a package identifier but the user might not be aware of it on clicking the option
- Problem: There may be a breaking JQuery change affecting collapse/expansion of user-interface components HOT 2
- Problem: Doesn't handle Dublin Core (DC) repeating fields correctly
- Problem: Dockerfile fails to build due to missing packages HOT 1
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.
from scope.