Giter Club home page Giter Club logo

android-studio-plugin's People

Contributors

andrii-bodnar avatar frombetelgeuse avatar gowrishankar04 avatar ihor-popyk avatar ihorpopyk avatar imnirdst avatar indra057 avatar jivjen avatar konpach avatar manish-singh-bisht avatar picimako avatar sakshi-75 avatar sivasuriyankumarasamy avatar yevheniyj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-studio-plugin's Issues

we use with branch with \ / : * ? " > |

Describe the bug

Branch name can't contain any of the following characters: \ / : * ? " > |

To Reproduce

In my project, we are using git with branch tree like :

main :
-- feature/bOne/1.0.0
-- release/bOne/0.0.1

Environment:

  1. Android Studio Flamingo | 2022.2.1 Patch 2
  2. Ubuntu 23.04

In debug

2023-07-06 10:44:53.832 ERROR : java.lang.RuntimeException: Branch name can't contain any of the following characters: \ / : * ? " > | at com.crowdin.util.ActionUtils.getBranchName(ActionUtils.java:14) at com.crowdin.ui.action.RefreshTranslationProgressAction.performInBackground(RefreshTranslationProgressAction.java:79) at com.crowdin.action.BackgroundAction$1.run(BackgroundAction.java:31) at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:442) at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$5(CoreProgressManager.java:493) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:252) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:252) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:833)

Release 1.3.1

Is your feature request related to a problem? Please describe.
Seems like there is an improved error wrapper in code already. Our plugin has stopped working in December and I would love to fix the integration, but without any error logging it's impossible.

Describe the solution you'd like
Please release the new version that has better error logging.

Configure auto upload

Hi, we are trying out the new Crowdin plugin. As it's really easy to setup it would be great if the auto-upload could be turned off some way. It's for example not convenient to upload the strings.xml every time a developer switches branches.

Allow for the Personal Access Token outside crowdin.properties

Is your feature request related to a problem? Please describe.
The Crowdin documentation says to treat the personal access token like a password, yet the Android Studio plugin (and all the integrations) tell you to put it in a crowdin.properties file which in all likelihood will get checked into git.

Describe the solution you'd like
There's a few alternatives.

  1. Allow for folks to store their personal access token in the plugin in Android Studio.
  2. Create a profile system in the home directory with some way of storing different profiles (e.g. a ~/.crowdin folder or file with ways of storing each project personal access token).
  3. Add a path field in the crowdin.properties file for a place to store the personal access token that points outside the project.

Download translations doesn't work on version 1.1.0

After upgrading to version 1.1.0, when I try to download translations, the message "Crowdin: Translations successfully downloaded" appears, but translations are not downloaded.
On version 1.0.0 everything works fine.

Error downloading translations

Hi,
yesterday it worked fine. But today when I try to download translations I always get just this error:
"Downloading transactions failed"

This error is not very helpful, I have no idea what goes wrong or how I can find out what the error is.
Any help? Thanks!

Unable to make plugin work with project sharing iOS and Android sources

project-id=<CORRECT-ID>
api-token=<CORRECT-TOKEN>
disable-branches=true
preserve-hierarchy=true
files.source=common/src/main/res/values/strings.xml
files.translation=common/src/main/res/values-%two_letters_code%/%original_file_name%
debug=true
image

I have managed to run upload sources successfully.

On trying to download translations:

The translations for the following sources will be ommited: - /strings.xml The translations with unfound sources: - /hi/Localizable.strings - /pl/Localizable.strings - /en/Localizable.strings - /lt/Localizable.strings - /uk/Localizable.strings - /pt-BR/Localizable.strings - /zh-CN/Localizable.strings - /th/Localizable.strings - /fi/Localizable.strings - /ja/Localizable.strings - /it/Localizable.strings - /lv/Localizable.strings - /et/Localizable.strings - /en-GB/Localizable.strings - /ka/Localizable.strings - /sl/Localizable.strings - /sv-SE/Localizable.strings - /fr/Localizable.strings - /hr/Localizable.strings - /de/Localizable.strings - /es-ES/Localizable.strings - /ru/Localizable.strings - /ro/Localizable.strings

It tries to handle iOS translations for some reason. I don't mind the warning, but it actually does not download the Android ones.

I am managing the Android project only and don't care about the iOS transactions for now.

