Search Unity

Translate all game in one button

Discussion in 'Assets and Asset Store' started by Orion_78, Sep 5, 2017.

  1. Orion_78

    Orion_78

    Joined:
    Feb 13, 2014
    Posts:
    66
    Hi everyone,

    I am working on a translation tool, soon available in the asset store.
    • One button:
      • Scan all your enabled scenes, grab your current text in the given language (English, French, whatever you set), then automatic Google translate them in all Unity system Language and you can start your translated game right away!
    • See the result in editor in one click.
    • Edit your own translation in the editor or in the generated xml file
    • Some more might come here...

    Feel free for any questions. I will do my best to answer.

    - When will it be release ? When it is ready... So right Now !
    https://assetstore.unity.com/packages/tools/localization/one-click-localization-full-auto-109818
     
    Last edited: May 13, 2019
  2. Orion_78

    Orion_78

    Joined:
    Feb 13, 2014
    Posts:
    66
    As part of the One button Localization work in progress, here is what I found to execute coroutine while in editor :
    Code (csharp):
    1.  
    2. [InitializeOnLoad]
    3. public class EasyLocalization_Script
    4. {
    5. // This is my callable function
    6. public static IEnumerator StartCoroutine(IEnumerator newCorou)
    7. {
    8. CoroutineInProgress.Add(newCorou);
    9. return newCorou;
    10. }
    11.  
    12. /// <summary>
    13. /// Coroutine to execute. Manage by the EasyLocalization_script
    14. /// </summary>
    15. private static List<IEnumerator> CoroutineInProgress = new List<IEnumerator>();
    16. private static EasyLocalization_Script()
    17. {
    18. EditorApplication.update += ExecuteCoroutine;
    19. }
    20.  
    21. static int currentExecute = 0;
    22. private static void ExecuteCoroutine()
    23. {
    24. if (CoroutineInProgress.Count <= 0)
    25. {
    26. // Debug.LogWarning("ping");
    27. return;
    28. }
    29.  
    30. // Debug.LogWarning("exec");
    31.  
    32. currentExecute = (currentExecute + 1) % CoroutineInProgress.Count;
    33.  
    34. bool finish = !CoroutineInProgress[currentExecute].MoveNext();
    35.  
    36. if (finish)
    37. {
    38. CoroutineInProgress.RemoveAt(currentExecute);
    39. }
    40. }
    41.  
    42. }
    43.  
     
    Last edited: Jan 19, 2018
  3. Orion_78

    Orion_78

    Joined:
    Feb 13, 2014
    Posts:
    66
  4. Orion_78

    Orion_78

    Joined:
    Feb 13, 2014
    Posts:
    66
    Last edited: Jan 19, 2018
  5. Orion_78

    Orion_78

    Joined:
    Feb 13, 2014
    Posts:
    66