To simplify similar language metadata for itunes connect - app-store-connect

itunes-connect has some similar languages like en-US, en-UK,en-AU
I would like to use the same screenshots and descriptions for these languages.
For now, I made each folder for this kind of similar languages.
For example
metadata/
en-US
en-UK(copy from en-US)
en-AU(copy from en-AU)
screenshots/
en-US
en-UK(copy from en-US)
en-AU(copy from en-AU)
However it is a bit redundant and awkward.
Is there any work around way to solve this?

If you don't use different screenshots/metadata, why do you need localizations in the first place?
Example: If you only have "en-US" as language, all other stores/languages will fallback to "en-US", so there is no need to activate the other languages.
Back to the original question:
Apple introduced the "Media Manager" some time ago. It allows you to re-use the primary language's screenshots for other locales. You can also upload only the highest resolution screenshots (5.5inch & 12.9inch) and let Apple scale them appropriately for smaller devices.
With regards to metadata (description, URLs, keywords etc.) there is no wait to automatically copy over the information in iTunes Connect. Even though if you add a new language it will automatically copy over the current (!) values of the primary locale. Shameless plug here: Use 3rd party tools like Transporter (UI). For Fastlane you just have to copy & paste the information. There is currently no plugin or action that does that for you.

Related

Can Intellij IDEA (14 Ultimate) generate regex based TODO-comments?

A few years back i worked in a company where i could press CTRL+T and a TODO-comment was generated - say my ID to be identified by other developers was xy45 then the generated comment was:
//TODO (xy45):
Is something available from within Intellij 14 Ultimate or did they write their own plugin for it?
What i tried: Webreserach, Jetbrais documentations - it looks like its not possible out of the box (i however ask before i write a plugin for it) or masked by the various search results regarding the TODO-view (due to bad research skills of mine).
There is no built-in feature in IntelliJ IDEA to generate such comments, so it looks like they did write their own plugin.
Found something that works quite similar but is not boundable to a shortcut:
File -> Settings -> Live Templates
I guess the picture says enoth to allow customization (consult the Jetbrains documentation for more possibilities). E.g. browse to the Live Template section within the settings, add a new Live Template (small green cross, upper right corner in the above picture) and set the context where this Live Template is applicable.
Note: Once you defined the Live Template to be applicable within Java (...Change in the above image where the red exclamation marks are shown) context you can just type "t", "todo" and hit CTRL+Space (or the shortcut you defined for code completion).
I suggest to reconsider using that practice at all. Generally you should not include redundant information which is easily and more reliably accessible through your Version Control System (easily available in Idea directly in editor using Annotate feature). It is similiar to not using javadoc tag #author as the information provided with it is often outdated inaccurate and redundant. Additionaly, I don´t think author of TODO is that much valuable information. Person who will solve the issue will often be completly different person and the TODO should be well documented and descriptive anyway. When you find your own old TODO, which is poorly documented, you often don't remember all the required information even if you were the author.
However, instead of adding author's name, a good practice is to create a task in you issue management system and add identifier of this task to the description of the todo. This way you have all your todos in evidence at one place, you can add additional information to the task, track progress, assign it etc. My experience is that if you don´t use this, todos tend to stay in the code forever and after some time no one remembers clearly the details of the problem. Additionaly, author mentioned in the todo is often already gone working for a different company.
Annotated TODO with issue ID

Where does CurrentUICulture setting reside in Windows 7 from a .NET app perspective?

I would like to test how my app would work under different cultures.
So for testing purposes, under Windows 7, I tried to change CurrentUICulture in system settings.
This seems to be the right option: Language for non-Unicode programs as suggested here, but it does not work, i.e. app's locale is still English.
I also tried this in Region and Language dialog:
Formats: change Format to another culture
Location: set current location to another country.
The question is what should I set in Windows 7 for it to affect:
Thread.CurrentThread.CurrentUICulture
instead of having to write this:
Thread.CurrentThread.CurrentUICulture = New CultureInfo("fr")
Ultimately, this code should pick the correct culture, get the correctly suffixed resource file and display it on the screen (which it does with the above line in place):
Label1.Text = My.Resources.Form1Resource.TestString
A similar question has been asked on StackOverflow, but none of the answers addressed this issue.
The knob is on the "Keyboard and Languages" tab of the "Region and Language" control panel. Click on the "Install/uninstall languages…" button to get started. If you only have one UI language installed, you will need to install another one. The wizard should walk you through this. You will also have to log off and log back on in order to see the effect.
In most cases, the CurrentUICulture property is going to return the first language in the list of user preferred UI languages, so setting this should be sufficient. The other languages are used as fallback languages in case necessary resources are not available in the preferred language.
But the actual algorithm that CurrentUICulture uses to determine the UI culture is a bit more complicated:
First, it checks the DefaultThreadCurrentUICulture property. If that is not null, it returns whatever UI culture has been set as the default for all threads in the current application domain.
If DefaultThreadCurrentUICulture is null, it calls the GetUserDefaultUILanguage function.
That function checks to see if the current user has set a preferred UI language, just like I described at the beginning. If so, it returns that language.
If the user has not set a UI language, the function returns the UI language that is set for the system. This is done by the administrator in the "Advanced" tab of the "Region and Language" control panel and requires a reboot in order to take effect.
If there is no preferred language set for the system, then the system default UI language is used. This is either the language of the localized version of Windows (XP and earlier), or the language that was selected during installation (Vista and later).
Of course, this method of testing might be a little overkill because it's changing global settings (at least, for your entire user account). Because the current UI culture is maintained per-thread, you can modify it just for your application's thread. To do this, set the Thread.CurrentUICulture property. If your application is multi-threaded, you might want to set the DefaultThreadCurrentUICulture property to ensure that additional threads pick up the correct culture. The question says that you already found this, but I'm not clear on why you don't want to use it.
Also, be careful about confusing the UI language with the locale; they are not the same. CurrentCulture is the locale, which sets things like date/number/time formats and the sort order. CurrentUICulture is the UI language, which deals with loading the correctly localized resources. They might be the same, and I suppose they often are, but they do not have to be. There are cases where a user might want them to be different; for example, if they speak English and prefer the localized English version, but want to see things like dates and times formatted according to their custom.
You can set UI culture System.Globalization.CultureInfo.CurrentUICulture on windows machine in: Control Panel\Clock, Language, and Region\Language:
System.Globalization.CultureInfo.CurrentUICulture
And in case if you want to set System.Globalization.CultureInfo.CurrentCulture in your windows machine go to Control Panel\Clock, Language, and Region ,and select Region:
System.Globalization.CultureInfo.CurrentCulture
In your code you can just use this to get those values:
Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CurrentUICulture;
Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CurrentCulture;
Source: CurrentCulture vs. CurrentUICulture
So I tried to install a French language pack for testing purposes, using different ways and they all failed. Both offline and online installation, as is or after restart. Got error code 800736B3 (for online) or no code at all for offline installation. Tried System Update Readiness Tool for Windows 7 (a 390MB msu package), which is a most commonly known way to fix this error code. Still got the same problems with both online and offline installers. Having spend around 4-5 hours on it in total, I'm starting to understand why #Cody recommended to keep using this instead (for testing purposes):
Thread.CurrentThread.CurrentUICulture = New CultureInfo("fr")