It always download translation into a new folder all1321421....

Describe the bug
I've tried many configuration for target translation file. Like this :
files.source=**/values/strings.xml files.translation=**/values-%two_letters_code%/strings.xml

Expected behavior
I expect the translation file should be put in the right folder of android project. (app/src/main/res/values-en/strings.xml).

Screenshots
image

Is it your expectation? or I missed anything? Could you help explain please?

Errors in configuration file

Describe the bug
Even though I wrote the translation and source values ​​as required in the config file, I get the error that they could not be found.

my config file like that(file name crowdin.yml):

files:
  - source: '/api/src/main/resources/locales/en_US.yml'
  - translation: '/api/src/main/resources/locales/%locale_with_underscore%.%file_extension%'
project_id: '1111'
api_token: 'xxxx'

error image
image

[help] avoid/ignore a directory

Hey, thanks a lot for this very useful plugin!

Since 1.0.0 (or 1.1.0 maybe), when I "Download Translations" from "Tools -> Crowdin", some translation files get deleted in a subdirectory of my repository. This is actually a git submodule containing translation files. The submodule source file was not uploaded to the Crowdin project. Those translation files have nothing to do with my project 😁.

Here is my crowdin.properties:

project-id=
api-token=
disable-branches=true
auto-upload=false

I guess I could use files.source and files.translation but I just want to keep default behaviour for my actual translation files.

I just want Crowdin plugin to ignore the subdirectory. Is there a way to do that?

[config question] Files for different app flavours

Hello,
I have an app with two different flavour and each one has a localised name. I'm trying to setup the plugin to sync with the files I currently have in my crowdin project, but I'm having some issue understanding what's the right setup for my case.

The files are in these folders:
projectName/app/src/main/res/values/strings.xml
projectName/app/src/main/res/values/app_name.xml
projectName/app/src/flavourA/res/app_name.xml

I'm using the plugin version 1.1.0 and this is what I have for the first two files (main folder)

files.source=/values/strings.xml
files.translation=/values-%android_code%/%original_file_name%
files.1.source=/values/app_name.xml
files.1.translation=/values-%android_code%/%original_file_name%

What's the correct setup for the app_name.xml file in the flavourA folder?

I don't know if the settings in the website count, but I wasn't able to get the right path from that either: if I build&download, I get this structure
projectName/values-xx/strings.xml
projectName/values-xx/app_name.xml
projectName/xx/flavourA/app_name.xml
The last one is always wrong, no matter the tree or settings (expected projectName/flavourA/values-xx/app_name.xml)

If I upload from the plugin, should I expect the uploaded files to match the ones I already have in crowdin? I mean, if uploading from the plugin changes the tree in crowdin, will I lose all the translations?

Thank you.

All options in settings file crowdin.properties

Here i want to ask about all the options that i can configure it in crowdin.properites

project-id
api-token
preserve-hierarchy
auto-upload

files.source
files.translation

No more options ?

cannot add a target language for translation for each file.source ?

best Regards,
Nouha.

Support multiple modules

The plugin was build with the expectancy of only one module per project. If a project has multiple submodules, each with their own string data, downloading the strings will aggregate it all to one of the submodules.

Example:

If you have

a/src/main/java/res/values/strings_a.xml

and

b/src/main/java/res/values/strings_b.xml

downloading them may put them both under b/src/main/java/res/values/

Easiest way to fix this is to store the absolute path as you send it (or at the very least, search through the subdirectory to locate the named file to figure out where it is). The latter may not support multiple modules with the same file name (strings.xml), but it's a start.

Add custom directory to source file

