Updated 035 Translation Mananger in JCB explained (markdown)

Amigo 2019-07-24 09:08:22 +02:00
parent d619f1796c
commit 2c0cd670de

@ -48,16 +48,23 @@ What is the function of the multi language string implementation? It searches th
### Adding Language Back To Component
[00:09:13](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m13s)
<<<<<<<<<<<<<<<<<<<<<
We can now start adding them back into the component. And that's really what this part is doing. [00:09:19](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m19s) It just adding it into the component. Let's go back to the user interface to see this in action. I'm going to compile a component, any component, let's say this document manager. While I'm compiling it, keep in mind it will be running through, and grabbing all the English strings, then eventually will check this [00:09:47](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m47s) Language translation table, whether those strings exist. If they do, they've been translated. It compiles it, and it does most of the work for you.
Now it can be added back into the component. That is what this(See video) part is doing. [00:09:19](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m19s) Return to the user interface to see this in action. I am going to compile a component, any component, for instance this(See video) document manager. While compiling it, keep in mind that it will be running through, and grabbing all the English strings, then eventually will check this Language translation table, whether those strings exist. If they do, they have been translated. It compiles it, and most of the work is done for you.
### How Purging Works
The question has been asked: What if [00:10:09](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m09s) you've changed some fields, name or some description, and that other description, that old English string is no longer being used, what then? Well at the moment it will be purged. Now the purging works as follow. [00:10:29](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m29s) When it discovers that a string is no longer being used by a component, we can go in the code and I can show you that. It asks the question: Is another component still using it? If another component is using it, it simply removes the current component from the string [00:10:55](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m55s) and then it goes on, it doesn't remove it. If no other component is using it, let's say no other component is any longer linked to the string, then it checks whether there has been any work done in it? Has there been translation done? It's quite a huge job to do translation, so we figured if you've done it you wouldn't want to delete it. [00:11:22](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m22s)
[00:10:05](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m05s)
The question has been asked: What if some fields is changed , name or some description, and that other description, that old English string is no longer being used ? Well at the moment it will be purged. Now the purging works as follow. [00:10:29](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m29s) When it discovers that a string is no longer being used by a component, (it can be seen in the code) it asks the question: Is another component still using it? If another component is using it, it simply removes the current component from the string and then it goes on, it does not remove it. [00:11:00](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m00s) If no other component is using it, let's say no other component is any longer linked to the string, then it checks whether there has been any work done in it? Has there been translation done? It is quite a huge job to do translation, and should preferably not deleted.
* ### Move Strings From Published To Archived State
So what we will do then, as we archive the string, we move it from the published state to the archived state. You can go to archives and then there see all the strings that no longer are actively linked to a component, but has translations in it. If it does not have any translation, as you've seen it's not link to a component and it does not have translation, [00:11:48](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m48s) then we remove the string from the database. These are the two functions to remove the string completely. It's like it never was there in the first place. And so that is how the purge works at the moment. It only purges that which is no longer linked, neither has any work done in it.
[00:11:22](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m22s)
So this is what needs to be done: As the string is archived, it gets moved from the published state to the archived state. In the archives may be seen all the strings that no longer are actively linked to a component, but has translations in it. If it does not have any translation, it is not linked to a component and it does not have translation, then the string may be removed from the database. [00:11:48](https://www.youtube.com/watch?v=zzAcVkn_cWU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m48s)(See video) These are the two functions to remove the string completely. It is like it never was there in the first place. That is how the purge works at the moment. It only purges that which is no longer linked, neither has any work done in it. <<<<<<<<
### New Translation Tab