How to add your own programming language to IDE?

There is the simple interpretive programming language and, actually, console interpreter.exe.
Need to make colorizing of syntax, autocomplete and executing by press F5.
(if it is possible to make 'debug' - that will be awesome!)
I never did such things.
There are many IDE, which allow to add lang.: eclipse, NetBeans, emacs, ...
But I did not found complete instruction to add or they are ununderstandable.
What IDE is best to use? to add lang. as easy as possible?
(it will be cool, if IDE can work in Windows)
How to add my language there?
Please, if it is possible to give complete instruction.
Depending on how far you really want to go there are multiple options:
Dumb Autocompletion for text editors:
There are editors like scite aka Notepad++, that take a simple textfile with all the keywords to give you autocompletion, but they don't take into account the syntax nor the context. All they do is to highlight the words they know (e.g. you have given to them) and to autocomplete just these terms.
Smarter Syntax Highlighting:
This would require you to get used to the tools lex and yacc, if we are talking open source. I don't know which proprietary source tools are out there. If you want to get into that, there are several good pages on that topic, and this is one of them.
Compile it all the time:
A simple but effective method for small projects would be just to compile it once every few seconds, and interpret the output. This would be the messy version, but might be fun to look into.
The documentation for adding a new editor to Eclipse looks fairly straightforward:
http://wiki.eclipse.org/FAQ_How_do_I_write_an_editor_for_my_own_language%3F
This covers syntax color highlighting and autocomplete. I imagine you can also create a launch profile in the same plugin

How do I Enable pasting a password into a NSSecureTextField?

For some reason some users of my application have to paste content into a NSSecureTextField , mostly because they're using tools to manage/generate their passwords and they can't easily type them. I've been trying to figure out a way to enable this, use another component with the same behavior that would be able to accept pasting or any other way to allow this. All hints are welcome.
It's also interesting that the Apple provided docs say that cut and copy are not possible, but doesn't say anything about pasting.
In recent versions of Mac OS X (I believe in 10.5 forward) pasting is allowed. You don't have to do anything as it is available by default. For older versions of OS X it was prohibited. If you take a look at the revision log for the documentation of NSSecureTextFieldCell it states:
2007-10-31 Removed the statement that
pasting is not allowed

Automatic screenshot uploading on Mac like Cloud App

Cloud App has this neat feature wherein it automatically uploads new screenshots as they are added to the Desktop. Any ideas how this is done?
You can do similar things yourself without much in the way of programming. In OSX, you can configure "Folder Actions" to run a script, for example, when a new item appears in a folder, including the Desktop. You can then use the script to do whatever you want with the new files.
This article at TUAW includes an example of uploading files to a web server when they hit a particular folder.
So, basically, the answer is "Folder Actions", or "something's keeping an eye on the folder and sending notifications", at some level. Whether Cloud App uses Folder Actions or watches the folder itself at a lower level, using FSEvents/NSWorkspace, or the kqueue mechanisms (for which there's a nice wrapper class called UKKQueue, if I remember correctly -- don't know how current my knowledge is on that one though!) is another matter...
You could implement this at several different levels, depending on the outcome you want, how you want to design whatever it is you're actually doing, and even what kind of filesystem you're targeting. Fundamentally, in Cocoa/Objective C, I think you probably want to start looking at FSEvents.
Once you've got notifications of the file changes, I'd probably use something like ConnectionKit to do the uploading -- any library at all, really, that means you don't have to bother with the sockets level yourself -- but again, there's a lot of different ways.
Depends, really, what level you're looking to solve the problem at, and whether you want to build something for other people or get something working for yourself. If I just wanted to bash something together for myself, I could probably have something cobbled together using Coda's Transmit app, and Folder Actions, or maybe Hazel, and a minimal bit of Applescript, in a half-hour at most, that would do the job well enough for me...
I am not sure what you are asking for exactly. If you are asking for a way to take a screenshot programmatically in MacOSX, I suggest you have a look at the "screencapture" command (in the terminal, type "man screencapture" for doc).
If you want to do it the "hard" way, you should look at this.