Is there a way to add custom file directory for the crowdin plugin?
The Crowdin plugin only seems to be checking for the source files under {MainProject|/res/values/customstrings.xml
The issue is, my source file is located inside {MainProject}/assets/language/customstrings.xml

This is my current crowdin.properties configuration, but it does nothing
project-identifier=testproj
project-key=abc
sources={MainProject}/assets/language/customstrings.xml
disable-branches=true
auto-upload=false

This seems to work, but only when the customstrings.xml file is under res/values
project-identifier=testproj
project-key=abc
sources=customstrings.xml
disable-branches=true
auto-upload=false

Version 1.6.2 breaks auto-completion

Describe the bug
Version 1.6.2 breaks auto-completion!

To Reproduce

  1. Update to version 1.6.2
  2. Restart Android Studio

Environment:

  1. Android Studio Giraffe | 2022.3.1 Patch 2
  2. Ubuntu

Expected behavior
Auto-completion keeps working, obviously.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context

Run the plugin in Debug mode and provide an extended log.
To enable Debug mode add debug=true to the crowdin.properties file.

Error from server:  , Message: Unrecognized field "excludeCodeBlocks" (class com.crowdin.client.sourcefiles.model.OtherFileImportOptions), not marked as ignorable (2 known properties: "contentSegmentation", "customSegmentation"]) at [Source: (String)"{"contentSegmentation":true,"customSegmentation":false,"excludeCodeBlocks":false,"excludedFrontMatterElements":[]}"; line: 1, column: 81] (through reference chain: com.crowdin.client.sourcefiles.model.FileInfoResponseList["data"]->java.util.ArrayList[1]->com.crowdin.client.sourcefiles.model.FileResponseObject["data"]->com.crowdin.client.sourcefiles.model.File["importOptions"]->com.crowdin.client.sourcefiles.model.OtherFileImportOptions["excludeCodeBlocks"])>

Add the ability to use different crowdin.properties for different flavors

I have several flavors in a project and want to use a separate project in crowdin for each flavor. But now i can't specify several crowdin.properties in one project. The same issue may be in case, when using several application modules.

Can the plugin grab the crowdin.properties file depending on the flavor selected?
If no, can we define several properties in root folder (like crowdin-flavor1.properties, crowdin-flavor2.properties) and show submenu for each properties file (like Tools->Crowdin->flavor1->Upload Sources; Tools->Crowdin->flavor2-> Upload Sources) ?

Always failed to upload source strings.

Describe the bug
It is very strange, the Crowdin Plugin 1.2.0 is always failed to upload source strings even from a brand new demo project.

To Reproduce
Steps to reproduce the behavior:

  1. Install the plugin from Android Studio > settings > plugins > repository. Restart the IDE to make it available.
  2. Add the crowdin.properties file to the root of project.
  3. Just add two lines into it: project-id (numeric) and api-token, i could confirm these parameters are correct because i can see API call in my Crowdin UI (project settings > API & Webhooks > Calls History).
  4. Once done, change the source string (auto upload), or click the "Tools > Crowdin > Upload sources" button manually.
  5. The plugin shows me "Could not upload source strings" every time.

Environment:
Android Studio version 4.0.1

Expected behavior
Work like it said in the docs.

Screenshots
351F9D8E-71CB-4A0C-953C-D4DF5F1C4E87

Allow putting api-token in the external file outside VCS directory

Is your feature request related to a problem? Please describe.
As a security measure, especially for opensource projects, it would be great to have an option of placing Crowdin api-key outside of version control.

Describe the solution you'd like

  • Crowdin CLI client already reads .crowdin.yml with the highest priority.
  • Add option to set file name with api-key (~ as gradle does for signing key passwords).

Describe alternatives you've considered
Currently, if someone wants to use this plugin, the only solution is adding crowdin.properties to .gitignore. Or using CLI client instead of AS Plugin.

Error getting git branch name

Describe the bug
A clear and concise description of what the bug is.

To Reproduce

image

Environment:
Windows 10

image

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Error getting git branch name: EventQueue.isDispatchThread()=false Current thread: Thread[ApplicationImpl pooled thread 259,4,main] 668718099 SystemEventQueueThread: Thread[AWT-EventQueue-0,6,main] 296470702

Additional context

Run the plugin in Debug mode and provide an extended log.
To enable Debug mode add debug=true to the crowdin.properties file.

Branch name can't contain any of the following characters: \ / : * ? " < > |

Describe the bug
Looks like I can't use / in my branch name. for example: poc/crowdin, will throw Crowdin: Branch name can't contain any of the following characters: \ / : * ? " < > |

To Reproduce
Steps to reproduce the behavior:

  1. Create branch with a / -> git checkout -b poc/crowdin
  2. Run Gradle Sync from Android Studio
  3. Tap refresh data in Crowdin Android Studio Plugin window
  4. Check Android Studio's Event Log window

Environment:

  1. Android Studio version: Chipmunk 2021.2.1
  2. OS version: macOS Monterey (12.2.1)

