Translation of UI into Catalan #101830
Open
opened 2022-10-14 18:36:38 +02:00 by Joan Pujolar
·
101 comments
No Branch/Tag Specified
main
blender-v4.0-release
temp-sculpt-dyntopo
temp-sculpt-brush-channel
blender-v3.6-release
universal-scene-description
blender-v3.3-release
asset-browser-frontend-split
brush-assets-project
asset-shelf
anim/armature-drawing-refactor-3
temp-sculpt-dyntopo-hive-alloc
tmp-usd-python-mtl
tmp-usd-3.6
blender-v3.5-release
blender-projects-basics
blender-v2.93-release
temp-sculpt-attr-api
realtime-clock
sculpt-dev
gpencil-next
bevelv2
microfacet_hair
xr-dev
principled-v2
v3.6.4
v3.6.3
v3.3.11
v3.6.2
v3.3.10
v3.6.1
v3.3.9
v3.6.0
v3.3.8
v3.3.7
v2.93.18
v3.5.1
v3.3.6
v2.93.17
v3.5.0
v2.93.16
v3.3.5
v3.3.4
v2.93.15
v2.93.14
v3.3.3
v2.93.13
v2.93.12
v3.4.1
v3.3.2
v3.4.0
v3.3.1
v2.93.11
v3.3.0
v3.2.2
v2.93.10
v3.2.1
v3.2.0
v2.83.20
v2.93.9
v3.1.2
v3.1.1
v3.1.0
v2.83.19
v2.93.8
v3.0.1
v2.93.7
v3.0.0
v2.93.6
v2.93.5
v2.83.18
v2.93.4
v2.93.3
v2.83.17
v2.93.2
v2.93.1
v2.83.16
v2.93.0
v2.83.15
v2.83.14
v2.83.13
v2.92.0
v2.83.12
v2.91.2
v2.83.10
v2.91.0
v2.83.9
v2.83.8
v2.83.7
v2.90.1
v2.83.6.1
v2.83.6
v2.90.0
v2.83.5
v2.83.4
v2.83.3
v2.83.2
v2.83.1
v2.83
v2.82a
v2.82
v2.81a
v2.81
v2.80
v2.80-rc3
v2.80-rc2
v2.80-rc1
v2.79b
v2.79a
v2.79
v2.79-rc2
v2.79-rc1
v2.78c
v2.78b
v2.78a
v2.78
v2.78-rc2
v2.78-rc1
v2.77a
v2.77
v2.77-rc2
v2.77-rc1
v2.76b
v2.76a
v2.76
v2.76-rc3
v2.76-rc2
v2.76-rc1
v2.75a
v2.75
v2.75-rc2
v2.75-rc1
v2.74
v2.74-rc4
v2.74-rc3
v2.74-rc2
v2.74-rc1
v2.73a
v2.73
v2.73-rc1
v2.72b
2.72b
v2.72a
v2.72
v2.72-rc1
v2.71
v2.71-rc2
v2.71-rc1
v2.70a
v2.70
v2.70-rc2
v2.70-rc
v2.69
v2.68a
v2.68
v2.67b
v2.67a
v2.67
v2.66a
v2.66
v2.65a
v2.65
v2.64a
v2.64
v2.63a
v2.63
v2.61
v2.60a
v2.60
v2.59
v2.58a
v2.58
v2.57b
v2.57a
v2.57
v2.56a
v2.56
v2.55
v2.54
v2.53
v2.52
v2.51
v2.50
v2.49b
v2.49a
v2.49
v2.48a
v2.48
v2.47
v2.46
v2.45
v2.44
v2.43
v2.42a
v2.42
v2.41
v2.40
v2.37a
v2.37
v2.36
v2.35a
v2.35
v2.34
v2.33a
v2.33
v2.32
v2.31a
v2.31
v2.30
v2.28c
v2.28a
v2.28
v2.27
v2.26
v2.25
Labels
Clear labels
This issue affects/is about backward or forward compatibility
Issues relating to security: https://wiki.blender.org/wiki/Process/Vulnerability_Reports
Apply labels
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
This issue affects/is about backward or forward compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Issues relating to security: https://wiki.blender.org/wiki/Process/Vulnerability_Reports
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Set Project
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#101830
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
Dear colleagues,
I would like to be included as member of the #translations team(s) to work on the Catalan version of the UI.
I apollogize in advance if I post this in the wrong place. The instructions say that I should create a task and ask for this; but it seems that I can only access the "create task" functionality here. It seems that other members can create tasks elsewhere; but presently not me.
Best wishes,
Joan Pujolar
Added subscriber: @Joan-Pujolar
Added subscriber: @mont29
Added subscriber: @pioverfour
Hello @Joan-Pujolar, I believe you’re at the right place :)
@mont29 If someone is going to work on the Catalan localization, I’d like to clear all fuzzy messages from languages which have a suspiciously high number of them (
bg
,ca
,el
,fa
,he
,hi
,ne
,sv
andtr
) and are currently unmaintained. This should make working on localization more pleasant.I should have done it as part of #99798, but didn’t think of it. Any objection?
Added subscriber: @GabrielGazzan
'es_ES' (Spanish from Spain) should also be removed, as the strings put there (by myself) were just mirrored from the 'es' locale. i.e. there is no such thing as a proper 'es_ES' translation in there.
Dear colleagues,
Many thanks. I understand there needs to be some prep work to move forward with the Catalan translation? Let me know if I can be of help:
I also note this comment: "#99798: Catalan translation has many wrong meanings (making Blender unusable)." I suspect it means that whoever did the bits that are already done made term choices that are not clear for users. I have to say, I am not surprised. Blender's terminology is a real challenge. But I will love to hear about such previous experiences. If there are complaints stored, I'd love to consult them.
I do not understand what the problem with Spanish is. I know Spanish and I can be consulted on the matter. I thought the Spanish version was more advanced; though.
Joan
Be that as it may, I have interpreted that I need to learn how to use a "translation add-on". Is this correct? If so, this would be my next step. I am not in a hurry.
Joan
Why would the number of fuzzy messages be "suspicious", @mont29?
Strictly speaking no, but some cleanup could be done to make localization a bit more confortable, because at the moment in this language and a few others, many messages have an erroneous translation and are marked as “fuzzy”. This prevents the translation from appearing in the UI. It usually means that the translation has changed or the translator is not sure about it, but in this case it shouldn’t be used at all and the translation should simply be deleted. This is something that can easily be automated for all affected languages, so there isn’t anything you need to do.
This is the fuzzy issue I was referring to: the localization used to be bad because of a technical issue, not because of the previous translator. If you select the Catalan translation in Blender, you’ll see that it’s mostly in English now, instead of badly translated.
Again, this is still the same fuzzy issue. If you look at this list, you’ll see that several languages have a very high number of fuzzy messages (orange), compared to the actual number of translated messages (green). Those fuzzy messages should instead appear red (untranslated). Again, this is something that can be fixed with a script.
The Spanish translation (
es
) is one of the consistently maintained translations, and there is no particular issue with it. But there is another Spanish translation calledes_ES
(Spanish from Spain), which was never really translated or used, and is not even selectable in Blender. It’s not related to the Catalan translation, but since no one has ever been working on it and another translation exists in this language, Gabriel suggests it should be removed.Well, the add-on is not strictly needed for translators, but it does make things easier at the start. You’ll also need to know the basics of SVN, but you need to wait for Bastien’s reply anyway.
That's correct.
Spanish (es) translation has always been at 100% completion in every release since 2012 or so...
Spanish from Spain (es_ES), on the other hand, has never really existed; I found it at 3% and abandoned when I started working on Spanish (es) in 2011, and later on I decided to just copy/paste (es) onto (es_ES) just for the sake of not leaving it at 3%, but in the long run it didn't make any sense either, so it was disabled from Blender UI. That's why I now suggested to completely delete its files for good.
Anyways, I guess for some tricky terms Spanish translation (together with the French one) could serve as a source of inspiration/clues for Catalan translation.
Good luck! :)
Many thanks for all the clarifications. I contacted the guys who started the Catalan version a while ago and they mentioned that they had used an environment called Transifex. I understand that they used it because it made it easier for more volunteers to join. They offered me to access their files. Any comment about this?
I’m not speaking on behalf of the project as a whole, but my impression is that you may use Transifex or any other tool if you find it convenient, but it will not be supported by the Blender developers, so you need to learn by yourself how to update the translation from the .po file into Transifex, and back, basically every week. The Traditional Chinese team does or did this with another localization platform at one point.
If you’re going to be alone in translating, I think there is little benefit because it adds overhead to the process, but if you find yourself a team of translators, it may start making sense.
For your information, there was talk at some point (blender/documentation#68588) of using Weblate software to manage localization, but I believe that project has stalled for now.
Absolutely, I’ve referred to the Spanish translation a few times myself!
OK. I will need some hand guiding in this. I am not a programmer, so you will let me know if it is not reasonable to take up this task. Here my first questions as I try to set up things up before actually beginning to translate.
I have been able to find what you call the repositories (svn repository). I have downloaded the ca.po file from "branches". I see I can also copypaste the code. It is a very easy code to read. I can also see that Catalan is partly translated and that there are quite a few "fuzzy" notes.
Following instructions, I have investigated what the "subversion" software is. I have downloaded and installed SlikSVN in my machine (which is a Windows64). Here's my first set of doubts. SlikSVN has not created any conventional program icon. I only have a folder with a readme file and a pdf manual. By reading it, I have gathered that this program is a "version control" program. Now I am not sure I am the one who is supposed to control the versions of the relevant file.
I have also read about the translation add-on; but I prefer to wait before exploring this, as I understand that there are mainly two ways to work this out, and I prefer to hear your views before moving forward.
Note: at present I will not try to use Transifex or any other route that is not the customary one here.
Best,
Joan
Before proceeding any further I’d advise you to wait for Bastien to reply. He’s the module owner—developer in charge of—the translations at the Blender Foundation.
He’s the one who can grant access to the translations repository, so that people can contribute. Until then there is little you can do. He will probably read this on Monday.
I'll share how I do it, for what could be worth.
First of all, let me tell you that if I did this through all these years was because it was an easy process for me, with almost zero technical or burocratic overhead, since I'm also not a programmer and I usually don't have that many time to work on this.
I use Windows, so the tools for me were and are just these two:
So my process is as follows:
0. (One time operation) CONFIGURE a folder inside my drive to contain the Blender SVN repository files for all languages translations, including the one I will work on.
Note:
During the process of translation I usually check to see where and how the new/changed strings appear in the UI, for that I use the .mo file (that is generated automatically when saving the changes to the .po file), copying it into the appropriate directory in my Blender installation.
Usually: "Blender\3.4\datafiles\locale\es\LC_MESSAGES" (3.4 is the version number installed, and obviously changes with each new version)
I've set-up a simple script to do this automatically by just double clicking on it in the file browser.
So technically it's quite simple, and you just basically concentrate on your task.
I don't know what platform you are using, but I'm sure a similar procedure can be achieved in all of them.
Changed status from 'Needs Triage' to: 'Resolved'
Hi @Joan-Pujolar, and welcome. I added you to the #translations project, so you should be able to access the SVN repo very soon. :)
Thanks @GabrielGazzan . I think I will start again trying to follow your lead, see whether I get to the right place.
Best,
Joan
OK. I document here the steps I follow as a "dummy" status user, in case somebody detects I take some wrong or not-desirable path, and has patience enough to rescue me.
I stop here because things have gone somewhat differently as I interpreted in the instructions and in @GabrielGazzan's description. For instance, @GabrielGazzan describes a "commit" function in tortoisesvn and I do not see this function anywhere. So I wait to see if someone has the time and patiente to help here.
Best, Joan
@Joan-Pujolar
https://svn.blender.org/svnroot/bf-translations/branches
Awesome @gab3d.
I just follow on with my account. I think that I am alright now.
"You should create a new folder" I think that I initially misinterpreted that I had to create a folder from inside the Tortoisebrowser. So if someone reads the logs they will find that I created and deleted a folder in the "branches" folder in our repository. I understand that no harm will come of this.
So I created a folder in my regular "documents" folder with the windows file explorer as every schoolboy does. My folder is called cablender.
The in Tortoisebrowser I right clicked the "ca" (Catalan) folder, chose "checkout" and defined "cablender" as my checkout directory. The program has downloaded only "ca.po".
Tortoise has not downloaded all the folders in the branches repository, as you seem to say. Is this correct? I find it strange that I should download folders I am never going to use or commit. Maybe you do this to compare with other translations?
I have a further question of detail. The program "Poedit" shows a section called "notes for translators".
In this case I see these programming strings associated with the term to be translated. My question is: are these strings also going to be translated?
I am asking to make sure that no trouble arises at any stage with, say, accented characters or non-English characters (such as "ç") or 2 or 3-word translations.
Best, Joan
You shouldn’t be able to edit those strings through Poedit, and even if you did, it wouldn’t be a big deal, it would be fixed on the next branch update.
These strings are the source comments, and they’re very useful to know where the message is used. In this case, it tells you that the message is shared by various
is_valid
properties across Blender.That's right.
Yes, I download the other languages to be able to check them if I need to for any reason, but you can just download on the file you'll be working on, if you prefer to do so.
I don't really know what you mean when you say you are using the "Tortoisebrowser", Tortoise SVN is an app that integrates with Windows Explorer, and all of its functions are accesible from the Windows Explorer right click menu.
The 2 main ones you'll be using are: "SVN Update" and "SVN Commit..."
That's alright.
Good Luck! :)
All clear. Many thanks to everyone. I think I am all set now.
Dear Bastien @pioverfour
I contacted the people who run softcatala.org, the main hub of Catalan GNU software translators/localizators and they have convinced me to work somewhat differently, not on my own. The basic idea is a) to build on a number of earlier unfinished projects that sought to translate Blender but didn't make it, and b) to use the "transifex" environment.
So we have agreed on a work schedule that would consist of:
Does this sound acceptable to you? Let me know.
Joan
I will speak for myself only...
Using a collaborative working environment shouldn't be a problem, but I wouldn't trust automatic translations for many reasons.
The first one would be accuracy, and then there's also consistency.
Many automatic translation systems resolve term translation differently depending on the sentence context. And while this can be good and not generate major inconvenience for normal speaking/writing, this could lead to a lot of inconsistencies for such a technical thing as Blender.
For this to work smoothly I'd recommend you to progressively build a well defined glossary that allows you to (almost) always assign the same translation to a certain term. This is of course a bit flexible, because it's not uncommon to have two or more viable translations for a certain English word, depending on how it's used. But it should be you who decide when to use each. (Think of a tooltip that explains how to use a certain function... you must make sure the mention to that function name inside the tooltip uses the very same translation you used for the function name, not any of the alternative ones. Sometimes they mention other function names as well).
Finally, although it'd seem tempting to fill all of the pending strings with automatic translations, that'd leave you without any quick way to know whether a certain string is final or should be checked. (I mean, in case all the strings filled with these automatic translations were marked as completed).
If you could, instead, manage to leave them marked as fuzzy translations, then you could go checking and marking them as finished once you're sure they are right.
Although I may have technical or practical opinions about that, I’m just a volunteer, not part of the Blender Foundation so I can’t comment on the policy side of things.
However: if work has already been done and can be integrated into the newest version, of course that would be best, 12% is huge! This can be automated if you can get a .po file, let me know if you need assistance.
I agree with Gabriel about the machine translations: if you do it, it would be wise to mark those translations as “fuzzy”. It will help at the stage of human review and to prevent those messages from being used in production before review.
I’m convinced that having an online translation platform would make the barrier of entry for contributing a lot lower, and it has been discussed in the past (blender/documentation#68588). But right now this is not part of the standard workflow and unsupported.
If the people at softcatala have set it up already, I don’t see why it couldn’t be used, but this means you’ll have to handle integrating the changes back into Blender, and resolving conflicts which will occur, yourself. Nothing unsurmountable, but you will have to learn to use the GNU gettext
msgcat
utility (something likemsgcat --use-first ca.new.po ca.po -o ca.po
), as well as the Manage UI translations add-on for Blender, to update your branch again after merging and before committing.This is why we suggested before, that you get used to the standard workflow before going on to an online platform, and I still believe it would be the best strategy. But if you do feel confident, go ahead as far as I’m concerned!
Hello,
Thanks for responding so promptly.
Rest assured that I do not intend to simply let the automatic translation do the job. I intend to check everything. I simply reckon that it will help save time this way. It's how most professional translators work nowadays.
Thanks for the heads up with the other issues.
I will continue keeping everyone posted.
Joan
This is just an update and to simply show that I am alive.
I am working with the Catalan translation revising everything with transifex, both previous translations and automatically translated strings. It is a very complex translation conceptually. It is great fun. It is also very large; which means that it will take me a few months, probably one year, if I continue to work solo.
I will probably try to organize a commit in a month's time or so. At that point I will decide whether I go on with transifex or go back to my local tortoise vpn setup. I am not convinced with transifex, as I cannot use it in my mobile.
Do warn me if any change is brewing for the po files, though, as I do not know how I would handle it if this happend.
Thanks,
Joan
Hi Joan, it’s cool that you could start translating!
It is expected that such a big work should take months or years if done alone, no pressure.
What file did you start your translation from, the ca.po from current Blender, or the one from the former translators over at Transifex? If the latter, I’d advise you to update it from the current translation as soon as possible, because if you work from an outdated file you may translate messages which are no longer in Blender and therefore do some work for nothing.
Change is basically always brewing in the po files. Although it has been a few weeks since it was updated, I wouldn’t be surprised if it were some time next week, perhaps tomorrow. Updates should be expected to happen weekly.
Also be advised that Blender 3.4 should be released next month so make sure you integrate and test your translations in advance if you want them to be included in that release.
in past weeks there has been no updates to po files (I think because of Blender Conference), but usually po files are updated every monday.
so, I'd always commit before monday, no matter if there's little or lots of work done that week, so you make sure your work is safe.
Hello,
This is just meant as an update. I have been working with the Catalan translation pretty steadily in the Transifex environment. I have so far made it to a 10% of the entries, as I am also revising the previous translations, which were not ideal.
I keep in touch with the Softcatala group and I have proposed that I will do a commit when I get to 20%, probably around Christmas. They will help me to properly sort out the possible variations that the po file has undergone by then. From that moment on, I will probably abandon Transifex and do it the way most of you guys do it. Given that I work on my own and Transifex cannot be used with a mobile phone, I have concluded that there is no advantage in using it.
Best,
Joan
Hello,
I am in the process of setting up my local machine to work on the Catalan .po after having worked with Transifex for a few weeks. I am stuck with the update/commit procedure. Here's how it goes:
I updated the Transifex project by uploading the last .pot file this morning, then downloaded the .po from Transifex with the new translations (around 6500).
I firstly tried to copy the new .po locally over the one on my folder synchronized with /branches (ca); but this provokes a conflict when I try to commit.
I have then installed gettext on my Windows machin and run the "msgcat --use-first ca.new.po ca.po -o ca.po" command and I get "output file could not be created" due to "permission denied."
I know that the addresses are correct because I initially had a conflict with a folder that had an empty " " space in the name, which I replaced with a"_".
I have also tried to merge the file inside the synchronized folder and in another different folder; and I get the same no-result.
Any idea of what I may be doing wrong or what may be wrong?
Joan
Hello,
Under advice from colleagues I tried again by running the command prompt as administrator and now it has worked fine.
Could someone confirm that everything looks good with the Catalan ca.po file and I have not done anything wrong?
Joan
Hi, good job on translating so fast!
I noticed a few issues.
:src:
prefix. The translation will still work but the source are duplicated and not properly tracked by Blender’s i18n script. I could fix them by deleting all comments starting with#.
and updating the file again from Blender to regenerate them.msgstr "[Name]: Nom de la Variable de Resultat Arbitrari (AOV)"
. Is this intentional? I find it quite strange, and it can also be removed easily if not on purpose. But ignore this otherwise.Apart from that it looks good to me! Here is an updated file with the first point fixed, if you want to check the difference and commit that.
ca.po
Er. Many thanks, Damien. This is really kind.
But the thing is that I kept translating (now with poedit) for a long while after I committed today and now I cannot see how I could properly blend your fix and my translations.
Do you think you could rerun the comments' fix between now and tomorrow and commit it on the file directly in "/branches"? I trust you are right; so when you are done I will simply update my file.
I have just commited now again and I will not translate either today or tomorrow until I see your own commit. I have also kept a backup just in case.
(I will answer to the other issue at another stage not to clutter the discussion too much).
Joan
Sure, it doesn’t take too much time. I’m not even really sure it’s necessary, I just did it the first time to check that your translation worked and was properly up to date—which it pretty much was.
Many thanks. On your comment about having worked very fast. I have so far managed to translate about 20%. The rest was done by a neuronal translator, which is very good but - of course- blender is the nightmare scenario for any translation software. So I am actually translating over the "provisional translation". This saves me a lot of typing, so quite some time, but I would say that only about 20% of strings can be left untouched, although maybe 40% could be technically correct. So I reckon I may be really finished by next September.
I take it that you found time to correct the faulty src entries. 1000 Thanks! (At least, I see that they all seem OK now). So should I then understand that Transifex exports this incorrectly? Is that what happened, do you think? I should let folks in Catalonia know about it.
My understanding is that the format for some source comments can sometimes change when a message is new, and that it hadn’t been cleaned up when the file was imported to Transifex. So there may not really be an issue and I don’t think there is anything to warn about!
About the translation, I find it unfortunate that the messages which were machine-translated were not marked as fuzzy, as Gabriel and I suggested. (In Poedit, this is called “Translation Needs Work”.) This means that many bad translations will appear in several versions of Blender, until they are checked and fixed. It also means that there is no way to know if a message was already checked. If someone wants to join in the checking, they won’t know which areas to work on.
Hello Damien,
I apologize for the mistakes I make. I hope they eventually get fewer and fewer. I am saying this now in relation to the non-marking as fuzzy of the unchecked translations.
I wonder if there might be an easy way of doing it. I am check-translating following a numerical order of entries that I have seen is the same both in Transifex and poedit. I am not 100% sure of how this numerical order is generated, although my guess is that it simply follows the order found in the file. If so, we could decide to simply mark as fuzzy all entries from, say, 7500 onwards. 7500 is this one:
. :src: bpy.types.KeyMapItem.any
msgid "Any modifier keys pressed"
msgstr "Qualsevol tecla modificadora premuda"
By doing this, we would check as fuzzy some 200 entries that were previously checked many years ago; but some of these are no longer consistent with the solutions I am introducing now, so no real harm done.
I do not know how to write scripts myself, so the only way I can do it is by copypasting back and forth from MSWord, and using the conditional searches function. But I can imagine that you may not want to put your trust in this, so I wait for instructions.
Joan
What I would do is select all messages you want to mark as fuzzy in Poedit, and then go to Edit menu -> Translation Needs Work. You could then save and commit, this way no need for scripting.
But anyway don't take it the wrong way, this is just what I as a contributor believe is right, not some hard set rule!
Done it.
Dear colleagues,
I have come to the section of the po where we get to translate the info on keymaps. I was doing it as usual when a doubt visited me. Am I changing the actual keymap? Or worse: am I implying to users that there is a "Catalan keymap" when there is not going to be such thing? I hope you get what I mean with the screenshot.
I have an additional question. I understand that today the pot gets updated. Do all the po_s also get updated or each of us has to do the merge separately?
Best,
Joan
Hi @Joan-Pujolar , thanks for your work already, impressive.
These changes are fine, these are only UI strings, and are not affecting in any way the actual shortcuts. They are just the names used in UI for these specific keys on the keyboard.
Yes, all PO's in the
/branches
directory are also updated together with the files in/trunk
. So unless you have unmerged changes, you do not have to do anything special after a 'Monday update', just resume translation - and remember to commit your changes before the next Monday. ;)Hello @mont29 ,
As I move on with the Catalan translation I have gradually come to perceive that there may be a conceptual problem with the way in which operations involving **
angles
**are expressed in different places in the original English. It seems to me that sometimes the concept of "sharper" blends into the concept of "higher", which runs in contradiction with the fact that angles are encoded in degree numbers, which means that the sharper they are, then the lower the degree number in which they get expressed (I assume here just positive numbers not to make too fine a point).However, in entries 5491-5494 I run into what I suspect may have brought this tension to a head. The strings read:
Use Max 2D Angle
Split chains at points with angles larger than the maximum 2D angle
Use Min 2D Angle
Split chains at points with angles smaller than the minimum 2D angle
I suspect a similar problem in strings 9084-9085
Angle Limit
Only dissolve angles below this (planar only)
My guess is that "below" here means "less sharp", which means that the dissolve should happen with angles of "more degrees", not in the sharper ones. Am I right?
So are the explanatory hints here not saying the opposite of their intended meaning, or at least confusing users? Or is there something I am missing in these functionalities? I have seen that the EdgeSplit Modifier seems to (counterintuitively for me) split the angles less sharp than the figure entered. So I am not really sure.
Joan
@Joan-Pujolar
I think you are not reading the sentences in the intended sense.
They make no reference to the sharpness of angles, but to the magnitude of the values of those angles.
Here: "Only dissolve angles below this" ==> "Sólo disolver ángulos por debajo de este límite", so "below this" is "below this value" (i.e. an angle with magnitude below this value).
The same applies to the first examples:
"Split chains at points with angles larger than the maximum 2D angle" ==> "Divide las cadenas en puntos con ángulos mayores que el ángulo máximo 2D" (angles larger == angles of a larger magnitude). So for all angle values between the Min and Max limits (if both options were active), the chains will be continuous (no splits will occur).
At least that's how I interpret them, and is consistent with the options behavior as well.
Thanks, Gabriel, for clearing this up. I past here a couple of typos I found in the original version in case this can easily be corrected:
9311: How much of generated normals to mix with exiting ones (should say "existing")
10180 Nla Strips (instead of NLA Strips)
10181 Collection of Nla Strips (instead of NLA Strips)
10183 A animation layer containing Actions referenced as NLA strips (A -> An?)
Hi @Joan-Pujolar, thanks for reporting these! In the future, could you directly edit the Errors in English strings section of #43295? This makes it easier to centralize such issues, and allows doing many fixes at once instead of one by one.
Dear colleagues,
I am having an issue with my SVN setup. It requests me a username/password and I have tried all the ones that I could think of, and it doesn't work.
Any clue as to what might happen?
Best,
Joan
See here for how to set up an SVN password:
https://wiki.blender.org/wiki/Tools/Subversion#Commit_Access
Awesome. It works again!
A non-urgent query:
When you translate in the file order, you often work out where a string/label is going to turn up at the UI because you see the context, whether it is now the curves settings, or the mesh settings, etc...
Now, I am finding in the UI labels that seem to belong to other contexts. Basically because in Catalan you have to attend to gender, you have do decide whether given adjectives must be masculine or feminine (e.g. "random" = aleatori or aleatòria according to the nouns they are attached to). So I am finding labels with the wrong gender.
Is this because some labels are used in more than one context?
JOan
Exactly, by default every instance of a given message uses the same translation. “Contexts” need to be specified manually to get different translations from the same message.
The gender issue affects many languages and is known already, but it’s quite difficult to fix because the message context system in Blender is not really meant to allow such flexibility right now… Even if it were, every affected instance needs to be modified manually in the source code, and that takes time as well. Maybe some day!
What would help is noting down each message where gender needs to be disambiguated in the dedicated issue (#43295).
Thanks. What an awesome issue to address for people working in translation studies. As I am a linguist, I am utterly fascinated by how all this works here. I have to find time to check whether anybody has bothered to study such translation communities.
Catalan is peanuts. It only has two genders, and no cases. No differences between nominative and accusative and all the rest.
Well, today I made it half way into the whole translation. It is a kind of special day!
This is again non-urgent. I tried to set up the translation add-on. As a newbie I guess I am not interpreting well which directories I have to provide.
I have actually directed all the paths to the same (local) directory:
I18n Branches is C:\Users\joanp\Dropbox\13_Iniciatives\Blender_ca\blender_ca\ca\
Gettext 'msgfmt' executable is C:\Users\joanp\Dropbox\13_Iniciatives\Blender_ca\blender_ca\ca\ca.mo
Translation root is C:\Users\joanp\Dropbox\13_Iniciatives\Blender_ca\blender_ca\ca\ca.po
Persistent data path is also C:\Users\joanp\Dropbox\13_Iniciatives\Blender_ca\blender_ca\ca\ui_translate_settings.json
But when I try to edit the UI I get the message to be seen in the screenshot. I am not sure about this reference to a language 'ca_AD' either.
This is what mine looks like:

I have a query. Poedit is showing me these specially formatted elements. I mean the strings in blue color. So I have to understand that they mean that the strings should not be translated?
I don’t know why Poedit displays them in this colour, but in this instance anyway these shouldn’t be translated because they refer to specific XML tags from the Collada format. But I guess they could be followed by the translation in parentheses if that is useful to users.
I have one question of detail.
Should I read a different meaning in the variation between "Timecode" and "TimeCode"?
(Mark the uppercase C in the second)
Best,
Joan
Not as far as I know. In fact I’m pretty sure it should be either Time Code or Timecode, but not TimeCode.
The one use of “TimeCode” in the preferences definitely refers to the same thing as occurrences of Timecode.
This is a query:
I cannot quite imagine how I could figure this out on my own. In the long tip developing the funcion of "Pie menu on drag" [presently 25345] there is this explanation:
"Tapping Tilde in the 3D view for first person navigation, drag for view axes"
Now for the Tilde sign ~ to appear in the Catalan/Spanish keyboard, you have to do Alt-4 + Spacebar. I have tried to do this, and I see no change of navigation. So I am wondering whether the keymap gets automatically adapted to another combination, or whether the function is simply not available. I have also tried with the English keyboard and I have seen to results either.
Thanks
I think it’s actually hardcoded to “the key above the Tab key”, regardless of keyboard layout. Also, it looks like even in qwerty it’s not actually Tilde but Backtick, ` ?
It should get updated.
Alright, thanks. Then in Catalan and probably Spanish, it should be º I guess, the symbol named "grau", which means "degree". This is the one above the tab key without applying shift.
I can see that there is a label that says "closed" at the top of this thread; so I do not know whether I am inconveniencing people by posting all my queries here. I do not fully grasp how the translation team works across threads. So any indication will be welcome.
Anyway, the Catalan version is almost completed.
But I have another query about this family of terms:
GPencilStrokePoints
Rigidbody
VertexGroup
CustomGroup
CurveMapping does not own CurveMap
TextureMapping
MultipleStrokes
I understand that this is Blender speak in a way; but I am still not sure of how these terms should feature in a translation. My question is whether they are simply wordclusters created to save space, or whether they play a role for advanced users. At times, some of these terms seem to have a use in scripting as in:
GPencilStrokePoints.pop
VertexGroup.add()
One of my concerns is that English terminology remains easily accessible for users of the Catalan version without needing to toggle versions. Otherwise translations can become a hindrance. This is why I sometimes provide English equivalents in the tip chains.
In any case, I would welcome illuminations about the role of these clusters.
Best,
Joan
Hi Joan,
congrats on the lightning-fast translation!
About the issues, I don’t think there are any guidelines for where to discuss.
In my opinion, replying in this issue is fine even if it is closed. I find it better than opening new issues every time, because it gives less work to the triaging team.
People for whom the issue is no longer relevant can always unsubscribe to stop getting notifications.
About your question, here is my understanding of it, depending on context:
VertexGroup.add(): cannot be called while object is in edit mode
, it should never be modified because it is meant for scripters and a translation usually wouldn’t work.Hello,
For what is worth, I share my own reflections as I stumbled with contradictions and inconsistencies in my own translations of the term "edge".
To deal with the multiple uses of the term “edge” in Blender has probably been my most difficult challenge as translator. Mesh edges are just as fundamental elements of Blender as electrons and protons are to particle physics: so “edges” come up in literally hundreds of parameters in many contexts. However, po translating largely takes place without seeing the context. So it is quite disturbing to keep finding references to “edges” that are not really the lines between vertices, but quite many other things that one has to work out. I have found the word “edge” used with up to 10 other meanings. There are even some occurrences that seem simply wrong when bearing in mind the meaning of the term in common English (e.g. for the line created between the end-points of a stroke). I am prettu sure that this linguistic feature must also create significant difficulties for learners who seek to understand and retain in memoiry all the functions and parameters.
In this case, I would recommend those who decide in Blender to really consider the possibility of taking the decision to restrict the term to the fundamental element, as happens with the words “vertex” and “face” and many others that are only used in one sense.
I attach my analysis.
"Edge Split": what this modifier does is actually to rip a whole between faces, along sharp edges. If you add the modifier to a cube and apply it, then each face will be separated into its own island. So while it is related to angles, it is a topology operation and as such the geometric sense is more appropriate.
"Number of points by edge": this does not only apply to grease pencil rectangles, but also other primitives (arc, line, circle, etc.). But as far as I can tell this is never exposed in the UI. However, "Number of subdivision by edges" is, and it should probably read “Number of subdivisions per segment”.
"Use Creases / Use mesh crease information to sharpen edges or corners": here “corners” really means “vertices”. It is used in the subsurf modifier when vertices are creased. Original patch here.
"Buffer Edge Mode": “Buffer” here is the term for the digital representation of an image in memory. In this case it could be called simply an image.
Thanks for all the explanations. I will check everything again.
One thing. There are controls/parameters called "EdgeSplit" and others "Edge Split". Any difference I should know of? I had imagined that some of them applied to renders or visualizations and others to actual topologies. Am I right or totally off course?
The ones in camel case are used to name the modifiers and some other types of data.
I have checked the occurence of "EdgeSplit Modifier". In my PO it is now 9273.
9274 says "Edge splitting modifier to create sharp edges"
Now, in order for me to make sense of this, in the user manual, it says "Splitting an edge affects vertex normal generation at that edge, making the edge appear sharp. "
Is this what this means? That if you split edges, even without moving them at all, the visible angle between the faces remains topologically the same, but it looks sharper than other non-split angles because they get different normals and therefore smooting applies differently to them as opposed to other non-split edges? So "create" here does not mean something made anew, but something that gets differently read.
That it?
Joan
Ah, I thought you meant simply "EdgeSplit" (currently 30576), which is the default data name. But this "EdgeSplit Modifier", I don’t know where it’s used in the UI.
No, the topology definitely changes. Try adding an Edge Split modifier to a cube and look at the statistics: before, 8 vertices and 12 edges. After, 24 vertices and 24 edges. New vertices and edges were created by the modifier. However if the mesh has flat shading, they look the same because the new vertices and edges are exactly at the same place as the existing ones.
For a way to edit normals without changing topology, you’d use split normals.
Yes it separates faces where they meet at angles higher than the specified one, or optionally at edges marked as sharp.
Now I see I've translated it as the equivalent of "Divide Edges", perhaps not the best term to describe what it actually does (as there is no division of the original edges, but rather a duplication of them). Perhaps "Separar bordes" (something like Turn Edges Apart) should be better.
I am really thankful for your patiente, but I still do not get what it is meant by:
"Edge splitting modifier to create sharp edges"
In what sense is there a "creation" of "sharp" edges? If "creation" refers to the fact that edges get duplicated (hence newly created), why should the created ones be "sharp"?
In the "notes for translator's field" it says: :src: bpy.types.EdgeSplitModifier
I think I see what you mean: there is a confusion between edges in the topological sense (a line segment between two vertices) and the geometric and visual one (limit between two faces, across which the shading may change).
Edges are created in the first sense, but they are made sharp in the second sense.
Maybe the description should really read “Edge splitting modifier to make edges [look] sharp [by splitting them]”.
Aha!. Then I had guessed right. Thanks.
Hello,
I understand people are busy with a new release?
In any case, when you get the time, I would be grateful if somebody checked the Catalan po in Branches. I suspect I may have done a mixup with today's update of the pot because I did not expect it.
Joan
Hi Joan, yes, Blender 3.6 will be released next week: release cycle, milestones.
The .po files were updated using the wrong branch yesterday (the next-next Blender, 4.0 instead of next, 3.6). A new update happened today to use the correct 3.6 branch, but it looks like after that you reverted to the 4.0 branch. Perhaps you didn’t update SVN properly?
Whatever the reason, you can start again your fixes from the version: ca.po. I think it integrates all your recent changes, but double check to be sure.
Thanks. Yes, when I got the conflict warnings, I reverted to the earlier version because I saw it as the less time-consuming option, to just repeat the work I had done. I had not suspected this mixup with the Branches.
It seems all fine now. Best.
Hello,
I am revising the Catalan translation mainly to ensure coherence, and I have run into the concept "hull curve".
I have not found in the documentation any clarification of what this term means. I have come to suspect that "hull curves" is a generic term that includes Bézier, NURBS and hair curves (i.e. like "geometry" curves) as opposed to Function curves.
That it?
Best,
Joan
Hi Joan, “hull curve” is only used in the specific context of audio signals, in the Bake Sound to F-Curves operator. I couldn’t find exactly what it refers to from online searches, but from the context it is a curve which is an approximation of the sound to bake. I noticed that it uses the concepts of attack and release, which are used in the context of sound envelopes, particularly ADSR envelopes.
After investigation, the author of the tooltips for this operator is German (
de72ffa69b
), and sure enough, hull curve is how you call an envelope in German (Hüllkurve).So long story short, I’m almost sure that hull curves mean envelopes, which happen to translate to enveloppe in French, so that’s the translation I chose.
(I’ve already noted down to replace “hull curve” by “envelope” in the English source!)
Edit for the sake of honesty: actually the enveloppe translation was already in place before I started translating, I only came to the same conclusion later while trying to figure out the history of this wording.
In the context of NURBS curves and surfaces, where the curve or surface tends to the place of the control vertices (but never reach them), the "hull" is the shape defined by segments between those control vertices.
Awesome. Thanks to both.
Hello,
I get an error again when committing, I have tried to generate a token in https://projects.blender.org/user/settings/applications
I do something wrong. I enter "subversion" and I get the message "subversion has been used as an application name already. Please use a new one." I have tried "repo" and "subversion repo", and then I do get a token. But when I get the commit error, I go to "retry as different user" and no usernname/pasword combination seems to work.
What am I doing wrong?
Joan
Hi Joan, Bastien is in the process of migrating the entire translation system to git + Weblate.
Git will replace the SVN system to track changes, while Weblate will offer an online translation interface. He sent a message on the chat this morning to announce that the SVN repository was made read-only during the migration. I suppose this migration will be completed soon.
So we’ll have to abandon SVN, but the changes you have made can certainly be uploaded to Weblate once the system is entirely functional.
Sad news, SVN provided a simple way of interacting with the translation repository.
Git is a much more convoluted system that I can barely help to manage myself, not without many problems. 😓
Let's see what the future brings...
To be clear, there will be no direct interactions with git or any other repository anymore for translators. Everything will go through weblate.
FYI translate.blender.org is now officially up and running.
Feel free to log-in there, then request to be added as translators to be able to use the new weblate-based website.
Alright.
I have been able to access the Catalan version in Weblate, but I cannot work on it. I do not find the way of editing any chain. Neither I find how to get access to a project, or how to request such access. My user is Joan-Pujolar, if someone must grant me access.
I wonder if I could have the last version of my po uploaded, as I was working on it yesterday and I am the only one in Catalan,
I think that something is wrong with the weblate interface. I have logged in with both Firefox and Chrome and many items are only visible when I hoover the mouse over them. So it may be that the menus to request access are simply not properly visible due to a glitch.
Thanks.
@Joan-Pujolar As explained, an admin needs to add you as translator on weblate. Just done it, you should be able to edit the translations now.
Hi @mont29
Ok, thanks for the clarification. That brings me peace of mind.
I've just tried the system and it seems to be something for normal people. :)
I found the interface a little heavy, but I have yet to try the "zen" mode.
One question that arises though is how can I download the current .po or .mo file for local testing purposes (I usually test some of the translated strings to see if they fit well in the UI), for this I should be able to download a .mo file or a .po file (and compile it myself into a .mo)
Thanks!
@GabrielGazzan You can download files (POs only, not MOs) from the
Files
menu on top of the UI (e.g. for Spanish of Blender UI: https://translate.blender.org/download/blender-ui/ui/es/ ).You can also download MOs directly by going to Files > Customize download > All strings, converted files enriched with comments; suitable for offline translation > gettext MO, or https://translate.blender.org/download/blender-ui/ui/es/?format=mo. But it takes much more time, probably because the MO file has to be compiled.
Thanks @mont29 and @pioverfour with that I think I can work as usual.
👍
Everytime I enter a term in the glossary it seems to duplicate it. For what I see, this is a glitch of the weblate interface. In the glossary itself, things appear to be fine.
So far I have been able to access again the UI project, and I also have access to the (Catalan) glossaries and manual projects.
I am wondering if there is a way to upload info via standard files, csv and the like. I could upload a pretty big glossary; but I will probably not have the time to do it manually one by one. I do not have access to these menus mentioned above, the "file/download" and all, I guess this must be a level two of access.
I have also found a glitch in the "checking" procedure. With % varialbes, at least in Catalan, the machine expects the next word to start with the same character. This can't be right. See screenshot. It treats "% de" as incorrect, expecting an "o" to come after %"
Does it still appear duplicated when you reload the page?
The way I found was to download the glossary (
blender-ui-glossary-<lang>.tbx
), then copy and paste the section that looks like this as many times as I need new terms:From there I can replace the second and third line contents (i. e.
anti-aliasing
andanticrénelage
), and reupload the file. The File Upload Mode setting needs to be set to Add new strings. If any string already exists, you can also upload it again, this time selecting “Add as translation”.If you can add translations, I think you have the same permission level as me. I am part of the Viewers, Users, and Translators teams. You can see which teams you’re part of by going to your user settings in the top right corner, then the Teams tab.
Don’t you see the menus when you are in the Catalan glossary?
The error didn’t appear in French because it was already translated, but I modified it just to test, and the same error happens.
This is because the
C format
check is enforced, meaning that Weblate will issue an error if a format string is detected to have changed during translation. In this case, the string should not be flagged asc-format
in the String information, Flags section. It looks like all strings are erroneously marked asc-format
, and I believe only admins can change ths setting.FYI created #112513 to keep track of the C-format issue. Will disable the global enforced check in weblate for the time being.