Expected behavior
A clear and concise description of what you expected to happen.
Expect to sync with Crowdin backend

Screenshots
Screen Shot 2022-08-15 at 2 01 38 PM

Additional context

Run the plugin in Debug mode and provide an extended log.
To enable Debug mode add debug=true to the crowdin.properties file.

2:02 PM	Crowdin
        2022-08-15 14:02:13.635 ERROR : java.lang.RuntimeException: Branch name can't contain any of the following characters: \ / : * ? " < > |
        at com.crowdin.util.ActionUtils.getBranchName(ActionUtils.java:14)
        at com.crowdin.ui.action.RefreshTranslationProgressAction.performInBackground(RefreshTranslationProgressAction.java:79)
        at com.crowdin.action.BackgroundAction$1.run(BackgroundAction.java:31)
        at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:450)
        at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:117)
        at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:510)
        at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:243)
        at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:183)
        at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicat... (show balloon)

2:02 PM	Crowdin: Branch name can't contain any of the following characters: \ / : * ? " < > |

New import options for translations upload

Is your feature request related to a problem? Please describe.

Currently, the "Upload Translations" option is not configurable and doesn't allow applying additional import options to the uploaded translations.

The Upload Translations API supports the following request parameters:

  • importEqSuggestions - Defines whether to add translation if it's the same as the source string
  • autoApproveImported - Mark uploaded translations as approved
  • translateHidden - Allow translations upload to hidden source strings

Describe the solution you'd like

  1. Add a new configuration options to the crowdin.properties configuration file:
# Applies to the default behavior and all filegroups that do not have such a configuration
import-eq-suggestions=true/false
auto-approve-imported=true/false
translate-hidden=true/false

# Ability to configure for specific file groups
# higher priority
files.1.import-eq-suggestions=true/false
files.1.auto-approve-imported=true/false
files.1.translate-hidden=true/false

files.2.import-eq-suggestions=true/false
...
  1. Pass new values from the config to the UploadTranslationsAction > RequestBuilder.uploadTranslation
  2. Describe new configurations in the Readme.

Downloading translations failed - debug logging?

Hi I'm currently trying to use this plugin in IntelliJ IDEA. I've created the crowdin.properties with project-key and project-identifier in it. When I try to download the translations I get "Downloading translations failed". I tried tailing the idea.log but there are no entries that appear in there at all.

Possible to add some debug logging or instructions to troubleshoot?

Download a specific Translations not all translations

In my Android project i have many Flavors, each flavor have some languages, so i need for example for flavor "X" to download only the translations of two languages, and for Flavor "Y" i want to download the translations of four languages, But what I see in crowdin Android Studio plugin, I can't choose a specific languages to download.

I try Tools -> Crowdin -> download Translations ,but it download all supported languages in my crowdin project.

Can I configure that ? or this feature is not supported yet ?

I try also to change the languages that i need for a specific source file Strings.XML,

Capture d’écran du 2021-05-19 10-44-19

and try again Tools -> Crowdin -> download Translations but i got this warning message
Capture d’écran du 2021-05-19 10-50-14

Add ability to user one more of crowdin.properties in main project

I have several flavors in a project and want to use a separate project in crowdin for each flavor. But now i can't specify several crowdin.properties in one project.

If we add the ability to use one more of crowdin.properties files, so we can config each one for a separate project on Crowdin

Best Regards,
Nouha.

Downloading translations no longer works

Information

I turned on the debug log and downloaded the translations again, then it worked immediately!

To switch on the debug log, simply add debug=true to the crowdin.properties file.

However, I would like to document the behaviour here.

Bug Report

Describe the bug
Recently, I can no longer download the translations in Android Studio. I get the following error message:

14:37	Crowdin
				The translations with unfound sources:
				- /master/values-hu-rHU/strings.xml
				- /master/values-vi-rVN/strings.xml
				- /master/values-iw-rIL/strings.xml
				- /master/values-hr-rHR/strings.xml
				- /master/values-uk-rUA/strings.xml
				- /master/values-cs-rCZ/strings.xml
				- /master/values-eo-rUY/strings.xml
				- /master/values-ka-rGE/strings.xml
				- /master/values-it-rIT/strings.xml

I started the download as follows:
Bildschirmfoto von 2021-05-07 14-49-10

The structure of the project looks like this:
image

In Android Studio I checked out the master branch.

When I re-upload the source file, the structure looks like this:
image

Environment:

  1. Android Studio version [4.2] (Flatpak)
  2. Fedora Linux 34

Expected behavior
The downloading of translations must work again as before.

Additional context

4:54	Crowdin: 2021-05-07 14:54:19.238 DEBUG : Crowdin plugin started action

14:54	Crowdin: 2021-05-07 14:54:22.512 DEBUG : Using branch with id #2 and name 'master'

14:54	Crowdin: 2021-05-07 14:54:22.512 DEBUG : Downloading archive with translation files

14:54	Crowdin: 2021-05-07 14:54:32.764 DEBUG : Extracting all downloaded files to temporary directory '/home/remo/AndroidStudioProjects/Headi/all122814043905078'

14:54	Crowdin: 2021-05-07 14:54:32.782 DEBUG : Translation file '/values-es-rES/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.782 DEBUG : Translation file '/values-pl-rPL/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.782 DEBUG : Translation file '/values-cs-rCZ/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.782 DEBUG : Translation file '/values-eo-rUY/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.782 DEBUG : Translation file '/values-hr-rHR/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.783 DEBUG : Translation file '/values-de-rCH/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.783 DEBUG : Translation file '/values-sv-rSE/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.783 DEBUG : Translation file '/values-vi-rVN/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.783 DEBUG : Translation file '/values-it-rIT/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.783 DEBUG : Translation file '/values-el-rGR/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.783 DEBUG : Translation file '/values-fr-rFR/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.783 DEBUG : Translation file '/values-nl-rNL/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.783 DEBUG : Translation file '/values-pt-rBR/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.783 DEBUG : Translation file '/values-ro-rRO/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-uk-rUA/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-hu-rHU/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-ar-rSA/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-ru-rRU/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-no-rNO/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-tr-rTR/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-ca-rES/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-iw-rIL/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-da-rDK/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-fi-rFI/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-ka-rGE/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.784 DEBUG : Translation file '/values-et-rEE/strings.xml' - Found

14:54	Crowdin: 2021-05-07 14:54:32.790 DEBUG : Clearing - deleting archive and temporary directory

14:54	Crowdin: Translations downloaded successfully

crowding.properties can't find environment variables from ~/.zprofile

Describe the bug
I have crowdin.properties

project-id=my_project_id
api-token-env=CROWDIN_API_KEY
disable-branches=true
auto-upload=false
files.source=/app/src/main/res/values/strings.xml
files.translation=/app/src/main/res/values-%two_letters_code%/%original_file_name%

And I added environment variable to the ~/.zprofile
export CROWDIN_API_KEY=my_personal_access_token

In terminal using printenv or echo $CROWDIN_API_KEY I see value of CROWDIN_API_KEY even after restart Mac OS, but when I start Android Studio or trying to use Crowdin plugin I see an error
Crowdin
Errors in the configuration file:
Environment variables do not contain 'CROWDIN_API_KEY' key

But when I set environment variable using launchctl setenv CROWDIN_API_KEY my_personal_access_token Crowdin plugin see value of the CROWDIN_API_KEY variable and everything works fine until I restart Mac OS (after restart I don't see this variable neither in terminal or Android Studio).

Can you help me and say why plugin doesn't see variables from the ~/.zprofile but see from launchctl setenv, or I should add environment variable in another way that it will be visible for plugin (like launchctl setenv ) and won't be erased after Mac restart (like ~/.zprofile)?

Environment:
Android Studio Arctic Fox | 2020.3.1
Build #AI-203.7717.56.2031.7583922, built on July 26, 2021
macOS 11.5.2
Crowdin Android Studio plugin 1.4.1

Unfound sources when downloading translations

Crowdin can't find sources for all translations when Tools -> Crowdin -> Download Translations

I have read documentation for like 10 times. Could not understand how files.source and files.translation should look. A tried multiple variants, but according to documentation process should work without this properties. So maybe this is bug.
I'll show everything in screenshots maybe you guys will have answers. It would help me a lot)

  1. Android Studio version 4.2.1
  2. OS version: macOS Big Sur 11.4

Download Translations should fill strings files with translations, but nothing happens.

Log with debug=true:

Log

Project structure inside res folder:

res

Files structure in Crowdin:

Files

crowdin.properties:

properties

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.